X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sound%2Fisa%2Fad1848%2Fad1848_lib.c;h=97b8f87108020a236ef92de1c77848dc26d0ec35;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=fe913bf4fafc0e56a68d1131bbf86e4330ddf445;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/sound/isa/ad1848/ad1848_lib.c b/sound/isa/ad1848/ad1848_lib.c index fe913bf4f..97b8f8710 100644 --- a/sound/isa/ad1848/ad1848_lib.c +++ b/sound/isa/ad1848/ad1848_lib.c @@ -39,8 +39,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Routines for control of AD1848/AD1847/CS4248"); MODULE_LICENSE("GPL"); -#define chip_t ad1848_t - #if 0 #define SNDRV_DEBUG_MCE #endif @@ -121,9 +119,8 @@ void snd_ad1848_out(ad1848_t *chip, #endif } -void snd_ad1848_dout(ad1848_t *chip, - unsigned char reg, - unsigned char value) +static void snd_ad1848_dout(ad1848_t *chip, + unsigned char reg, unsigned char value) { int timeout; @@ -134,7 +131,7 @@ void snd_ad1848_dout(ad1848_t *chip, mb(); } -unsigned char snd_ad1848_in(ad1848_t *chip, unsigned char reg) +static unsigned char snd_ad1848_in(ad1848_t *chip, unsigned char reg) { int timeout; @@ -149,9 +146,9 @@ unsigned char snd_ad1848_in(ad1848_t *chip, unsigned char reg) return inb(AD1848P(chip, REG)); } -#ifdef CONFIG_SND_DEBUG +#if 0 -void snd_ad1848_debug(ad1848_t *chip) +static void snd_ad1848_debug(ad1848_t *chip) { printk("AD1848 REGS: INDEX = 0x%02x ", inb(AD1848P(chip, REGSEL))); printk(" STATUS = 0x%02x\n", inb(AD1848P(chip, STATUS))); @@ -179,7 +176,7 @@ void snd_ad1848_debug(ad1848_t *chip) * AD1848 detection / MCE routines */ -void snd_ad1848_mce_up(ad1848_t *chip) +static void snd_ad1848_mce_up(ad1848_t *chip) { unsigned long flags; int timeout; @@ -200,7 +197,7 @@ void snd_ad1848_mce_up(ad1848_t *chip) spin_unlock_irqrestore(&chip->reg_lock, flags); } -void snd_ad1848_mce_down(ad1848_t *chip) +static void snd_ad1848_mce_down(ad1848_t *chip) { unsigned long flags; int timeout; @@ -586,9 +583,9 @@ static int snd_ad1848_capture_prepare(snd_pcm_substream_t * substream) return 0; } -irqreturn_t snd_ad1848_interrupt(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t snd_ad1848_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ad1848_t *chip = snd_magic_cast(ad1848_t, dev_id, return IRQ_NONE); + ad1848_t *chip = dev_id; if ((chip->mode & AD1848_MODE_PLAY) && chip->playback_substream && (chip->mode & AD1848_MODE_RUNNING)) @@ -649,10 +646,7 @@ static void snd_ad1848_thinkpad_twiddle(ad1848_t *chip, int on) { #ifdef CONFIG_PM static int snd_ad1848_suspend(snd_card_t *card, unsigned int state) { - ad1848_t *chip = snd_magic_cast(ad1848_t, card->pm_private_data, return -EINVAL); - - if (card->power_state == SNDRV_CTL_POWER_D3hot) - return 0; + ad1848_t *chip = card->pm_private_data; snd_pcm_suspend_all(chip->pcm); /* FIXME: save registers? */ @@ -660,23 +654,18 @@ static int snd_ad1848_suspend(snd_card_t *card, unsigned int state) if (chip->thinkpad_flag) snd_ad1848_thinkpad_twiddle(chip, 0); - snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); return 0; } static int snd_ad1848_resume(snd_card_t *card, unsigned int state) { - ad1848_t *chip = snd_magic_cast(ad1848_t, card->pm_private_data, return -EINVAL); - - if (card->power_state == SNDRV_CTL_POWER_D0) - return 0; + ad1848_t *chip = card->pm_private_data; if (chip->thinkpad_flag) snd_ad1848_thinkpad_twiddle(chip, 1); /* FIXME: restore registers? */ - snd_power_change_state(card, SNDRV_CTL_POWER_D0); return 0; } #endif /* CONFIG_PM */ @@ -867,13 +856,13 @@ static int snd_ad1848_free(ad1848_t *chip) snd_dma_disable(chip->dma); free_dma(chip->dma); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_ad1848_dev_free(snd_device_t *device) { - ad1848_t *chip = snd_magic_cast(ad1848_t, device->device_data, return -ENXIO); + ad1848_t *chip = device->device_data; return snd_ad1848_free(chip); } @@ -901,7 +890,7 @@ int snd_ad1848_create(snd_card_t * card, int err; *rchip = NULL; - chip = snd_magic_kcalloc(ad1848_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -977,7 +966,7 @@ static snd_pcm_ops_t snd_ad1848_capture_ops = { static void snd_ad1848_pcm_free(snd_pcm_t *pcm) { - ad1848_t *chip = snd_magic_cast(ad1848_t, pcm->private_data, return); + ad1848_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1266,12 +1255,7 @@ int snd_ad1848_mixer(ad1848_t *chip) return 0; } -EXPORT_SYMBOL(snd_ad1848_in); EXPORT_SYMBOL(snd_ad1848_out); -EXPORT_SYMBOL(snd_ad1848_dout); -EXPORT_SYMBOL(snd_ad1848_mce_up); -EXPORT_SYMBOL(snd_ad1848_mce_down); -EXPORT_SYMBOL(snd_ad1848_interrupt); EXPORT_SYMBOL(snd_ad1848_create); EXPORT_SYMBOL(snd_ad1848_pcm); EXPORT_SYMBOL(snd_ad1848_get_pcm_ops);