@@ -113,9 +113,9 @@ void of_i2c_register_devices(struct i2c_adapter *adap)
of_node_put(bus);
}
-static const struct of_device_id*
+const struct of_device_id *
i2c_of_match_device_sysfs(const struct of_device_id *matches,
- struct i2c_client *client)
+ const struct i2c_client *client)
{
const char *name;
@@ -82,8 +82,17 @@ static inline void i2c_acpi_remove_space_handler(struct i2c_adapter *adapter) {
#ifdef CONFIG_OF
void of_i2c_register_devices(struct i2c_adapter *adap);
+const struct of_device_id *
+i2c_of_match_device_sysfs(const struct of_device_id *matches,
+ const struct i2c_client *client);
#else
static inline void of_i2c_register_devices(struct i2c_adapter *adap) { }
+static inline const struct of_device_id *
+i2c_of_match_device_sysfs(const struct of_device_id *matches,
+ const struct i2c_client *client)
+{
+ return NULL;
+}
#endif
extern struct notifier_block i2c_of_notifier;
Currently i2c_of_match_device_sysfs() is used by i2c_of_match_device(). Convert this to non-static function for finding match data for the I2C sysfs interface using i2c_device_get_match_data() for code reuse. While at it, fix the below issues: 1) Replace 'of_device_id*'->'of_device_id *' in function definition. 2) Fix the alignment in the function definition. 3) Change the struct i2c_client parameter as const to avoid overriding the client pointer. Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Suggested-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- v5: * Split from patch #3 * Removed export symbol --- drivers/i2c/i2c-core-of.c | 4 ++-- drivers/i2c/i2c-core.h | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-)