hwmon: Let w83781d and lm78 load again
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>
This commit is contained in:
parent
14992c7eff
commit
e693810ce8
3 changed files with 13 additions and 13 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -1685,11 +1685,10 @@ 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;
|
||||
}
|
||||
|
@ -1697,7 +1696,8 @@ sensors_w83781d_init(void)
|
|||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue