Update of /cvsroot/alsa/alsa-kernel/pci
In directory sc8-pr-cvs1:/tmp/cvs-serv13252/pci
Modified Files:
als4000.c ens1370.c
Log Message:
added auto-detection of joystick port.
Index: als4000.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/als4000.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- als4000.c 14 Oct 2003 13:59:20 -0000 1.22
+++ als4000.c 24 Oct 2003 13:42:41 -0000 1.23
@@ -652,9 +652,18 @@
/* disable all legacy ISA stuff except for joystick */
#ifdef SUPPORT_JOYSTICK
- if (joystick_port[dev] > 0 &&
- (acard->res_joystick = request_region(joystick_port[dev], 8, "ALS4000
gameport")) != NULL)
+ if (joystick_port[dev] == 1) {
+ /* auto-detect */
+ long p;
+ for (p = 0x200; p <= 0x218; p += 8)
+ if ((acard->res_joystick = request_region(p, 8, "ALS4000
gameport")) != NULL)
+ break;
+ } else if (joystick_port[dev] > 0)
+ acard->res_joystick = request_region(joystick_port[dev], 8, "ALS4000
gameport");
+ if (acard->res_joystick)
joystick = joystick_port[dev];
+ else
+ joystick = 0;
#endif
snd_als4000_set_addr(gcr, 0, 0, 0, joystick);
Index: ens1370.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/ens1370.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- ens1370.c 23 Oct 2003 14:34:52 -0000 1.52
+++ ens1370.c 24 Oct 2003 13:42:41 -0000 1.53
@@ -1685,11 +1685,24 @@
#ifdef SUPPORT_JOYSTICK
static int snd_ensoniq_joystick(ensoniq_t *ensoniq, long port)
{
- ensoniq->gameport.io = port;
- if (!request_region(ensoniq->gameport.io, 8, "ens137x: gameport")) {
- snd_printk("gameport io port 0x%03x in use", ensoniq->gameport.io);
- return -EBUSY;
+#ifdef CHIP1371
+ if (port == 1) { /* auto-detect */
+ for (port = 0x200; port <= 0x218; port += 8)
+ if (request_region(port, 8, "ens137x: gameport"))
+ break;
+ if (port > 0x218) {
+ snd_printk("no gameport available\n");
+ return -EBUSY;
+ }
+ } else
+#endif
+ {
+ if (!request_region(port, 8, "ens137x: gameport")) {
+ snd_printk("gameport io port 0x%03x in use",
ensoniq->gameport.io);
+ return -EBUSY;
+ }
}
+ ensoniq->gameport.io = port;
ensoniq->ctrl |= ES_JYSTK_EN;
#ifdef CHIP1371
ensoniq->ctrl &= ~ES_1371_JOY_ASELM;
@@ -2251,6 +2264,7 @@
#ifdef SUPPORT_JOYSTICK
#ifdef CHIP1371
switch (joystick_port[dev]) {
+ case 1: /* auto-detect */
case 0x200:
case 0x208:
case 0x210:
-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community? Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog