提交 2ed2dc3c 编写于 作者: J Jean Delvare 提交者: Greg Kroah-Hartman

[PATCH] hwmon: hwmon vs i2c, second round (04/11)

i2c_probe and i2c_detect now do the exact same thing and operate on
the same data structure, so we can have everyone call i2c_probe.
Signed-off-by: NJean Delvare <khali@linux-fr.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 b78ec315
...@@ -66,6 +66,7 @@ Technical changes: ...@@ -66,6 +66,7 @@ Technical changes:
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
ISA-only drivers of course don't need this. ISA-only drivers of course don't need this.
Call i2c_probe() instead of i2c_detect().
* [Detect] As mentioned earlier, the flags parameter is gone. * [Detect] As mentioned earlier, the flags parameter is gone.
The type_name and client_name strings are replaced by a single The type_name and client_name strings are replaced by a single
......
...@@ -148,7 +148,7 @@ are defined in i2c.h to help you support them, as well as a generic ...@@ -148,7 +148,7 @@ are defined in i2c.h to help you support them, as well as a generic
detection algorithm. detection algorithm.
You do not have to use this parameter interface; but don't try to use You do not have to use this parameter interface; but don't try to use
function i2c_probe() (or i2c_detect()) if you don't. function i2c_probe() if you don't.
NOTE: If you want to write a `sensors' driver, the interface is slightly NOTE: If you want to write a `sensors' driver, the interface is slightly
different! See below. different! See below.
...@@ -259,17 +259,10 @@ detected at a specific address, another callback is called. ...@@ -259,17 +259,10 @@ detected at a specific address, another callback is called.
return i2c_probe(adapter,&addr_data,&foo_detect_client); return i2c_probe(adapter,&addr_data,&foo_detect_client);
} }
For `sensors' drivers, use the i2c_detect function instead:
int foo_attach_adapter(struct i2c_adapter *adapter)
{
return i2c_detect(adapter,&addr_data,&foo_detect_client);
}
Remember, structure `addr_data' is defined by the macros explained above, Remember, structure `addr_data' is defined by the macros explained above,
so you do not have to define it yourself. so you do not have to define it yourself.
The i2c_probe or i2c_detect function will call the foo_detect_client The i2c_probe function will call the foo_detect_client
function only for those i2c addresses that actually have a device on function only for those i2c addresses that actually have a device on
them (unless a `force' parameter was used). In addition, addresses that them (unless a `force' parameter was used). In addition, addresses that
are already in use (by some other registered client) are skipped. are already in use (by some other registered client) are skipped.
...@@ -278,11 +271,9 @@ are already in use (by some other registered client) are skipped. ...@@ -278,11 +271,9 @@ are already in use (by some other registered client) are skipped.
The detect client function The detect client function
-------------------------- --------------------------
The detect client function is called by i2c_probe or i2c_detect. The detect client function is called by i2c_probe. The `kind' parameter
The `kind' parameter contains 0 if this call is due to a `force' contains -1 for a probed detection, 0 for a forced detection, or a positive
parameter, and -1 otherwise (for i2c_detect, it contains 0 if number for a forced detection with a chip type forced.
this call is due to the generic `force' parameter, and the chip type
number if it is due to a specific `force' parameter).
Below, some things are only needed if this is a `sensors' driver. Those Below, some things are only needed if this is a `sensors' driver. Those
parts are between /* SENSORS ONLY START */ and /* SENSORS ONLY END */ parts are between /* SENSORS ONLY START */ and /* SENSORS ONLY END */
......
...@@ -187,7 +187,7 @@ static int adm1021_attach_adapter(struct i2c_adapter *adapter) ...@@ -187,7 +187,7 @@ static int adm1021_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, adm1021_detect); return i2c_probe(adapter, &addr_data, adm1021_detect);
} }
static int adm1021_detect(struct i2c_adapter *adapter, int address, int kind) static int adm1021_detect(struct i2c_adapter *adapter, int address, int kind)
......
...@@ -314,7 +314,7 @@ static int adm1025_attach_adapter(struct i2c_adapter *adapter) ...@@ -314,7 +314,7 @@ static int adm1025_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, adm1025_detect); return i2c_probe(adapter, &addr_data, adm1025_detect);
} }
/* /*
......
...@@ -321,7 +321,7 @@ int adm1026_attach_adapter(struct i2c_adapter *adapter) ...@@ -321,7 +321,7 @@ int adm1026_attach_adapter(struct i2c_adapter *adapter)
if (!(adapter->class & I2C_CLASS_HWMON)) { if (!(adapter->class & I2C_CLASS_HWMON)) {
return 0; return 0;
} }
return i2c_detect(adapter, &addr_data, adm1026_detect); return i2c_probe(adapter, &addr_data, adm1026_detect);
} }
int adm1026_detach_client(struct i2c_client *client) int adm1026_detach_client(struct i2c_client *client)
......
...@@ -727,10 +727,10 @@ static int adm1031_attach_adapter(struct i2c_adapter *adapter) ...@@ -727,10 +727,10 @@ static int adm1031_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, adm1031_detect); return i2c_probe(adapter, &addr_data, adm1031_detect);
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
static int adm1031_detect(struct i2c_adapter *adapter, int address, int kind) static int adm1031_detect(struct i2c_adapter *adapter, int address, int kind)
{ {
struct i2c_client *new_client; struct i2c_client *new_client;
......
...@@ -635,7 +635,7 @@ static int adm9240_attach_adapter(struct i2c_adapter *adapter) ...@@ -635,7 +635,7 @@ static int adm9240_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, adm9240_detect); return i2c_probe(adapter, &addr_data, adm9240_detect);
} }
static int adm9240_detach_client(struct i2c_client *client) static int adm9240_detach_client(struct i2c_client *client)
......
...@@ -621,7 +621,7 @@ static int asb100_attach_adapter(struct i2c_adapter *adapter) ...@@ -621,7 +621,7 @@ static int asb100_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, asb100_detect); return i2c_probe(adapter, &addr_data, asb100_detect);
} }
static int asb100_detect_subclients(struct i2c_adapter *adapter, int address, static int asb100_detect_subclients(struct i2c_adapter *adapter, int address,
......
...@@ -254,7 +254,7 @@ static DEVICE_ATTR(gpio2, S_IRUGO | S_IWUSR, atxp1_showgpio2, atxp1_storegpio2); ...@@ -254,7 +254,7 @@ static DEVICE_ATTR(gpio2, S_IRUGO | S_IWUSR, atxp1_showgpio2, atxp1_storegpio2);
static int atxp1_attach_adapter(struct i2c_adapter *adapter) static int atxp1_attach_adapter(struct i2c_adapter *adapter)
{ {
return i2c_detect(adapter, &addr_data, &atxp1_detect); return i2c_probe(adapter, &addr_data, &atxp1_detect);
}; };
static int atxp1_detect(struct i2c_adapter *adapter, int address, int kind) static int atxp1_detect(struct i2c_adapter *adapter, int address, int kind)
......
...@@ -181,10 +181,10 @@ static DEVICE_ATTR(temp1_max, S_IWUSR | S_IRUGO, show_temp_max, set_temp_max); ...@@ -181,10 +181,10 @@ static DEVICE_ATTR(temp1_max, S_IWUSR | S_IRUGO, show_temp_max, set_temp_max);
static int ds1621_attach_adapter(struct i2c_adapter *adapter) static int ds1621_attach_adapter(struct i2c_adapter *adapter)
{ {
return i2c_detect(adapter, &addr_data, ds1621_detect); return i2c_probe(adapter, &addr_data, ds1621_detect);
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
int ds1621_detect(struct i2c_adapter *adapter, int address, int ds1621_detect(struct i2c_adapter *adapter, int address,
int kind) int kind)
{ {
......
...@@ -289,7 +289,7 @@ static int fscher_attach_adapter(struct i2c_adapter *adapter) ...@@ -289,7 +289,7 @@ static int fscher_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, fscher_detect); return i2c_probe(adapter, &addr_data, fscher_detect);
} }
static int fscher_detect(struct i2c_adapter *adapter, int address, int kind) static int fscher_detect(struct i2c_adapter *adapter, int address, int kind)
......
...@@ -436,7 +436,7 @@ static int fscpos_attach_adapter(struct i2c_adapter *adapter) ...@@ -436,7 +436,7 @@ static int fscpos_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, fscpos_detect); return i2c_probe(adapter, &addr_data, fscpos_detect);
} }
int fscpos_detect(struct i2c_adapter *adapter, int address, int kind) int fscpos_detect(struct i2c_adapter *adapter, int address, int kind)
......
...@@ -348,7 +348,7 @@ static int gl518_attach_adapter(struct i2c_adapter *adapter) ...@@ -348,7 +348,7 @@ static int gl518_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, gl518_detect); return i2c_probe(adapter, &addr_data, gl518_detect);
} }
static int gl518_detect(struct i2c_adapter *adapter, int address, int kind) static int gl518_detect(struct i2c_adapter *adapter, int address, int kind)
......
...@@ -520,7 +520,7 @@ static int gl520_attach_adapter(struct i2c_adapter *adapter) ...@@ -520,7 +520,7 @@ static int gl520_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, gl520_detect); return i2c_probe(adapter, &addr_data, gl520_detect);
} }
static int gl520_detect(struct i2c_adapter *adapter, int address, int kind) static int gl520_detect(struct i2c_adapter *adapter, int address, int kind)
......
...@@ -698,7 +698,7 @@ static int it87_attach_adapter(struct i2c_adapter *adapter) ...@@ -698,7 +698,7 @@ static int it87_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, it87_detect); return i2c_probe(adapter, &addr_data, it87_detect);
} }
static int it87_isa_attach_adapter(struct i2c_adapter *adapter) static int it87_isa_attach_adapter(struct i2c_adapter *adapter)
...@@ -738,7 +738,7 @@ static int __init it87_find(int *address) ...@@ -738,7 +738,7 @@ static int __init it87_find(int *address)
return err; return err;
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
int it87_detect(struct i2c_adapter *adapter, int address, int kind) int it87_detect(struct i2c_adapter *adapter, int address, int kind)
{ {
int i; int i;
......
...@@ -360,7 +360,7 @@ static int lm63_attach_adapter(struct i2c_adapter *adapter) ...@@ -360,7 +360,7 @@ static int lm63_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, lm63_detect); return i2c_probe(adapter, &addr_data, lm63_detect);
} }
/* /*
......
...@@ -109,10 +109,10 @@ static int lm75_attach_adapter(struct i2c_adapter *adapter) ...@@ -109,10 +109,10 @@ static int lm75_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, lm75_detect); return i2c_probe(adapter, &addr_data, lm75_detect);
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
static int lm75_detect(struct i2c_adapter *adapter, int address, int kind) static int lm75_detect(struct i2c_adapter *adapter, int address, int kind)
{ {
int i; int i;
......
...@@ -209,10 +209,10 @@ static int lm77_attach_adapter(struct i2c_adapter *adapter) ...@@ -209,10 +209,10 @@ static int lm77_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, lm77_detect); return i2c_probe(adapter, &addr_data, lm77_detect);
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
static int lm77_detect(struct i2c_adapter *adapter, int address, int kind) static int lm77_detect(struct i2c_adapter *adapter, int address, int kind)
{ {
struct i2c_client *new_client; struct i2c_client *new_client;
......
...@@ -478,7 +478,7 @@ static int lm78_attach_adapter(struct i2c_adapter *adapter) ...@@ -478,7 +478,7 @@ static int lm78_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, lm78_detect); return i2c_probe(adapter, &addr_data, lm78_detect);
} }
static int lm78_isa_attach_adapter(struct i2c_adapter *adapter) static int lm78_isa_attach_adapter(struct i2c_adapter *adapter)
...@@ -486,7 +486,7 @@ static int lm78_isa_attach_adapter(struct i2c_adapter *adapter) ...@@ -486,7 +486,7 @@ static int lm78_isa_attach_adapter(struct i2c_adapter *adapter)
return lm78_detect(adapter, isa_address, -1); return lm78_detect(adapter, isa_address, -1);
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
int lm78_detect(struct i2c_adapter *adapter, int address, int kind) int lm78_detect(struct i2c_adapter *adapter, int address, int kind)
{ {
int i, err; int i, err;
......
...@@ -391,7 +391,7 @@ static int lm80_attach_adapter(struct i2c_adapter *adapter) ...@@ -391,7 +391,7 @@ static int lm80_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, lm80_detect); return i2c_probe(adapter, &addr_data, lm80_detect);
} }
int lm80_detect(struct i2c_adapter *adapter, int address, int kind) int lm80_detect(struct i2c_adapter *adapter, int address, int kind)
......
...@@ -214,7 +214,7 @@ static int lm83_attach_adapter(struct i2c_adapter *adapter) ...@@ -214,7 +214,7 @@ static int lm83_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, lm83_detect); return i2c_probe(adapter, &addr_data, lm83_detect);
} }
/* /*
......
...@@ -1012,7 +1012,7 @@ int lm85_attach_adapter(struct i2c_adapter *adapter) ...@@ -1012,7 +1012,7 @@ int lm85_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, lm85_detect); return i2c_probe(adapter, &addr_data, lm85_detect);
} }
int lm85_detect(struct i2c_adapter *adapter, int address, int lm85_detect(struct i2c_adapter *adapter, int address,
......
...@@ -539,7 +539,7 @@ static int lm87_attach_adapter(struct i2c_adapter *adapter) ...@@ -539,7 +539,7 @@ static int lm87_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, lm87_detect); return i2c_probe(adapter, &addr_data, lm87_detect);
} }
/* /*
......
...@@ -354,7 +354,7 @@ static int lm90_attach_adapter(struct i2c_adapter *adapter) ...@@ -354,7 +354,7 @@ static int lm90_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, lm90_detect); return i2c_probe(adapter, &addr_data, lm90_detect);
} }
/* /*
......
...@@ -389,7 +389,7 @@ static int lm92_attach_adapter(struct i2c_adapter *adapter) ...@@ -389,7 +389,7 @@ static int lm92_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, lm92_detect); return i2c_probe(adapter, &addr_data, lm92_detect);
} }
static int lm92_detach_client(struct i2c_client *client) static int lm92_detach_client(struct i2c_client *client)
......
...@@ -180,7 +180,7 @@ static int max1619_attach_adapter(struct i2c_adapter *adapter) ...@@ -180,7 +180,7 @@ static int max1619_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, max1619_detect); return i2c_probe(adapter, &addr_data, max1619_detect);
} }
/* /*
......
...@@ -869,7 +869,7 @@ w83781d_attach_adapter(struct i2c_adapter *adapter) ...@@ -869,7 +869,7 @@ w83781d_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, w83781d_detect); return i2c_probe(adapter, &addr_data, w83781d_detect);
} }
static int static int
......
...@@ -1076,7 +1076,7 @@ w83792d_attach_adapter(struct i2c_adapter *adapter) ...@@ -1076,7 +1076,7 @@ w83792d_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, w83792d_detect); return i2c_probe(adapter, &addr_data, w83792d_detect);
} }
......
...@@ -142,7 +142,7 @@ static int w83l785ts_attach_adapter(struct i2c_adapter *adapter) ...@@ -142,7 +142,7 @@ static int w83l785ts_attach_adapter(struct i2c_adapter *adapter)
{ {
if (!(adapter->class & I2C_CLASS_HWMON)) if (!(adapter->class & I2C_CLASS_HWMON))
return 0; return 0;
return i2c_detect(adapter, &addr_data, w83l785ts_detect); return i2c_probe(adapter, &addr_data, w83l785ts_detect);
} }
/* /*
......
...@@ -226,7 +226,7 @@ int ds1337_do_command(int bus, int cmd, void *arg) ...@@ -226,7 +226,7 @@ int ds1337_do_command(int bus, int cmd, void *arg)
static int ds1337_attach_adapter(struct i2c_adapter *adapter) static int ds1337_attach_adapter(struct i2c_adapter *adapter)
{ {
return i2c_detect(adapter, &addr_data, ds1337_detect); return i2c_probe(adapter, &addr_data, ds1337_detect);
} }
/* /*
......
...@@ -152,10 +152,10 @@ static struct bin_attribute eeprom_attr = { ...@@ -152,10 +152,10 @@ static struct bin_attribute eeprom_attr = {
static int eeprom_attach_adapter(struct i2c_adapter *adapter) static int eeprom_attach_adapter(struct i2c_adapter *adapter)
{ {
return i2c_detect(adapter, &addr_data, eeprom_detect); return i2c_probe(adapter, &addr_data, eeprom_detect);
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
int eeprom_detect(struct i2c_adapter *adapter, int address, int kind) int eeprom_detect(struct i2c_adapter *adapter, int address, int kind)
{ {
struct i2c_client *new_client; struct i2c_client *new_client;
......
...@@ -161,10 +161,10 @@ static struct bin_attribute user_eeprom_attr = { ...@@ -161,10 +161,10 @@ static struct bin_attribute user_eeprom_attr = {
static int max6875_attach_adapter(struct i2c_adapter *adapter) static int max6875_attach_adapter(struct i2c_adapter *adapter)
{ {
return i2c_detect(adapter, &addr_data, max6875_detect); return i2c_probe(adapter, &addr_data, max6875_detect);
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
static int max6875_detect(struct i2c_adapter *adapter, int address, int kind) static int max6875_detect(struct i2c_adapter *adapter, int address, int kind)
{ {
struct i2c_client *real_client; struct i2c_client *real_client;
......
...@@ -108,10 +108,10 @@ static struct attribute_group pca9539_defattr_group = { ...@@ -108,10 +108,10 @@ static struct attribute_group pca9539_defattr_group = {
static int pca9539_attach_adapter(struct i2c_adapter *adapter) static int pca9539_attach_adapter(struct i2c_adapter *adapter)
{ {
return i2c_detect(adapter, &addr_data, pca9539_detect); return i2c_probe(adapter, &addr_data, pca9539_detect);
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
static int pca9539_detect(struct i2c_adapter *adapter, int address, int kind) static int pca9539_detect(struct i2c_adapter *adapter, int address, int kind)
{ {
struct i2c_client *new_client; struct i2c_client *new_client;
......
...@@ -112,10 +112,10 @@ static DEVICE_ATTR(write, S_IWUSR | S_IRUGO, show_write, set_write); ...@@ -112,10 +112,10 @@ static DEVICE_ATTR(write, S_IWUSR | S_IRUGO, show_write, set_write);
static int pcf8574_attach_adapter(struct i2c_adapter *adapter) static int pcf8574_attach_adapter(struct i2c_adapter *adapter)
{ {
return i2c_detect(adapter, &addr_data, pcf8574_detect); return i2c_probe(adapter, &addr_data, pcf8574_detect);
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
int pcf8574_detect(struct i2c_adapter *adapter, int address, int kind) int pcf8574_detect(struct i2c_adapter *adapter, int address, int kind)
{ {
struct i2c_client *new_client; struct i2c_client *new_client;
......
...@@ -163,10 +163,10 @@ static DEVICE_ATTR(out0_enable, S_IWUSR | S_IRUGO, ...@@ -163,10 +163,10 @@ static DEVICE_ATTR(out0_enable, S_IWUSR | S_IRUGO,
*/ */
static int pcf8591_attach_adapter(struct i2c_adapter *adapter) static int pcf8591_attach_adapter(struct i2c_adapter *adapter)
{ {
return i2c_detect(adapter, &addr_data, pcf8591_detect); return i2c_probe(adapter, &addr_data, pcf8591_detect);
} }
/* This function is called by i2c_detect */ /* This function is called by i2c_probe */
int pcf8591_detect(struct i2c_adapter *adapter, int address, int kind) int pcf8591_detect(struct i2c_adapter *adapter, int address, int kind)
{ {
struct i2c_client *new_client; struct i2c_client *new_client;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册