提交 55c385ad 编写于 作者: J Johannes Berg 提交者: Jaroslav Kysela

[ALSA] snd-powermac: no longer handle anything with a layout-id property

This patch removes from snd-powermac the code that check for the layout-id
and instead adds code that makes it refuse loading when a layout-id property
is present, nothing that snd-aoa should be used.
It also removes the 'toonie' codec from snd-powermac which was only ever
used on the mac mini which has a layout-id property.
Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 f3d9478b
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# Copyright (c) 2001 by Jaroslav Kysela <perex@suse.cz> # Copyright (c) 2001 by Jaroslav Kysela <perex@suse.cz>
# #
snd-powermac-objs := powermac.o pmac.o awacs.o burgundy.o daca.o tumbler.o toonie.o keywest.o beep.o snd-powermac-objs := powermac.o pmac.o awacs.o burgundy.o daca.o tumbler.o keywest.o beep.o
# Toplevel Module Dependency # Toplevel Module Dependency
obj-$(CONFIG_SND_POWERMAC) += snd-powermac.o obj-$(CONFIG_SND_POWERMAC) += snd-powermac.o
...@@ -867,8 +867,6 @@ static int __init snd_pmac_detect(struct snd_pmac *chip) ...@@ -867,8 +867,6 @@ static int __init snd_pmac_detect(struct snd_pmac *chip)
unsigned int *prop, l; unsigned int *prop, l;
struct macio_chip* macio; struct macio_chip* macio;
u32 layout_id = 0;
if (!machine_is(powermac)) if (!machine_is(powermac))
return -ENODEV; return -ENODEV;
...@@ -929,8 +927,14 @@ static int __init snd_pmac_detect(struct snd_pmac *chip) ...@@ -929,8 +927,14 @@ static int __init snd_pmac_detect(struct snd_pmac *chip)
if (prop && *prop < 16) if (prop && *prop < 16)
chip->subframe = *prop; chip->subframe = *prop;
prop = (unsigned int *) get_property(sound, "layout-id", NULL); prop = (unsigned int *) get_property(sound, "layout-id", NULL);
if (prop) if (prop) {
layout_id = *prop; /* partly deprecate snd-powermac, for those machines
* that have a layout-id property for now */
printk(KERN_INFO "snd-powermac no longer handles any "
"machines with a layout-id property "
"in the device-tree, use snd-aoa.\n");
return -ENODEV;
}
/* This should be verified on older screamers */ /* This should be verified on older screamers */
if (device_is_compatible(sound, "screamer")) { if (device_is_compatible(sound, "screamer")) {
chip->model = PMAC_SCREAMER; chip->model = PMAC_SCREAMER;
...@@ -963,38 +967,6 @@ static int __init snd_pmac_detect(struct snd_pmac *chip) ...@@ -963,38 +967,6 @@ static int __init snd_pmac_detect(struct snd_pmac *chip)
chip->freq_table = tumbler_freqs; chip->freq_table = tumbler_freqs;
chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */ chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */
} }
if (device_is_compatible(sound, "AOAKeylargo") ||
device_is_compatible(sound, "AOAbase") ||
device_is_compatible(sound, "AOAK2")) {
/* For now, only support very basic TAS3004 based machines with
* single frequency until proper i2s control is implemented
*/
switch(layout_id) {
case 0x24:
case 0x29:
case 0x33:
case 0x46:
case 0x48:
case 0x50:
case 0x5c:
chip->num_freqs = ARRAY_SIZE(tumbler_freqs);
chip->model = PMAC_SNAPPER;
chip->can_byte_swap = 0; /* FIXME: check this */
chip->control_mask = MASK_IEPC | 0x11;/* disable IEE */
break;
case 0x3a:
chip->num_freqs = ARRAY_SIZE(tumbler_freqs);
chip->model = PMAC_TOONIE;
chip->can_byte_swap = 0; /* FIXME: check this */
chip->control_mask = MASK_IEPC | 0x11;/* disable IEE */
break;
default:
printk(KERN_ERR "snd: Unknown layout ID 0x%x\n",
layout_id);
return -ENODEV;
}
}
prop = (unsigned int *)get_property(sound, "device-id", NULL); prop = (unsigned int *)get_property(sound, "device-id", NULL);
if (prop) if (prop)
chip->device_id = *prop; chip->device_id = *prop;
......
...@@ -85,7 +85,7 @@ struct pmac_stream { ...@@ -85,7 +85,7 @@ struct pmac_stream {
enum snd_pmac_model { enum snd_pmac_model {
PMAC_AWACS, PMAC_SCREAMER, PMAC_BURGUNDY, PMAC_DACA, PMAC_TUMBLER, PMAC_AWACS, PMAC_SCREAMER, PMAC_BURGUNDY, PMAC_DACA, PMAC_TUMBLER,
PMAC_SNAPPER, PMAC_TOONIE PMAC_SNAPPER
}; };
struct snd_pmac { struct snd_pmac {
...@@ -188,7 +188,6 @@ int snd_pmac_burgundy_init(struct snd_pmac *chip); ...@@ -188,7 +188,6 @@ int snd_pmac_burgundy_init(struct snd_pmac *chip);
int snd_pmac_daca_init(struct snd_pmac *chip); int snd_pmac_daca_init(struct snd_pmac *chip);
int snd_pmac_tumbler_init(struct snd_pmac *chip); int snd_pmac_tumbler_init(struct snd_pmac *chip);
int snd_pmac_tumbler_post_init(void); int snd_pmac_tumbler_post_init(void);
int snd_pmac_toonie_init(struct snd_pmac *chip);
/* i2c functions */ /* i2c functions */
struct pmac_keywest { struct pmac_keywest {
......
...@@ -94,13 +94,6 @@ static int __init snd_pmac_probe(struct platform_device *devptr) ...@@ -94,13 +94,6 @@ static int __init snd_pmac_probe(struct platform_device *devptr)
if ( snd_pmac_tumbler_init(chip) < 0 || snd_pmac_tumbler_post_init() < 0) if ( snd_pmac_tumbler_init(chip) < 0 || snd_pmac_tumbler_post_init() < 0)
goto __error; goto __error;
break; break;
case PMAC_TOONIE:
strcpy(card->driver, "PMac Toonie");
strcpy(card->shortname, "PowerMac Toonie");
strcpy(card->longname, card->shortname);
if ((err = snd_pmac_toonie_init(chip)) < 0)
goto __error;
break;
case PMAC_AWACS: case PMAC_AWACS:
case PMAC_SCREAMER: case PMAC_SCREAMER:
name_ext = chip->model == PMAC_SCREAMER ? "Screamer" : "AWACS"; name_ext = chip->model == PMAC_SCREAMER ? "Screamer" : "AWACS";
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册