diff options
author | Len Brown <len.brown@intel.com> | 2006-06-29 19:57:46 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-06-29 19:57:46 -0400 |
commit | d120cfb544ed6161b9d32fb6c4648c471807ee6b (patch) | |
tree | 7757ad0198d8df76ff5c60f939a687687c41da00 /sound/aoa | |
parent | 9dce0e950dbfab4148f35ac6f297d8638cdc63c4 (diff) | |
parent | bf7e8511088963078484132636839b59e25cf14f (diff) |
merge linus into release branch
Conflicts:
drivers/acpi/acpi_memhotplug.c
Diffstat (limited to 'sound/aoa')
-rw-r--r-- | sound/aoa/Kconfig | 3 | ||||
-rw-r--r-- | sound/aoa/core/snd-aoa-gpio-feature.c | 15 | ||||
-rw-r--r-- | sound/aoa/fabrics/snd-aoa-fabric-layout.c | 14 | ||||
-rw-r--r-- | sound/aoa/soundbus/Kconfig | 3 |
4 files changed, 27 insertions, 8 deletions
diff --git a/sound/aoa/Kconfig b/sound/aoa/Kconfig index a85194fe0b06..2f4334d19ccd 100644 --- a/sound/aoa/Kconfig +++ b/sound/aoa/Kconfig | |||
@@ -3,7 +3,8 @@ menu "Apple Onboard Audio driver" | |||
3 | 3 | ||
4 | config SND_AOA | 4 | config SND_AOA |
5 | tristate "Apple Onboard Audio driver" | 5 | tristate "Apple Onboard Audio driver" |
6 | depends on SOUND && SND_PCM | 6 | depends on SND |
7 | select SND_PCM | ||
7 | ---help--- | 8 | ---help--- |
8 | This option enables the new driver for the various | 9 | This option enables the new driver for the various |
9 | Apple Onboard Audio components. | 10 | Apple Onboard Audio components. |
diff --git a/sound/aoa/core/snd-aoa-gpio-feature.c b/sound/aoa/core/snd-aoa-gpio-feature.c index 2c6eb7784cc9..bab97547a052 100644 --- a/sound/aoa/core/snd-aoa-gpio-feature.c +++ b/sound/aoa/core/snd-aoa-gpio-feature.c | |||
@@ -207,6 +207,17 @@ static void ftr_handle_notify(void *data) | |||
207 | mutex_unlock(¬if->mutex); | 207 | mutex_unlock(¬if->mutex); |
208 | } | 208 | } |
209 | 209 | ||
210 | static void gpio_enable_dual_edge(int gpio) | ||
211 | { | ||
212 | int v; | ||
213 | |||
214 | if (gpio == -1) | ||
215 | return; | ||
216 | v = pmac_call_feature(PMAC_FTR_READ_GPIO, NULL, gpio, 0); | ||
217 | v |= 0x80; /* enable dual edge */ | ||
218 | pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL, gpio, v); | ||
219 | } | ||
220 | |||
210 | static void ftr_gpio_init(struct gpio_runtime *rt) | 221 | static void ftr_gpio_init(struct gpio_runtime *rt) |
211 | { | 222 | { |
212 | get_gpio("headphone-mute", NULL, | 223 | get_gpio("headphone-mute", NULL, |
@@ -234,6 +245,10 @@ static void ftr_gpio_init(struct gpio_runtime *rt) | |||
234 | &linein_detect_gpio, | 245 | &linein_detect_gpio, |
235 | &linein_detect_gpio_activestate); | 246 | &linein_detect_gpio_activestate); |
236 | 247 | ||
248 | gpio_enable_dual_edge(headphone_detect_gpio); | ||
249 | gpio_enable_dual_edge(lineout_detect_gpio); | ||
250 | gpio_enable_dual_edge(linein_detect_gpio); | ||
251 | |||
237 | get_irq(headphone_detect_node, &headphone_detect_irq); | 252 | get_irq(headphone_detect_node, &headphone_detect_irq); |
238 | get_irq(lineout_detect_node, &lineout_detect_irq); | 253 | get_irq(lineout_detect_node, &lineout_detect_irq); |
239 | get_irq(linein_detect_node, &linein_detect_irq); | 254 | get_irq(linein_detect_node, &linein_detect_irq); |
diff --git a/sound/aoa/fabrics/snd-aoa-fabric-layout.c b/sound/aoa/fabrics/snd-aoa-fabric-layout.c index 04a7238e9494..cbc8a3b5cea4 100644 --- a/sound/aoa/fabrics/snd-aoa-fabric-layout.c +++ b/sound/aoa/fabrics/snd-aoa-fabric-layout.c | |||
@@ -94,6 +94,7 @@ MODULE_ALIAS("sound-layout-82"); | |||
94 | MODULE_ALIAS("sound-layout-84"); | 94 | MODULE_ALIAS("sound-layout-84"); |
95 | MODULE_ALIAS("sound-layout-86"); | 95 | MODULE_ALIAS("sound-layout-86"); |
96 | MODULE_ALIAS("sound-layout-92"); | 96 | MODULE_ALIAS("sound-layout-92"); |
97 | MODULE_ALIAS("sound-layout-96"); | ||
97 | 98 | ||
98 | /* onyx with all but microphone connected */ | 99 | /* onyx with all but microphone connected */ |
99 | static struct codec_connection onyx_connections_nomic[] = { | 100 | static struct codec_connection onyx_connections_nomic[] = { |
@@ -381,6 +382,13 @@ static struct layout layouts[] = { | |||
381 | .connections = toonie_connections, | 382 | .connections = toonie_connections, |
382 | }, | 383 | }, |
383 | }, | 384 | }, |
385 | { | ||
386 | .layout_id = 96, | ||
387 | .codecs[0] = { | ||
388 | .name = "onyx", | ||
389 | .connections = onyx_connections_noheadphones, | ||
390 | }, | ||
391 | }, | ||
384 | /* unknown, untested, but this comes from Apple */ | 392 | /* unknown, untested, but this comes from Apple */ |
385 | { .layout_id = 41, | 393 | { .layout_id = 41, |
386 | .codecs[0] = { | 394 | .codecs[0] = { |
@@ -479,12 +487,6 @@ static struct layout layouts[] = { | |||
479 | .connections = onyx_connections_noheadphones, | 487 | .connections = onyx_connections_noheadphones, |
480 | }, | 488 | }, |
481 | }, | 489 | }, |
482 | { .layout_id = 96, | ||
483 | .codecs[0] = { | ||
484 | .name = "onyx", | ||
485 | .connections = onyx_connections_noheadphones, | ||
486 | }, | ||
487 | }, | ||
488 | { .layout_id = 98, | 490 | { .layout_id = 98, |
489 | .codecs[0] = { | 491 | .codecs[0] = { |
490 | .name = "toonie", | 492 | .name = "toonie", |
diff --git a/sound/aoa/soundbus/Kconfig b/sound/aoa/soundbus/Kconfig index d532d27a9f54..7368b7ddfe0d 100644 --- a/sound/aoa/soundbus/Kconfig +++ b/sound/aoa/soundbus/Kconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | config SND_AOA_SOUNDBUS | 1 | config SND_AOA_SOUNDBUS |
2 | tristate "Apple Soundbus support" | 2 | tristate "Apple Soundbus support" |
3 | depends on SOUND && SND_PCM && EXPERIMENTAL | 3 | depends on SOUND |
4 | select SND_PCM | ||
4 | ---help--- | 5 | ---help--- |
5 | This option enables the generic driver for the soundbus | 6 | This option enables the generic driver for the soundbus |
6 | support on Apple machines. | 7 | support on Apple machines. |