[PATCH] pnp: cs4232: adjust pnp_register_driver signature
authorBjorn Helgaas <bjorn.helgaas@hp.com>
Mon, 27 Mar 2006 09:17:07 +0000 (01:17 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 27 Mar 2006 16:44:53 +0000 (08:44 -0800)
Remove the assumption that pnp_register_driver() returns the number of devices
claimed.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
sound/oss/cs4232.c

index 7c59e2d4003a7ff7f27542d7d1dc746286653106..c7f86f09c28da1979a5c0e6de7cfde38fd1309d5 100644 (file)
@@ -360,6 +360,8 @@ static int __initdata synthio       = -1;
 static int __initdata synthirq = -1;
 static int __initdata isapnp   = 1;
 
+static unsigned int cs4232_devices;
+
 MODULE_DESCRIPTION("CS4232 based soundcard driver"); 
 MODULE_AUTHOR("Hannu Savolainen, Paul Barton-Davis"); 
 MODULE_LICENSE("GPL");
@@ -421,6 +423,7 @@ static int cs4232_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev
                return -ENODEV;
        }
        pnp_set_drvdata(dev,isapnpcfg);
+       cs4232_devices++;
        return 0;
 }
 
@@ -455,10 +458,11 @@ static int __init init_cs4232(void)
 #endif
        cfg.irq = -1;
 
-       if (isapnp &&
-           (pnp_register_driver(&cs4232_driver) > 0)
-       )
-               return 0;
+       if (isapnp) {
+               pnp_register_driver(&cs4232_driver);
+               if (cs4232_devices)
+                       return 0;
+       }
 
        if(io==-1||irq==-1||dma==-1)
        {
@@ -503,7 +507,8 @@ static int __init setup_cs4232(char *str)
        int ints[7];
 
        /* If we have isapnp cards, no need for options */
-       if (pnp_register_driver(&cs4232_driver) > 0)
+       pnp_register_driver(&cs4232_driver);
+       if (cs4232_devices)
                return 1;
        
        str = get_options(str, ARRAY_SIZE(ints), ints);