Hello Johnatan, May be the issue is the same as Javier Martinez Canillas wrote: "What is not correct is to require OF-only drivers to have an I2C device ID table just as a workaround to have their modules auto-loading working." Please see: http://lkml.iu.edu/hypermail/linux/kernel/1712.0/01779.html So the problem is not in driver, but in auto-loading procedure. Thank you!
Kind regards, Dmitry >>> >> >> >> > Signed-off-by: Dmitry Mastykin <masti...@gmail.com> >>> >> >> >> > --- >>> >> >> >> > drivers/iio/adc/max9611.c | 5 ++--- >>> >> >> >> > 1 file changed, 2 insertions(+), 3 deletions(-) >>> >> >> >> > >>> >> >> >> > diff --git a/drivers/iio/adc/max9611.c >>> >> >> >> > b/drivers/iio/adc/max9611.c >>> >> >> >> > index b1dd17c..ce0115a 100644 >>> >> >> >> > --- a/drivers/iio/adc/max9611.c >>> >> >> >> > +++ b/drivers/iio/adc/max9611.c >>> >> >> >> > @@ -523,8 +523,7 @@ static const struct of_device_id >>> >> >> >> > max9611_of_table[] = { >>> >> >> >> > }; >>> >> >> >> > >>> >> >> >> > MODULE_DEVICE_TABLE(of, max9611_of_table); >>> >> >> >> > -static int max9611_probe(struct i2c_client *client, >>> >> >> >> > - const struct i2c_device_id *id) >>> >> >> >> > +static int max9611_probe(struct i2c_client *client) >>> >> >> >> > { >>> >> >> >> > const char * const shunt_res_prop = >>> >> >> >> > "shunt-resistor-micro-ohms"; >>> >> >> >> > const struct device_node *of_node = client->dev.of_node; >>> >> >> >> > @@ -576,7 +575,7 @@ static struct i2c_driver max9611_driver = { >>> >> >> >> > .owner = THIS_MODULE, >>> >> >> >> > .of_match_table = max9611_of_table, >>> >> >> >> > }, >>> >> >> >> > - .probe = max9611_probe, >>> >> >> >> > + .probe_new = max9611_probe, >>> >> >> >> > }; >>> >> >> >> > module_i2c_driver(max9611_driver); >>> >> >> >> > >>> >> >> >> > -- >>> >> >> >> > 2.7.4 >>> >> >> >> > >>> >> > >>> > >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-iio" in >>> the body of a message to majord...@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>