Skip to content

Commit

Permalink
hwmon: Let w83781d and lm78 load again
Browse files Browse the repository at this point in the history
Let the w83781d and lm78 hardware monitoring drivers load even when
no chip was detected at the ISA address. There can still be supported
chips connected to an I2C bus or SMBus.

This fixes bug #7293.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Jean Delvare authored and Greg Kroah-Hartman committed Oct 18, 2006
1 parent 14992c7 commit e693810
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 13 deletions.
12 changes: 6 additions & 6 deletions drivers/hwmon/lm78.c
Original file line number Diff line number Diff line change
Expand Up @@ -815,18 +815,18 @@ static int __init sm_lm78_init(void)
if (res)
return res;

res = i2c_isa_add_driver(&lm78_isa_driver);
if (res) {
i2c_del_driver(&lm78_driver);
return res;
}
/* Don't exit if this one fails, we still want the I2C variants
to work! */
if (i2c_isa_add_driver(&lm78_isa_driver))
isa_address = 0;

return 0;
}

static void __exit sm_lm78_exit(void)
{
i2c_isa_del_driver(&lm78_isa_driver);
if (isa_address)
i2c_isa_del_driver(&lm78_isa_driver);
i2c_del_driver(&lm78_driver);
}

Expand Down
12 changes: 6 additions & 6 deletions drivers/hwmon/w83781d.c
Original file line number Diff line number Diff line change
Expand Up @@ -1685,19 +1685,19 @@ sensors_w83781d_init(void)
if (res)
return res;

res = i2c_isa_add_driver(&w83781d_isa_driver);
if (res) {
i2c_del_driver(&w83781d_driver);
return res;
}
/* Don't exit if this one fails, we still want the I2C variants
to work! */
if (i2c_isa_add_driver(&w83781d_isa_driver))
isa_address = 0;

return 0;
}

static void __exit
sensors_w83781d_exit(void)
{
i2c_isa_del_driver(&w83781d_isa_driver);
if (isa_address)
i2c_isa_del_driver(&w83781d_isa_driver);
i2c_del_driver(&w83781d_driver);
}

Expand Down
2 changes: 1 addition & 1 deletion drivers/i2c/busses/i2c-isa.c
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ int i2c_isa_add_driver(struct i2c_driver *driver)
/* Now look for clients */
res = driver->attach_adapter(&isa_adapter);
if (res) {
dev_err(&isa_adapter.dev,
dev_dbg(&isa_adapter.dev,
"Driver %s failed to attach adapter, unregistering\n",
driver->driver.name);
driver_unregister(&driver->driver);
Expand Down

0 comments on commit e693810

Please sign in to comment.