From owner-freebsd-multimedia Mon Jul 14 12:01:20 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id MAA08014 for multimedia-outgoing; Mon, 14 Jul 1997 12:01:20 -0700 (PDT) Received: from labinfo.iet.unipi.it (labinfo.iet.unipi.it [131.114.9.5]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id MAA08007 for ; Mon, 14 Jul 1997 12:01:13 -0700 (PDT) Received: from localhost (luigi@localhost) by labinfo.iet.unipi.it (8.6.5/8.6.5) id TAA11361; Mon, 14 Jul 1997 19:56:05 +0200 From: Luigi Rizzo Message-Id: <199707141756.TAA11361@labinfo.iet.unipi.it> Subject: Yet another snap of the sound code... To: multimedia@freebsd.org Date: Mon, 14 Jul 1997 19:56:05 +0200 (MET DST) X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-multimedia@freebsd.org X-Loop: FreeBSD.org Precedence: bulk I have put another snap of my code on the sound driver. Note that I cannot test the code since I don't have a working system yet (my test machine, a Intel Zappa with a CS4232 PnP device on board, hangs as soon as I issue the reset command to the soundblaster port :) Since I cannot find the data sheets of the 4232 I am out of luck for the moment... But I have successfully built, booted and run (without using the sound drivers) a kernel with all the drivers compiled in. There is a wide choice of formats at http://www.iet.unipi.it/~luigi/ snd970714.tgz (298KB) the full sound directory gus10a-to-snd970714.diffs.gz (20KB) diffs against amancio's latest version, guspnp10a snd970711-to-snd970714.diffs.gz diffs against my previous snap, snap970711 I have merged all of amancio's patches found in guspnp9 and guspnp10a (including replacement of ulaw.h with his newer version). The new snap contains the following: - some notes on the structure of the driver (see README.LUIGI); - a first attempt at removing all the CONFIGURE_SOUNDCARD, CONFIG_XXX macros. Whenever I could understand that it worked, I tested NSND, NSB, NGUS ... and other macros, which are generated by the config program, and thus less error prone; My goal is to have the "config" program take care of the configuration process, avoiding the mess which is now in local.h . As a matter of fact I am not too far from a working solution, I am just looking for a way to reduce the kernel bloat which is involved with my approach (which is no worse than the current one). - more cleanup and removal of unused code and variables; this also involves some prototypes; - some timer function moved from soundcard.c to sequencer.c, where they are used. - in some drivers I have removed the calls to the probe() routine from the attach routine. I am going to do this on other drivers as well. TODO (AND PLEASE IF YOU HAVE IDEAS ON THIS, SEND YOUR COMMENTS TO ME OR TO THE MULTIMEDIA LIST): - prepare a list of good entries for the configuration file. Those with working hardware can please send a copy of the relevant lines in their config files ? - do the files in i386/isa/sound/freebsd have any purpose, or we can nuke them ? - there are some missing lines in i386/conf/files.i386, so that some pieces of the driver are never compiled in. Again, suggestions are welcome. Cheers Luigi -----------------------------+-------------------------------------- Luigi Rizzo | Dip. di Ingegneria dell'Informazione email: luigi@iet.unipi.it | Universita' di Pisa tel: +39-50-568533 | via Diotisalvi 2, 56126 PISA (Italy) fax: +39-50-568522 | http://www.iet.unipi.it/~luigi/ _____________________________|______________________________________