Source
1557
1557
1558
1558
for (i = 0; i < ARRAY_SIZE(w83793_left_fan); i++)
1559
1559
device_remove_file(dev, &w83793_left_fan[i].dev_attr);
1560
1560
1561
1561
for (i = 0; i < ARRAY_SIZE(w83793_left_pwm); i++)
1562
1562
device_remove_file(dev, &w83793_left_pwm[i].dev_attr);
1563
1563
1564
1564
for (i = 0; i < ARRAY_SIZE(w83793_temp); i++)
1565
1565
device_remove_file(dev, &w83793_temp[i].dev_attr);
1566
1566
1567
-
if (data->lm75[0] != NULL)
1568
-
i2c_unregister_device(data->lm75[0]);
1569
-
if (data->lm75[1] != NULL)
1570
-
i2c_unregister_device(data->lm75[1]);
1567
+
i2c_unregister_device(data->lm75[0]);
1568
+
i2c_unregister_device(data->lm75[1]);
1571
1569
1572
1570
/* Decrease data reference counter */
1573
1571
mutex_lock(&watchdog_data_mutex);
1574
1572
kref_put(&data->kref, w83793_release_resources);
1575
1573
mutex_unlock(&watchdog_data_mutex);
1576
1574
1577
1575
return 0;
1578
1576
}
1579
1577
1580
1578
static int
1618
1616
}
1619
1617
data->lm75[1] = i2c_new_dummy(adapter,
1620
1618
0x48 + ((tmp >> 4) & 0x7));
1621
1619
}
1622
1620
1623
1621
return 0;
1624
1622
1625
1623
/* Undo inits in case of errors */
1626
1624
1627
1625
ERROR_SC_1:
1628
-
if (data->lm75[0] != NULL)
1629
-
i2c_unregister_device(data->lm75[0]);
1626
+
i2c_unregister_device(data->lm75[0]);
1630
1627
ERROR_SC_0:
1631
1628
return err;
1632
1629
}
1633
1630
1634
1631
/* Return 0 if detection is successful, -ENODEV otherwise */
1635
1632
static int w83793_detect(struct i2c_client *client,
1636
1633
struct i2c_board_info *info)
1637
1634
{
1638
1635
u8 tmp, bank, chip_id;
1639
1636
struct i2c_adapter *adapter = client->adapter;
1955
1952
1956
1953
for (i = 0; i < ARRAY_SIZE(w83793_left_fan); i++)
1957
1954
device_remove_file(dev, &w83793_left_fan[i].dev_attr);
1958
1955
1959
1956
for (i = 0; i < ARRAY_SIZE(w83793_left_pwm); i++)
1960
1957
device_remove_file(dev, &w83793_left_pwm[i].dev_attr);
1961
1958
1962
1959
for (i = 0; i < ARRAY_SIZE(w83793_temp); i++)
1963
1960
device_remove_file(dev, &w83793_temp[i].dev_attr);
1964
1961
1965
-
if (data->lm75[0] != NULL)
1966
-
i2c_unregister_device(data->lm75[0]);
1967
-
if (data->lm75[1] != NULL)
1968
-
i2c_unregister_device(data->lm75[1]);
1962
+
i2c_unregister_device(data->lm75[0]);
1963
+
i2c_unregister_device(data->lm75[1]);
1969
1964
free_mem:
1970
1965
kfree(data);
1971
1966
exit:
1972
1967
return err;
1973
1968
}
1974
1969
1975
1970
static void w83793_update_nonvolatile(struct device *dev)
1976
1971
{
1977
1972
struct i2c_client *client = to_i2c_client(dev);
1978
1973
struct w83793_data *data = i2c_get_clientdata(client);