Re: PATCH: switch maestro3 to new ac97

Jeff Garzik (jgarzik@pobox.com)
Fri, 11 Jul 2003 14:48:23 -0400


On Fri, Jul 11, 2003 at 07:15:26PM +0100, Alan Cox wrote:
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.5.75/sound/oss/maestro3.c linux-2.5.75-ac1/sound/oss/maestro3.c
> --- linux-2.5.75/sound/oss/maestro3.c 2003-07-10 21:14:15.000000000 +0100
> +++ linux-2.5.75-ac1/sound/oss/maestro3.c 2003-07-11 16:47:14.000000000 +0100
> @@ -2301,9 +2301,8 @@
> {
> struct ac97_codec *codec;
>
> - if ((codec = kmalloc(sizeof(struct ac97_codec), GFP_KERNEL)) == NULL)
> + if ((codec = ac97_alloc_codec()) == NULL)
> return -ENOMEM;
> - memset(codec, 0, sizeof(struct ac97_codec));
>
> codec->private_data = card;
> codec->codec_read = m3_ac97_read;
> @@ -2313,13 +2312,13 @@
>
> if (ac97_probe_codec(codec) == 0) {
> printk(KERN_ERR PFX "codec probe failed\n");
> - kfree(codec);
> + ac97_release_codec(codec);
> return -1;
> }
>
> if ((codec->dev_mixer = register_sound_mixer(&m3_mixer_fops, -1)) < 0) {
> printk(KERN_ERR PFX "couldn't register mixer!\n");
> - kfree(codec);
> + ac97_release_codec(codec);

I note another positive attribute as well:

This new AC97 stuff makes object lifetime much more obvious, and makes
it easy for someone to add refcounting later, if that comes up.

This patch is an excellent example of such.

Jeff

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/