aboutsummaryrefslogtreecommitdiffstats
path: root/sound/aoa
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2006-06-29 19:57:46 -0400
committerLen Brown <len.brown@intel.com>2006-06-29 19:57:46 -0400
commitd120cfb544ed6161b9d32fb6c4648c471807ee6b (patch)
tree7757ad0198d8df76ff5c60f939a687687c41da00 /sound/aoa
parent9dce0e950dbfab4148f35ac6f297d8638cdc63c4 (diff)
parentbf7e8511088963078484132636839b59e25cf14f (diff)
merge linus into release branch
Conflicts: drivers/acpi/acpi_memhotplug.c
Diffstat (limited to 'sound/aoa')
-rw-r--r--sound/aoa/Kconfig3
-rw-r--r--sound/aoa/core/snd-aoa-gpio-feature.c15
-rw-r--r--sound/aoa/fabrics/snd-aoa-fabric-layout.c14
-rw-r--r--sound/aoa/soundbus/Kconfig3
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
4config SND_AOA 4config 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(&notif->mutex); 207 mutex_unlock(&notif->mutex);
208} 208}
209 209
210static 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
210static void ftr_gpio_init(struct gpio_runtime *rt) 221static 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");
94MODULE_ALIAS("sound-layout-84"); 94MODULE_ALIAS("sound-layout-84");
95MODULE_ALIAS("sound-layout-86"); 95MODULE_ALIAS("sound-layout-86");
96MODULE_ALIAS("sound-layout-92"); 96MODULE_ALIAS("sound-layout-92");
97MODULE_ALIAS("sound-layout-96");
97 98
98/* onyx with all but microphone connected */ 99/* onyx with all but microphone connected */
99static struct codec_connection onyx_connections_nomic[] = { 100static 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 @@
1config SND_AOA_SOUNDBUS 1config 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.