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@xxxxxxxxxxxxxxx> Suggested-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> --- 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(-) diff --git a/drivers/i2c/i2c-core-of.c b/drivers/i2c/i2c-core-of.c index a6c407d36800..33832622f436 100644 --- a/drivers/i2c/i2c-core-of.c +++ b/drivers/i2c/i2c-core-of.c @@ -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; diff --git a/drivers/i2c/i2c-core.h b/drivers/i2c/i2c-core.h index 1247e6e6e975..e4d397b67989 100644 --- a/drivers/i2c/i2c-core.h +++ b/drivers/i2c/i2c-core.h @@ -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; -- 2.25.1