summaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-viapro.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-01-14 21:25:40 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-14 21:25:40 +0100
commitf88609a0e447fb73851c0f640ed47257838ff99f (patch)
tree12d2d77f42f7721fec8d9f99780679f7ddd0875c /drivers/i2c/busses/i2c-viapro.c
parentMerge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux (diff)
parentMAINTAINERS: List i2c-omap and i2c-davinci drivers (diff)
downloadlinux-f88609a0e447fb73851c0f640ed47257838ff99f.tar.xz
linux-f88609a0e447fb73851c0f640ed47257838ff99f.zip
Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
* 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: MAINTAINERS: List i2c-omap and i2c-davinci drivers MAINTAINERS: i2c: Add third maintainer i2c/gpio-i2cmux: Convert to use module_platform_driver() i2c/busses: Use module_platform_driver() i2c-dev: Use memdup_user i2c: Convert to DEFINE_PCI_DEVICE_TABLE i2c-ali1535: enable SPARC support i2c: Fix error value returned by several bus drivers
Diffstat (limited to 'drivers/i2c/busses/i2c-viapro.c')
-rw-r--r--drivers/i2c/busses/i2c-viapro.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/i2c/busses/i2c-viapro.c b/drivers/i2c/busses/i2c-viapro.c
index 0b012f1f8ac5..c3926c26d8cf 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,
const struct pci_device_id *id)
{
unsigned char temp;
- int error = -ENODEV;
+ int error;
/* Determine the address of the SMBus areas */
if (force_addr) {
@@ -390,6 +390,7 @@ found:
dev_err(&pdev->dev, "SMBUS: Error: Host SMBus "
"controller not enabled! - upgrade BIOS or "
"use force=1\n");
+ error = -ENODEV;
goto release_region;
}
}
@@ -422,9 +423,11 @@ found:
"SMBus Via Pro adapter at %04x", vt596_smba);
vt596_pdev = pci_dev_get(pdev);
- if (i2c_add_adapter(&vt596_adapter)) {
+ error = i2c_add_adapter(&vt596_adapter);
+ if (error) {
pci_dev_put(vt596_pdev);
vt596_pdev = NULL;
+ goto release_region;
}
/* Always return failure here. This is to allow other drivers to bind
@@ -438,7 +441,7 @@ release_region:
return error;
}
-static const struct pci_device_id vt596_ids[] = {
+static DEFINE_PCI_DEVICE_TABLE(vt596_ids) = {
{ PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C596_3),
.driver_data = SMBBA1 },
{ PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C596B_3),