RE: [PATCH] Input: exc3000 - Simplify probe()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Geert,

Thanks for the feedback.


> -----Original Message-----
> From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Sent: Monday, July 17, 2023 10:13 AM
> To: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>; Andreas Helbech Kleist
> <andreaskleist@xxxxxxxxx>; Uwe Kleine-König <u.kleine-
> koenig@xxxxxxxxxxxxxx>; Mike Looijmans <mike.looijmans@xxxxxxxx>; linux-
> input@xxxxxxxxxxxxxxx; Geert Uytterhoeven <geert+renesas@xxxxxxxxx>;
> Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>; linux-
> renesas-soc@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] Input: exc3000 - Simplify probe()
> 
> Hi Biju,
> 
> On Sun, Jul 16, 2023 at 8:25 PM Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> wrote:
> > The exc3000_id.driver_data could store a pointer to the info, like for
> > ACPI/DT-based matching, making I2C, ACPI and DT-based matching more
> > similar.
> >
> > After that, we can simplify the probe() by replacing of_device_get_
> > match_data() and i2c_match_id() by i2c_get_match_data() as we have
> > similar I2C, ACPI and DT-based matching table.
> >
> > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> 
> Thanks for your patch!
> 
> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> 
> A suggestion for improvement (which can be a separate patch, as it would
> touch exc3000_of_match[]) below.

OK. exc3000_acpi_match[] as well.

> 
> > ---
> >  drivers/input/touchscreen/exc3000.c | 18 +++++++-----------
> >  1 file changed, 7 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/input/touchscreen/exc3000.c
> > b/drivers/input/touchscreen/exc3000.c
> > index 4c0d99aae9e0..8b65b4e2aa50 100644
> > --- a/drivers/input/touchscreen/exc3000.c
> > +++ b/drivers/input/touchscreen/exc3000.c
> > @@ -445,9 +441,9 @@ static int exc3000_probe(struct i2c_client
> > *client)  }
> >
> >  static const struct i2c_device_id exc3000_id[] = {
> > -       { "exc3000", EETI_EXC3000 },
> > -       { "exc80h60", EETI_EXC80H60 },
> > -       { "exc80h84", EETI_EXC80H84 },
> > +       { "exc3000", .driver_data =
> (kernel_ulong_t)&exc3000_info[EETI_EXC3000] },
> > +       { "exc80h60", .driver_data =
> (kernel_ulong_t)&exc3000_info[EETI_EXC80H60] },
> > +       { "exc80h84", .driver_data =
> > + (kernel_ulong_t)&exc3000_info[EETI_EXC80H84] },
> 
> As after this the eeti_dev_id values are used only for hardcoded
> indexing inside the exc3000_info array, you can get rid of them by
> splitting the array in individual variables, shortening the lines above
> (and in exc3000_of_match[] below) in the process.

OK, will send a separate patch for splitting the array in individual variables for all match tables (OF/ACPI/I2C)

Cheers,
Biju

> 
> >         { }
> >  };
> >  MODULE_DEVICE_TABLE(i2c, exc3000_id);
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-
> m68k.org
> 
> In personal conversations with technical people, I call myself a hacker.
> But when I'm talking to journalists I just say "programmer" or something
> like that.
>                                 -- Linus Torvalds




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux