Re: Linux driver for c-media cm8x38 ver 4.12 released

From: Peter Samuelson (peter@cadcamlab.org)
Date: Thu Nov 23 2000 - 04:39:48 EST


[ChenLi Tien, from http://members.home.net/puresoft/cmedia.html]
> - * Copyright (C) 1999 ChenLi Tien (cltien@home.com)
> - *
> - * Based on the PCI drivers by Thomas Sailer (sailer@ife.ee.ethz.ch)
> + * Copyright (C) 1999 ChenLi Tien (cltien@cmedia.com.tw)
> + * C-media support (support@cmedia.com.tw)

This is somewhat impolite -- unless the driver is *not* actually based
on Tom's work.

> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0)
> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
> + owner: THIS_MODULE,
> +#endif
> llseek: cm_llseek,
> ioctl: cm_ioctl_mixdev,
> open: cm_open_mixdev,
> release: cm_release_mixdev,
> +#else
> + &cm_llseek,
> + NULL, /* read */
> + NULL, /* write */
> + NULL, /* readdir */
> + NULL, /* poll */
> + &cm_ioctl_mixdev,
> + NULL, /* mmap */
> + &cm_open_mixdev,
> + NULL, /* flush */
> + &cm_release_mixdev,
> + NULL, /* fsync */
> + NULL, /* fasync */
> + NULL, /* check_media_change */
> + NULL, /* revalidate */
> + NULL, /* lock */
> +#endif

I don't think the (2,3,0) ifdef is necessary. Just use the labeled
initializers for all kernels. See also cm_audio_fops, cm_dsp_fops,
cm_midi_fops, cm_dmfm_fops.

> +#ifdef MODULE
> +MODULE_PARM(mpu_io, "i");
> +MODULE_PARM(fm_io, "i");
> +MODULE_PARM(spdif_inverse, "i");
> +MODULE_PARM(spdif_loop, "i");
> +MODULE_PARM(four_sp, "i");
> +MODULE_PARM(rear_out, "i");
> +MODULE_PARM(modem, "i");
> +MODULE_PARM(joystick, "i");
> #endif

No need for '#ifdef MODULE'.

> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
> +static int __init init_cmpci(void)
> +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0)
> +#ifdef MODULE
> +int __init init_module(void)
> +#else
> int __init init_cmpci(void)
> #endif
> +#else
> +#ifdef MODULE
> +__initfunc(int init_module(void))
> +#else
> +__initfunc(int init_cmpci(void))
> +#endif
> +#endif

__init is fine in 2.2, no need for conditional __initfunc().

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



This archive was generated by hypermail 2b29 : Thu Nov 23 2000 - 21:00:25 EST