Hi! I'm the new maintainer for aci.c and the dependent files including radio-miropcm20.c. (Thanks to Markus Kuhn and Ruurd Reitsma.) The patch is for 2.4.0-test8 and makes the aci lowlevel driver working again! During testing with test8 I found a bug in soundcard.c. The second file is a patch for this issue. Changes: aci.c -general clean-up and rewrite of aci.c for 2.4.x -added SMP safe locking -ioctl pointer bugfix -added (OSS-limited) equalizer support -better distinction of PCM1/PCM12/PCM20 for good mixer-labeling/mic-preamp/output-amplification handling -threw mad16 dependence away: no mixer-number hack anymore -'solo' mode doesn't need some private ioctl() anymore radio-miropcm20.c -removed unclear volume handling (maybe I add it later again) -added stereo/corrected mute handling -tune-ioctl() pays attention to different aci-versions -change to TUNER_LOW for 50kHz steps -integrated lowlevel RDS routines, currently only for finegrained signal strength value other changes -documentation updates/corrections Just to say something about stable/development kernels: The current aci-driver is old (from 2.0.x), broken, has some bugs and can crash the kernel. The patch makes it working, fixes known bugs, makes important updates to fit into 2.4.x and touches nothing in the mm code... [-: Ciao, Robert PS: Additional RDS code is in heavy development. (:
Attachment:
aci-pcm20-2.4.0-test8.patch.gz
Description: Binary data
--- linux-2.4.0-test8.orig/drivers/sound/soundcard.c Fri Aug 11 17:26:44 2000 +++ linux/drivers/sound/soundcard.c Sun Sep 17 21:11:22 2000 @@ -267,6 +267,7 @@ DEB(printk("sound_release(dev=%d)\n", dev)); switch (dev & 0x0f) { case SND_DEV_CTL: + dev >>= 4; if (mixer_devs[dev]->owner) __MOD_DEC_USE_COUNT (mixer_devs[dev]->owner); break;