X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sound%2Fisa%2Fad1816a%2Fad1816a_lib.c;h=026198317b358d2db4743ff9dd11eb2bdb9d30d0;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=4415a9f9e337bbfb8f0826a79f90de4f08a8f87d;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c index 4415a9f9e..026198317 100644 --- a/sound/isa/ad1816a/ad1816a_lib.c +++ b/sound/isa/ad1816a/ad1816a_lib.c @@ -34,8 +34,6 @@ MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("lowlevel code for Analog Devices AD1816A chip"); MODULE_LICENSE("GPL"); -#define chip_t ad1816a_t - static inline int snd_ad1816a_busy_wait(ad1816a_t *chip) { int timeout; @@ -313,7 +311,7 @@ static snd_pcm_uframes_t snd_ad1816a_capture_pointer(snd_pcm_substream_t *substr static irqreturn_t snd_ad1816a_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ad1816a_t *chip = snd_magic_cast(ad1816a_t, dev_id, return IRQ_NONE); + ad1816a_t *chip = dev_id; unsigned char status; spin_lock(&chip->lock); @@ -550,13 +548,13 @@ static int snd_ad1816a_free(ad1816a_t *chip) snd_dma_disable(chip->dma2); free_dma(chip->dma2); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_ad1816a_dev_free(snd_device_t *device) { - ad1816a_t *chip = snd_magic_cast(ad1816a_t, device->device_data, return -ENXIO); + ad1816a_t *chip = device->device_data; return snd_ad1816a_free(chip); } @@ -585,7 +583,7 @@ int snd_ad1816a_create(snd_card_t *card, *rchip = NULL; - chip = snd_magic_kcalloc(ad1816a_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; chip->irq = -1; @@ -661,7 +659,7 @@ static snd_pcm_ops_t snd_ad1816a_capture_ops = { static void snd_ad1816a_pcm_free(snd_pcm_t *pcm) { - ad1816a_t *chip = snd_magic_cast(ad1816a_t, pcm->private_data, return); + ad1816a_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -696,7 +694,7 @@ int snd_ad1816a_pcm(ad1816a_t *chip, int device, snd_pcm_t **rpcm) static void snd_ad1816a_timer_free(snd_timer_t *timer) { - ad1816a_t *chip = snd_magic_cast(ad1816a_t, timer->private_data, return); + ad1816a_t *chip = timer->private_data; chip->timer = NULL; } @@ -901,8 +899,6 @@ static int snd_ad1816a_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_ return change; } -#define AD1816A_CONTROLS (sizeof(snd_ad1816a_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_ad1816a_controls[] = { AD1816A_DOUBLE("Master Playback Switch", AD1816A_MASTER_ATT, 15, 7, 1, 1), AD1816A_DOUBLE("Master Playback Volume", AD1816A_MASTER_ATT, 8, 0, 31, 1), @@ -950,7 +946,7 @@ int snd_ad1816a_mixer(ad1816a_t *chip) strcpy(card->mixername, snd_ad1816a_chip_id(chip)); - for (idx = 0; idx < AD1816A_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_ad1816a_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_ad1816a_controls[idx], chip))) < 0) return err; }