diff options
author | Jean Delvare <khali@linux-fr.org> | 2005-07-31 15:20:43 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-09-05 12:14:18 -0400 |
commit | 9fc6adfa9adf2be84119a3c2592287f33bd1dff2 (patch) | |
tree | 6a8e52520c4f99e52de428afc6cd24b844fcb72d /include | |
parent | 5cb802293e87035920d47979107af8cf42a2f62a (diff) |
[PATCH] hwmon: hwmon vs i2c, second round (01/11)
Add support for kind-forced addresses to i2c_probe, like i2c_detect
has for (essentially) hardware monitoring drivers.
Note that this change will slightly increase the size of the drivers
using I2C_CLIENT_INSMOD, with no immediate benefit. This is a
requirement if we want to merge i2c_probe and i2c_detect though, and
seems a reasonable price to pay in comparison with the previous
cleanups which saved much more than that (such as the i2c-isa cleanup
or the i2c address ranges removal.)
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/i2c.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index ad1c0fb164bc..9419bc5584ad 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -48,7 +48,6 @@ struct i2c_algorithm; | |||
48 | struct i2c_adapter; | 48 | struct i2c_adapter; |
49 | struct i2c_client; | 49 | struct i2c_client; |
50 | struct i2c_driver; | 50 | struct i2c_driver; |
51 | struct i2c_client_address_data; | ||
52 | union i2c_smbus_data; | 51 | union i2c_smbus_data; |
53 | 52 | ||
54 | /* | 53 | /* |
@@ -301,7 +300,7 @@ struct i2c_client_address_data { | |||
301 | unsigned short *normal_i2c; | 300 | unsigned short *normal_i2c; |
302 | unsigned short *probe; | 301 | unsigned short *probe; |
303 | unsigned short *ignore; | 302 | unsigned short *ignore; |
304 | unsigned short *force; | 303 | unsigned short **forces; |
305 | }; | 304 | }; |
306 | 305 | ||
307 | /* Internal numbers to terminate lists */ | 306 | /* Internal numbers to terminate lists */ |
@@ -575,11 +574,15 @@ union i2c_smbus_data { | |||
575 | I2C_CLIENT_MODULE_PARM(force, \ | 574 | I2C_CLIENT_MODULE_PARM(force, \ |
576 | "List of adapter,address pairs to boldly assume " \ | 575 | "List of adapter,address pairs to boldly assume " \ |
577 | "to be present"); \ | 576 | "to be present"); \ |
577 | static unsigned short *addr_forces[] = { \ | ||
578 | force, \ | ||
579 | NULL \ | ||
580 | }; \ | ||
578 | static struct i2c_client_address_data addr_data = { \ | 581 | static struct i2c_client_address_data addr_data = { \ |
579 | .normal_i2c = normal_i2c, \ | 582 | .normal_i2c = normal_i2c, \ |
580 | .probe = probe, \ | 583 | .probe = probe, \ |
581 | .ignore = ignore, \ | 584 | .ignore = ignore, \ |
582 | .force = force, \ | 585 | .forces = addr_forces, \ |
583 | } | 586 | } |
584 | 587 | ||
585 | #endif /* _LINUX_I2C_H */ | 588 | #endif /* _LINUX_I2C_H */ |