Commit 3a691b28 authored by Clemens Ladisch's avatar Clemens Ladisch Committed by Takashi Iwai

ALSA: add Apple iSight microphone driver

This adds an experimental driver for the front and rear microphones of
the Apple iSight web camera.
Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent d7ba858a
...@@ -22,4 +22,16 @@ config SND_FIREWIRE_SPEAKERS ...@@ -22,4 +22,16 @@ config SND_FIREWIRE_SPEAKERS
To compile this driver as a module, choose M here: the module To compile this driver as a module, choose M here: the module
will be called snd-firewire-speakers. will be called snd-firewire-speakers.
config SND_ISIGHT
tristate "Apple iSight microphone (EXPERIMENTAL)"
depends on EXPERIMENTAL
select SND_PCM
select SND_FIREWIRE_LIB
help
Say Y here to include support for the front and rear microphones
of the Apple iSight web camera.
To compile this driver as a module, choose M here: the module
will be called snd-isight.
endif # SND_FIREWIRE endif # SND_FIREWIRE
snd-firewire-lib-objs := lib.o iso-resources.o packets-buffer.o \ snd-firewire-lib-objs := lib.o iso-resources.o packets-buffer.o \
fcp.o cmp.o amdtp.o fcp.o cmp.o amdtp.o
snd-firewire-speakers-objs := speakers.o snd-firewire-speakers-objs := speakers.o
snd-isight-objs := isight.o
obj-$(CONFIG_SND_FIREWIRE_LIB) += snd-firewire-lib.o obj-$(CONFIG_SND_FIREWIRE_LIB) += snd-firewire-lib.o
obj-$(CONFIG_SND_FIREWIRE_SPEAKERS) += snd-firewire-speakers.o obj-$(CONFIG_SND_FIREWIRE_SPEAKERS) += snd-firewire-speakers.o
obj-$(CONFIG_SND_ISIGHT) += snd-isight.o
This diff is collapsed.
...@@ -36,6 +36,7 @@ int fw_iso_resources_init(struct fw_iso_resources *r, struct fw_unit *unit) ...@@ -36,6 +36,7 @@ int fw_iso_resources_init(struct fw_iso_resources *r, struct fw_unit *unit)
return 0; return 0;
} }
EXPORT_SYMBOL(fw_iso_resources_init);
/** /**
* fw_iso_resources_destroy - destroy a resource manager * fw_iso_resources_destroy - destroy a resource manager
...@@ -48,6 +49,7 @@ void fw_iso_resources_destroy(struct fw_iso_resources *r) ...@@ -48,6 +49,7 @@ void fw_iso_resources_destroy(struct fw_iso_resources *r)
mutex_destroy(&r->mutex); mutex_destroy(&r->mutex);
fw_unit_put(r->unit); fw_unit_put(r->unit);
} }
EXPORT_SYMBOL(fw_iso_resources_destroy);
static unsigned int packet_bandwidth(unsigned int max_payload_bytes, int speed) static unsigned int packet_bandwidth(unsigned int max_payload_bytes, int speed)
{ {
...@@ -152,6 +154,7 @@ int fw_iso_resources_allocate(struct fw_iso_resources *r, ...@@ -152,6 +154,7 @@ int fw_iso_resources_allocate(struct fw_iso_resources *r,
return channel; return channel;
} }
EXPORT_SYMBOL(fw_iso_resources_allocate);
/** /**
* fw_iso_resources_update - update resource allocations after a bus reset * fw_iso_resources_update - update resource allocations after a bus reset
...@@ -203,6 +206,7 @@ int fw_iso_resources_update(struct fw_iso_resources *r) ...@@ -203,6 +206,7 @@ int fw_iso_resources_update(struct fw_iso_resources *r)
return channel; return channel;
} }
EXPORT_SYMBOL(fw_iso_resources_update);
/** /**
* fw_iso_resources_free - frees allocated resources * fw_iso_resources_free - frees allocated resources
...@@ -230,3 +234,4 @@ void fw_iso_resources_free(struct fw_iso_resources *r) ...@@ -230,3 +234,4 @@ void fw_iso_resources_free(struct fw_iso_resources *r)
mutex_unlock(&r->mutex); mutex_unlock(&r->mutex);
} }
EXPORT_SYMBOL(fw_iso_resources_free);
...@@ -60,6 +60,7 @@ int iso_packets_buffer_init(struct iso_packets_buffer *b, struct fw_unit *unit, ...@@ -60,6 +60,7 @@ int iso_packets_buffer_init(struct iso_packets_buffer *b, struct fw_unit *unit,
error: error:
return err; return err;
} }
EXPORT_SYMBOL(iso_packets_buffer_init);
/** /**
* iso_packets_buffer_destroy - frees packet buffer resources * iso_packets_buffer_destroy - frees packet buffer resources
...@@ -72,3 +73,4 @@ void iso_packets_buffer_destroy(struct iso_packets_buffer *b, ...@@ -72,3 +73,4 @@ void iso_packets_buffer_destroy(struct iso_packets_buffer *b,
fw_iso_buffer_destroy(&b->iso_buffer, fw_parent_device(unit)->card); fw_iso_buffer_destroy(&b->iso_buffer, fw_parent_device(unit)->card);
kfree(b->packets); kfree(b->packets);
} }
EXPORT_SYMBOL(iso_packets_buffer_destroy);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment