diff mbox series

[1/2] iio: light: fix vcnl4000 devicetree hooks

Message ID 20190917145637.22605-1-m.felsch@pengutronix.de (mailing list archive)
State New, archived
Headers show
Series [1/2] iio: light: fix vcnl4000 devicetree hooks | expand

Commit Message

Marco Felsch Sept. 17, 2019, 2:56 p.m. UTC
Since commit ebd457d55911 ("iio: light: vcnl4000 add devicetree hooks")
the of_match_table is supported but the data shouldn't be a string.
Instead it shall be one of 'enum vcnl4000_device_ids'. Also the matching
logic for the vcnl4020 was wrong. Since the data retrieve mechanism is
still based on the i2c_device_id no failures did appeared till now.

Fixes: ebd457d55911 ("iio: light: vcnl4000 add devicetree hooks")
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
---
 drivers/iio/light/vcnl4000.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Angus Ainslie Sept. 18, 2019, 2:46 p.m. UTC | #1
On 2019-09-17 07:56, Marco Felsch wrote:
> Since commit ebd457d55911 ("iio: light: vcnl4000 add devicetree hooks")
> the of_match_table is supported but the data shouldn't be a string.
> Instead it shall be one of 'enum vcnl4000_device_ids'. Also the 
> matching
> logic for the vcnl4020 was wrong. Since the data retrieve mechanism is
> still based on the i2c_device_id no failures did appeared till now.
> 
> Fixes: ebd457d55911 ("iio: light: vcnl4000 add devicetree hooks")
> Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>

Reviewed-by: Angus Ainslie (Purism) angus@akkea.ca

> ---
>  drivers/iio/light/vcnl4000.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/iio/light/vcnl4000.c 
> b/drivers/iio/light/vcnl4000.c
> index 51421ac32517..f522cb863e8c 100644
> --- a/drivers/iio/light/vcnl4000.c
> +++ b/drivers/iio/light/vcnl4000.c
> @@ -398,19 +398,19 @@ static int vcnl4000_probe(struct i2c_client 
> *client,
>  static const struct of_device_id vcnl_4000_of_match[] = {
>  	{
>  		.compatible = "vishay,vcnl4000",
> -		.data = "VCNL4000",
> +		.data = (void *)VCNL4000,
>  	},
>  	{
>  		.compatible = "vishay,vcnl4010",
> -		.data = "VCNL4010",
> +		.data = (void *)VCNL4010,
>  	},
>  	{
> -		.compatible = "vishay,vcnl4010",
> -		.data = "VCNL4020",
> +		.compatible = "vishay,vcnl4020",
> +		.data = (void *)VCNL4010,
>  	},
>  	{
>  		.compatible = "vishay,vcnl4200",
> -		.data = "VCNL4200",
> +		.data = (void *)VCNL4200,
>  	},
>  	{},
>  };
Jonathan Cameron Oct. 5, 2019, 12:27 p.m. UTC | #2
On Wed, 18 Sep 2019 07:46:56 -0700
Angus Ainslie <angus@akkea.ca> wrote:

> On 2019-09-17 07:56, Marco Felsch wrote:
> > Since commit ebd457d55911 ("iio: light: vcnl4000 add devicetree hooks")
> > the of_match_table is supported but the data shouldn't be a string.
> > Instead it shall be one of 'enum vcnl4000_device_ids'. Also the 
> > matching
> > logic for the vcnl4020 was wrong. Since the data retrieve mechanism is
> > still based on the i2c_device_id no failures did appeared till now.
> > 
> > Fixes: ebd457d55911 ("iio: light: vcnl4000 add devicetree hooks")
> > Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>  
> 
> Reviewed-by: Angus Ainslie (Purism) angus@akkea.ca
Applied to the fixes-togreg branch of iio.git and marked for stable.

It might not have impact, but it's clearly wrong so lets get
it fixed in stable branches.  Oops to letting this one through.

Jonathan

> 
> > ---
> >  drivers/iio/light/vcnl4000.c | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/iio/light/vcnl4000.c 
> > b/drivers/iio/light/vcnl4000.c
> > index 51421ac32517..f522cb863e8c 100644
> > --- a/drivers/iio/light/vcnl4000.c
> > +++ b/drivers/iio/light/vcnl4000.c
> > @@ -398,19 +398,19 @@ static int vcnl4000_probe(struct i2c_client 
> > *client,
> >  static const struct of_device_id vcnl_4000_of_match[] = {
> >  	{
> >  		.compatible = "vishay,vcnl4000",
> > -		.data = "VCNL4000",
> > +		.data = (void *)VCNL4000,
> >  	},
> >  	{
> >  		.compatible = "vishay,vcnl4010",
> > -		.data = "VCNL4010",
> > +		.data = (void *)VCNL4010,
> >  	},
> >  	{
> > -		.compatible = "vishay,vcnl4010",
> > -		.data = "VCNL4020",
> > +		.compatible = "vishay,vcnl4020",
> > +		.data = (void *)VCNL4010,
> >  	},
> >  	{
> >  		.compatible = "vishay,vcnl4200",
> > -		.data = "VCNL4200",
> > +		.data = (void *)VCNL4200,
> >  	},
> >  	{},
> >  };
diff mbox series

Patch

diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
index 51421ac32517..f522cb863e8c 100644
--- a/drivers/iio/light/vcnl4000.c
+++ b/drivers/iio/light/vcnl4000.c
@@ -398,19 +398,19 @@  static int vcnl4000_probe(struct i2c_client *client,
 static const struct of_device_id vcnl_4000_of_match[] = {
 	{
 		.compatible = "vishay,vcnl4000",
-		.data = "VCNL4000",
+		.data = (void *)VCNL4000,
 	},
 	{
 		.compatible = "vishay,vcnl4010",
-		.data = "VCNL4010",
+		.data = (void *)VCNL4010,
 	},
 	{
-		.compatible = "vishay,vcnl4010",
-		.data = "VCNL4020",
+		.compatible = "vishay,vcnl4020",
+		.data = (void *)VCNL4010,
 	},
 	{
 		.compatible = "vishay,vcnl4200",
-		.data = "VCNL4200",
+		.data = (void *)VCNL4200,
 	},
 	{},
 };