If a driver is only used in DT platforms, there's no need to get the i2c_device_id as an argument of the probe function. Since this data can be get from the matching of_device_id.
There's a temporary .probe_new field in struct i2c_driver that can be used as probe callback for the case when i2c_device_id won't be used. Signed-off-by: Javier Martinez Canillas <jav...@osg.samsung.com> Acked-by: Laxman Dewangan <ldewan...@nvidia.com> Reviewed-by: Krzysztof Kozlowski <k...@kernel.org> Tested-by: Krzysztof Kozlowski <k...@kernel.org> --- Changes in v2: - Add Laxman's Acked-by tag to patch 3/4. - Add Krzysztof's Reviewed-by and Tested-by tags to patch 3/4. drivers/mfd/max77686.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/mfd/max77686.c b/drivers/mfd/max77686.c index 33dd09493605..896c1bf85acc 100644 --- a/drivers/mfd/max77686.c +++ b/drivers/mfd/max77686.c @@ -172,8 +172,7 @@ static const struct of_device_id max77686_pmic_dt_match[] = { }; MODULE_DEVICE_TABLE(of, max77686_pmic_dt_match); -static int max77686_i2c_probe(struct i2c_client *i2c, - const struct i2c_device_id *id) +static int max77686_i2c_probe(struct i2c_client *i2c) { struct max77686_dev *max77686 = NULL; unsigned int data; @@ -294,7 +293,7 @@ static struct i2c_driver max77686_i2c_driver = { .pm = &max77686_pm, .of_match_table = of_match_ptr(max77686_pmic_dt_match), }, - .probe = max77686_i2c_probe, + .probe_new = max77686_i2c_probe, .id_table = max77686_i2c_id, }; -- 2.7.4