|
@@ -140,7 +140,7 @@ static unsigned short ali1535_smba;
|
|
|
defined to make the transition easier. */
|
|
|
static int __devinit ali1535_setup(struct pci_dev *dev)
|
|
|
{
|
|
|
- int retval = -ENODEV;
|
|
|
+ int retval;
|
|
|
unsigned char temp;
|
|
|
|
|
|
/* Check the following things:
|
|
@@ -155,6 +155,7 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
|
|
|
if (ali1535_smba == 0) {
|
|
|
dev_warn(&dev->dev,
|
|
|
"ALI1535_smb region uninitialized - upgrade BIOS?\n");
|
|
|
+ retval = -ENODEV;
|
|
|
goto exit;
|
|
|
}
|
|
|
|
|
@@ -167,6 +168,7 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
|
|
|
ali1535_driver.name)) {
|
|
|
dev_err(&dev->dev, "ALI1535_smb region 0x%x already in use!\n",
|
|
|
ali1535_smba);
|
|
|
+ retval = -EBUSY;
|
|
|
goto exit;
|
|
|
}
|
|
|
|
|
@@ -174,6 +176,7 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
|
|
|
pci_read_config_byte(dev, SMBCFG, &temp);
|
|
|
if ((temp & ALI1535_SMBIO_EN) == 0) {
|
|
|
dev_err(&dev->dev, "SMB device not enabled - upgrade BIOS?\n");
|
|
|
+ retval = -ENODEV;
|
|
|
goto exit_free;
|
|
|
}
|
|
|
|
|
@@ -181,6 +184,7 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
|
|
|
pci_read_config_byte(dev, SMBHSTCFG, &temp);
|
|
|
if ((temp & 1) == 0) {
|
|
|
dev_err(&dev->dev, "SMBus controller not enabled - upgrade BIOS?\n");
|
|
|
+ retval = -ENODEV;
|
|
|
goto exit_free;
|
|
|
}
|
|
|
|
|
@@ -198,12 +202,11 @@ static int __devinit ali1535_setup(struct pci_dev *dev)
|
|
|
dev_dbg(&dev->dev, "SMBREV = 0x%X\n", temp);
|
|
|
dev_dbg(&dev->dev, "ALI1535_smba = 0x%X\n", ali1535_smba);
|
|
|
|
|
|
- retval = 0;
|
|
|
-exit:
|
|
|
- return retval;
|
|
|
+ return 0;
|
|
|
|
|
|
exit_free:
|
|
|
release_region(ali1535_smba, ALI1535_SMB_IOSIZE);
|
|
|
+exit:
|
|
|
return retval;
|
|
|
}
|
|
|
|