ir247_drv_region-2.diff :
-----------------------
        <Patch from Steven>
        o [CORRECT] Cleanup check_region()/request_region() in various drivers

diff -u -p linux/drivers/net/irda/w83977af_ir.d8.c linux/drivers/net/irda/w83977af_ir.c
--- linux/drivers/net/irda/w83977af_ir.d8.c     Tue Jan  8 15:21:46 2002
+++ linux/drivers/net/irda/w83977af_ir.c        Tue Jan  8 16:03:00 2002
@@ -160,7 +160,7 @@ int w83977af_open(int i, unsigned int io
 {
        struct net_device *dev;
         struct w83977af_ir *self;
-       int ret;
+       void *ret;
        int err;
 
        IRDA_DEBUG(0, __FUNCTION__ "()\n");
@@ -190,14 +190,13 @@ int w83977af_open(int i, unsigned int io
         self->io.fifo_size = 32;
 
        /* Lock the port that we need */
-       ret = check_region(self->io.fir_base, self->io.fir_ext);
-       if (ret < 0) { 
+       ret = request_region(self->io.fir_base, self->io.fir_ext, driver_name);
+       if (!ret) { 
                IRDA_DEBUG(0, __FUNCTION__ "(), can't get iobase of 0x%03x\n",
                      self->io.fir_base);
                /* w83977af_cleanup( self);  */
                return -ENODEV;
        }
-       request_region(self->io.fir_base, self->io.fir_ext, driver_name);
 
        /* Initialize QoS for this device */
        irda_init_max_qos_capabilies(&self->qos);
diff -u -p linux/drivers/net/irda/nsc-ircc.d8.c linux/drivers/net/irda/nsc-ircc.c
--- linux/drivers/net/irda/nsc-ircc.d8.c        Tue Jan  8 15:21:36 2002
+++ linux/drivers/net/irda/nsc-ircc.c   Tue Jan  8 16:04:07 2002
@@ -246,7 +246,7 @@ static int nsc_ircc_open(int i, chipio_t
        struct net_device *dev;
        struct nsc_ircc_cb *self;
         struct pm_dev *pmdev;
-       int ret;
+       void *ret;
        int err;
 
        IRDA_DEBUG(2, __FUNCTION__ "()\n");
@@ -282,15 +282,14 @@ static int nsc_ircc_open(int i, chipio_t
         self->io.fifo_size = 32;
        
        /* Reserve the ioports that we need */
-       ret = check_region(self->io.fir_base, self->io.fir_ext);
-       if (ret < 0) { 
+       ret = request_region(self->io.fir_base, self->io.fir_ext, driver_name);
+       if (!ret) {
                WARNING(__FUNCTION__ "(), can't get iobase of 0x%03x\n",
                        self->io.fir_base);
                dev_self[i] = NULL;
                kfree(self);
                return -ENODEV;
        }
-       request_region(self->io.fir_base, self->io.fir_ext, driver_name);
 
        /* Initialize QoS for this device */
        irda_init_max_qos_capabilies(&self->qos);
diff -u -p linux/drivers/net/irda/irport.d8.c linux/drivers/net/irda/irport.c
--- linux/drivers/net/irda/irport.d8.c  Tue Jan  8 15:21:54 2002
+++ linux/drivers/net/irda/irport.c     Tue Jan  8 16:02:51 2002
@@ -140,7 +140,7 @@ irport_open(int i, unsigned int iobase, 
 {
        struct net_device *dev;
        struct irport_cb *self;
-       int ret;
+       void *ret;
        int err;
 
        IRDA_DEBUG(0, __FUNCTION__ "()\n");
@@ -169,13 +169,12 @@ irport_open(int i, unsigned int iobase, 
         self->io.fifo_size = 16;
 
        /* Lock the port that we need */
-       ret = check_region(self->io.sir_base, self->io.sir_ext);
-       if (ret < 0) { 
+       ret = request_region(self->io.sir_base, self->io.sir_ext, driver_name);
+       if (!ret) { 
                IRDA_DEBUG(0, __FUNCTION__ "(), can't get iobase of 0x%03x\n",
                           self->io.sir_base);
                return NULL;
        }
-       request_region(self->io.sir_base, self->io.sir_ext, driver_name);
 
        /* Initialize QoS for this device */
        irda_init_max_qos_capabilies(&self->qos);
_______________________________________________
Linux-IrDA mailing list  -  [EMAIL PROTECTED]
http://www.pasta.cs.UiT.No/mailman/listinfo/linux-irda

Reply via email to