diff options
Diffstat (limited to 'sound/arm')
-rw-r--r-- | sound/arm/Kconfig | 1 | ||||
-rw-r--r-- | sound/arm/Makefile | 16 | ||||
-rw-r--r-- | sound/arm/aaci.c | 9 | ||||
-rw-r--r-- | sound/arm/aaci.h | 6 | ||||
-rw-r--r-- | sound/arm/pxa2xx-ac97.c | 22 | ||||
-rw-r--r-- | sound/arm/sa11xx-uda1341.c | 7 |
6 files changed, 35 insertions, 26 deletions
diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig index 2e4a5e0d16db..0864a7ce414d 100644 --- a/sound/arm/Kconfig +++ b/sound/arm/Kconfig @@ -7,6 +7,7 @@ config SND_SA11XX_UDA1341 tristate "SA11xx UDA1341TS driver (iPaq H3600)" depends on ARCH_SA1100 && SND && L3 select SND_PCM + select SND_GENERIC_DRIVER help Say Y here if you have a Compaq iPaq H3x00 handheld computer and want to use its Philips UDA 1341 audio chip. diff --git a/sound/arm/Makefile b/sound/arm/Makefile index 103f136926d9..4ef6dd00c6ee 100644 --- a/sound/arm/Makefile +++ b/sound/arm/Makefile @@ -2,12 +2,14 @@ # Makefile for ALSA # -snd-sa11xx-uda1341-objs := sa11xx-uda1341.o -snd-aaci-objs := aaci.o devdma.o -snd-pxa2xx-pcm-objs := pxa2xx-pcm.o -snd-pxa2xx-ac97-objs := pxa2xx-ac97.o - obj-$(CONFIG_SND_SA11XX_UDA1341) += snd-sa11xx-uda1341.o +snd-sa11xx-uda1341-objs := sa11xx-uda1341.o + obj-$(CONFIG_SND_ARMAACI) += snd-aaci.o -obj-$(CONFIG_SND_PXA2XX_PCM) += snd-pxa2xx-pcm.o -obj-$(CONFIG_SND_PXA2XX_AC97) += snd-pxa2xx-ac97.o +snd-aaci-objs := aaci.o devdma.o + +obj-$(CONFIG_SND_PXA2XX_PCM) += snd-pxa2xx-pcm.o +snd-pxa2xx-pcm-objs := pxa2xx-pcm.o + +obj-$(CONFIG_SND_PXA2XX_AC97) += snd-pxa2xx-ac97.o +snd-pxa2xx-ac97-objs := pxa2xx-ac97.o diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c index 08cc3ddca96f..559ead6367da 100644 --- a/sound/arm/aaci.c +++ b/sound/arm/aaci.c @@ -20,6 +20,7 @@ #include <asm/io.h> #include <asm/irq.h> +#include <asm/sizes.h> #include <asm/hardware/amba.h> #include <sound/driver.h> @@ -650,7 +651,7 @@ static int aaci_do_resume(snd_card_t *card, unsigned int state) return 0; } -static int aaci_suspend(struct amba_device *dev, u32 state) +static int aaci_suspend(struct amba_device *dev, pm_message_t state) { snd_card_t *card = amba_get_drvdata(dev); return card ? aaci_do_suspend(card) : 0; @@ -821,7 +822,7 @@ static int __devinit aaci_init_pcm(struct aaci *aaci) static unsigned int __devinit aaci_size_fifo(struct aaci *aaci) { - void *base = aaci->base + AACI_CSCH1; + void __iomem *base = aaci->base + AACI_CSCH1; int i; writel(TXCR_FEN | TXCR_TSZ16 | TXCR_TXEN, base + AACI_TXCR); @@ -877,7 +878,7 @@ static int __devinit aaci_probe(struct amba_device *dev, void *id) aaci->playback.fifo = aaci->base + AACI_DR1; for (i = 0; i < 4; i++) { - void *base = aaci->base + i * 0x14; + void __iomem *base = aaci->base + i * 0x14; writel(0, base + AACI_IE); writel(0, base + AACI_TXCR); @@ -900,6 +901,8 @@ static int __devinit aaci_probe(struct amba_device *dev, void *id) if (ret) goto out; + snd_card_set_dev(aaci->card, &dev->dev); + ret = snd_card_register(aaci->card); if (ret == 0) { dev_info(&dev->dev, "%s, fifo %d\n", aaci->card->longname, diff --git a/sound/arm/aaci.h b/sound/arm/aaci.h index d752e6426894..b2f969bc7845 100644 --- a/sound/arm/aaci.h +++ b/sound/arm/aaci.h @@ -200,8 +200,8 @@ struct aaci_runtime { - void *base; - void *fifo; + void __iomem *base; + void __iomem *fifo; struct ac97_pcm *pcm; int pcm_open; @@ -223,7 +223,7 @@ struct aaci_runtime { struct aaci { struct amba_device *dev; snd_card_t *card; - void *base; + void __iomem *base; unsigned int fifosize; /* AC'97 */ diff --git a/sound/arm/pxa2xx-ac97.c b/sound/arm/pxa2xx-ac97.c index 46052304e230..d1f9da498729 100644 --- a/sound/arm/pxa2xx-ac97.c +++ b/sound/arm/pxa2xx-ac97.c @@ -13,7 +13,7 @@ #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> -#include <linux/device.h> +#include <linux/platform_device.h> #include <linux/interrupt.h> #include <linux/wait.h> #include <linux/delay.h> @@ -132,9 +132,9 @@ static void pxa2xx_ac97_reset(ac97_t *ac97) udelay(10); GCR |= GCR_WARM_RST; pxa_gpio_mode(113 | GPIO_ALT_FN_2_OUT); - udelay(50); + udelay(500); #else - GCR |= GCR_WARM_RST|GCR_PRIRDY_IEN|GCR_SECRDY_IEN;; + GCR |= GCR_WARM_RST|GCR_PRIRDY_IEN|GCR_SECRDY_IEN; wait_event_timeout(gsr_wq, gsr_bits & (GSR_PCR | GSR_SCR), 1); #endif @@ -245,7 +245,7 @@ static pxa2xx_pcm_client_t pxa2xx_ac97_pcm_client = { #ifdef CONFIG_PM -static int pxa2xx_ac97_do_suspend(snd_card_t *card, unsigned int state) +static int pxa2xx_ac97_do_suspend(snd_card_t *card, pm_message_t state) { if (card->power_state != SNDRV_CTL_POWER_D3cold) { pxa2xx_audio_ops_t *platform_ops = card->dev->platform_data; @@ -261,7 +261,7 @@ static int pxa2xx_ac97_do_suspend(snd_card_t *card, unsigned int state) return 0; } -static int pxa2xx_ac97_do_resume(snd_card_t *card, unsigned int state) +static int pxa2xx_ac97_do_resume(snd_card_t *card) { if (card->power_state != SNDRV_CTL_POWER_D0) { pxa2xx_audio_ops_t *platform_ops = card->dev->platform_data; @@ -275,24 +275,24 @@ static int pxa2xx_ac97_do_resume(snd_card_t *card, unsigned int state) return 0; } -static int pxa2xx_ac97_suspend(struct device *_dev, u32 state, u32 level) +static int pxa2xx_ac97_suspend(struct device *_dev, pm_message_t state) { snd_card_t *card = dev_get_drvdata(_dev); int ret = 0; - if (card && level == SUSPEND_DISABLE) - ret = pxa2xx_ac97_do_suspend(card, SNDRV_CTL_POWER_D3cold); + if (card) + ret = pxa2xx_ac97_do_suspend(card, PMSG_SUSPEND); return ret; } -static int pxa2xx_ac97_resume(struct device *_dev, u32 level) +static int pxa2xx_ac97_resume(struct device *_dev) { snd_card_t *card = dev_get_drvdata(_dev); int ret = 0; - if (card && level == RESUME_ENABLE) - ret = pxa2xx_ac97_do_resume(card, SNDRV_CTL_POWER_D0); + if (card) + ret = pxa2xx_ac97_do_resume(card); return ret; } diff --git a/sound/arm/sa11xx-uda1341.c b/sound/arm/sa11xx-uda1341.c index 174bc032d1ad..6ee912259cc5 100644 --- a/sound/arm/sa11xx-uda1341.c +++ b/sound/arm/sa11xx-uda1341.c @@ -21,7 +21,7 @@ * merged HAL layer (patches from Brian) */ -/* $Id: sa11xx-uda1341.c,v 1.21 2005/01/28 19:34:04 tiwai Exp $ */ +/* $Id: sa11xx-uda1341.c,v 1.23 2005/09/09 13:22:34 tiwai Exp $ */ /*************************************************************************************************** * @@ -918,7 +918,7 @@ static int __init sa11xx_uda1341_init(void) if (card == NULL) return -ENOMEM; - sa11xx_uda1341 = kcalloc(1, sizeof(*sa11xx_uda1341), GFP_KERNEL); + sa11xx_uda1341 = kzalloc(sizeof(*sa11xx_uda1341), GFP_KERNEL); if (sa11xx_uda1341 == NULL) return -ENOMEM; spin_lock_init(&chip->s[0].dma_lock); @@ -946,6 +946,9 @@ static int __init sa11xx_uda1341_init(void) strcpy(card->shortname, "H3600 UDA1341TS"); sprintf(card->longname, "Compaq iPAQ H3600 with Philips UDA1341TS"); + if ((err = snd_card_set_generic_dev(card)) < 0) + goto nodev; + if ((err = snd_card_register(card)) == 0) { printk( KERN_INFO "iPAQ audio support initialized\n" ); return 0; |