aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/i2c/busses/i2c-ali1535.c11
-rw-r--r--drivers/i2c/busses/i2c-nforce2.c2
-rw-r--r--drivers/i2c/busses/i2c-sis5595.c4
-rw-r--r--drivers/i2c/busses/i2c-sis630.c6
-rw-r--r--drivers/i2c/busses/i2c-viapro.c7
5 files changed, 20 insertions, 10 deletions
diff --git a/drivers/i2c/busses/i2c-ali1535.c b/drivers/i2c/busses/i2c-ali1535.c
index b6807db7b36f..5b667e53a813 100644
--- a/drivers/i2c/busses/i2c-ali1535.c
+++ b/drivers/i2c/busses/i2c-ali1535.c
@@ -140,7 +140,7 @@ static unsigned short ali1535_smba;
140 defined to make the transition easier. */ 140 defined to make the transition easier. */
141static int __devinit ali1535_setup(struct pci_dev *dev) 141static int __devinit ali1535_setup(struct pci_dev *dev)
142{ 142{
143 int retval = -ENODEV; 143 int retval;
144 unsigned char temp; 144 unsigned char temp;
145 145
146 /* Check the following things: 146 /* Check the following things:
@@ -155,6 +155,7 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
155 if (ali1535_smba == 0) { 155 if (ali1535_smba == 0) {
156 dev_warn(&dev->dev, 156 dev_warn(&dev->dev,
157 "ALI1535_smb region uninitialized - upgrade BIOS?\n"); 157 "ALI1535_smb region uninitialized - upgrade BIOS?\n");
158 retval = -ENODEV;
158 goto exit; 159 goto exit;
159 } 160 }
160 161
@@ -167,6 +168,7 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
167 ali1535_driver.name)) { 168 ali1535_driver.name)) {
168 dev_err(&dev->dev, "ALI1535_smb region 0x%x already in use!\n", 169 dev_err(&dev->dev, "ALI1535_smb region 0x%x already in use!\n",
169 ali1535_smba); 170 ali1535_smba);
171 retval = -EBUSY;
170 goto exit; 172 goto exit;
171 } 173 }
172 174
@@ -174,6 +176,7 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
174 pci_read_config_byte(dev, SMBCFG, &temp); 176 pci_read_config_byte(dev, SMBCFG, &temp);
175 if ((temp & ALI1535_SMBIO_EN) == 0) { 177 if ((temp & ALI1535_SMBIO_EN) == 0) {
176 dev_err(&dev->dev, "SMB device not enabled - upgrade BIOS?\n"); 178 dev_err(&dev->dev, "SMB device not enabled - upgrade BIOS?\n");
179 retval = -ENODEV;
177 goto exit_free; 180 goto exit_free;
178 } 181 }
179 182
@@ -181,6 +184,7 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
181 pci_read_config_byte(dev, SMBHSTCFG, &temp); 184 pci_read_config_byte(dev, SMBHSTCFG, &temp);
182 if ((temp & 1) == 0) { 185 if ((temp & 1) == 0) {
183 dev_err(&dev->dev, "SMBus controller not enabled - upgrade BIOS?\n"); 186 dev_err(&dev->dev, "SMBus controller not enabled - upgrade BIOS?\n");
187 retval = -ENODEV;
184 goto exit_free; 188 goto exit_free;
185 } 189 }
186 190
@@ -198,12 +202,11 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
198 dev_dbg(&dev->dev, "SMBREV = 0x%X\n", temp); 202 dev_dbg(&dev->dev, "SMBREV = 0x%X\n", temp);
199 dev_dbg(&dev->dev, "ALI1535_smba = 0x%X\n", ali1535_smba); 203 dev_dbg(&dev->dev, "ALI1535_smba = 0x%X\n", ali1535_smba);
200 204
201 retval = 0; 205 return 0;
202exit:
203 return retval;
204 206
205exit_free: 207exit_free:
206 release_region(ali1535_smba, ALI1535_SMB_IOSIZE); 208 release_region(ali1535_smba, ALI1535_SMB_IOSIZE);
209exit:
207 return retval; 210 return retval;
208} 211}
209 212
diff --git a/drivers/i2c/busses/i2c-nforce2.c b/drivers/i2c/busses/i2c-nforce2.c
index ff1e127dfea8..4853b52a40a8 100644
--- a/drivers/i2c/busses/i2c-nforce2.c
+++ b/drivers/i2c/busses/i2c-nforce2.c
@@ -356,7 +356,7 @@ static int __devinit nforce2_probe_smb (struct pci_dev *dev, int bar,
356 error = acpi_check_region(smbus->base, smbus->size, 356 error = acpi_check_region(smbus->base, smbus->size,
357 nforce2_driver.name); 357 nforce2_driver.name);
358 if (error) 358 if (error)
359 return -1; 359 return error;
360 360
361 if (!request_region(smbus->base, smbus->size, nforce2_driver.name)) { 361 if (!request_region(smbus->base, smbus->size, nforce2_driver.name)) {
362 dev_err(&smbus->adapter.dev, "Error requesting region %02x .. %02X for %s\n", 362 dev_err(&smbus->adapter.dev, "Error requesting region %02x .. %02X for %s\n",
diff --git a/drivers/i2c/busses/i2c-sis5595.c b/drivers/i2c/busses/i2c-sis5595.c
index 437586611d4a..6d60284cc04b 100644
--- a/drivers/i2c/busses/i2c-sis5595.c
+++ b/drivers/i2c/busses/i2c-sis5595.c
@@ -147,7 +147,7 @@ static int __devinit sis5595_setup(struct pci_dev *SIS5595_dev)
147 u16 a; 147 u16 a;
148 u8 val; 148 u8 val;
149 int *i; 149 int *i;
150 int retval = -ENODEV; 150 int retval;
151 151
152 /* Look for imposters */ 152 /* Look for imposters */
153 for (i = blacklist; *i != 0; i++) { 153 for (i = blacklist; *i != 0; i++) {
@@ -223,7 +223,7 @@ static int __devinit sis5595_setup(struct pci_dev *SIS5595_dev)
223 223
224error: 224error:
225 release_region(sis5595_base + SMB_INDEX, 2); 225 release_region(sis5595_base + SMB_INDEX, 2);
226 return retval; 226 return -ENODEV;
227} 227}
228 228
229static int sis5595_transaction(struct i2c_adapter *adap) 229static int sis5595_transaction(struct i2c_adapter *adap)
diff --git a/drivers/i2c/busses/i2c-sis630.c b/drivers/i2c/busses/i2c-sis630.c
index e6f539e26f65..b617fd068ac7 100644
--- a/drivers/i2c/busses/i2c-sis630.c
+++ b/drivers/i2c/busses/i2c-sis630.c
@@ -393,7 +393,7 @@ static int __devinit sis630_setup(struct pci_dev *sis630_dev)
393{ 393{
394 unsigned char b; 394 unsigned char b;
395 struct pci_dev *dummy = NULL; 395 struct pci_dev *dummy = NULL;
396 int retval = -ENODEV, i; 396 int retval, i;
397 397
398 /* check for supported SiS devices */ 398 /* check for supported SiS devices */
399 for (i=0; supported[i] > 0 ; i++) { 399 for (i=0; supported[i] > 0 ; i++) {
@@ -418,18 +418,21 @@ static int __devinit sis630_setup(struct pci_dev *sis630_dev)
418 */ 418 */
419 if (pci_read_config_byte(sis630_dev, SIS630_BIOS_CTL_REG,&b)) { 419 if (pci_read_config_byte(sis630_dev, SIS630_BIOS_CTL_REG,&b)) {
420 dev_err(&sis630_dev->dev, "Error: Can't read bios ctl reg\n"); 420 dev_err(&sis630_dev->dev, "Error: Can't read bios ctl reg\n");
421 retval = -ENODEV;
421 goto exit; 422 goto exit;
422 } 423 }
423 /* if ACPI already enabled , do nothing */ 424 /* if ACPI already enabled , do nothing */
424 if (!(b & 0x80) && 425 if (!(b & 0x80) &&
425 pci_write_config_byte(sis630_dev, SIS630_BIOS_CTL_REG, b | 0x80)) { 426 pci_write_config_byte(sis630_dev, SIS630_BIOS_CTL_REG, b | 0x80)) {
426 dev_err(&sis630_dev->dev, "Error: Can't enable ACPI\n"); 427 dev_err(&sis630_dev->dev, "Error: Can't enable ACPI\n");
428 retval = -ENODEV;
427 goto exit; 429 goto exit;
428 } 430 }
429 431
430 /* Determine the ACPI base address */ 432 /* Determine the ACPI base address */
431 if (pci_read_config_word(sis630_dev,SIS630_ACPI_BASE_REG,&acpi_base)) { 433 if (pci_read_config_word(sis630_dev,SIS630_ACPI_BASE_REG,&acpi_base)) {
432 dev_err(&sis630_dev->dev, "Error: Can't determine ACPI base address\n"); 434 dev_err(&sis630_dev->dev, "Error: Can't determine ACPI base address\n");
435 retval = -ENODEV;
433 goto exit; 436 goto exit;
434 } 437 }
435 438
@@ -445,6 +448,7 @@ static int __devinit sis630_setup(struct pci_dev *sis630_dev)
445 sis630_driver.name)) { 448 sis630_driver.name)) {
446 dev_err(&sis630_dev->dev, "SMBus registers 0x%04x-0x%04x already " 449 dev_err(&sis630_dev->dev, "SMBus registers 0x%04x-0x%04x already "
447 "in use!\n", acpi_base + SMB_STS, acpi_base + SMB_SAA); 450 "in use!\n", acpi_base + SMB_STS, acpi_base + SMB_SAA);
451 retval = -EBUSY;
448 goto exit; 452 goto exit;
449 } 453 }
450 454
diff --git a/drivers/i2c/busses/i2c-viapro.c b/drivers/i2c/busses/i2c-viapro.c
index 0b012f1f8ac5..58261d4725b6 100644
--- a/drivers/i2c/busses/i2c-viapro.c
+++ b/drivers/i2c/busses/i2c-viapro.c
@@ -324,7 +324,7 @@ static int __devinit vt596_probe(struct pci_dev *pdev,
324 const struct pci_device_id *id) 324 const struct pci_device_id *id)
325{ 325{
326 unsigned char temp; 326 unsigned char temp;
327 int error = -ENODEV; 327 int error;
328 328
329 /* Determine the address of the SMBus areas */ 329 /* Determine the address of the SMBus areas */
330 if (force_addr) { 330 if (force_addr) {
@@ -390,6 +390,7 @@ found:
390 dev_err(&pdev->dev, "SMBUS: Error: Host SMBus " 390 dev_err(&pdev->dev, "SMBUS: Error: Host SMBus "
391 "controller not enabled! - upgrade BIOS or " 391 "controller not enabled! - upgrade BIOS or "
392 "use force=1\n"); 392 "use force=1\n");
393 error = -ENODEV;
393 goto release_region; 394 goto release_region;
394 } 395 }
395 } 396 }
@@ -422,9 +423,11 @@ found:
422 "SMBus Via Pro adapter at %04x", vt596_smba); 423 "SMBus Via Pro adapter at %04x", vt596_smba);
423 424
424 vt596_pdev = pci_dev_get(pdev); 425 vt596_pdev = pci_dev_get(pdev);
425 if (i2c_add_adapter(&vt596_adapter)) { 426 error = i2c_add_adapter(&vt596_adapter);
427 if (error) {
426 pci_dev_put(vt596_pdev); 428 pci_dev_put(vt596_pdev);
427 vt596_pdev = NULL; 429 vt596_pdev = NULL;
430 goto release_region;
428 } 431 }
429 432
430 /* Always return failure here. This is to allow other drivers to bind 433 /* Always return failure here. This is to allow other drivers to bind