On Sat, May 28, 2022 at 09:37:55PM +0200, Uwe Kleine-König wrote: > On Fri, May 27, 2022 at 09:56:30PM -0700, Dmitry Torokhov wrote: > > This simplifies error handling in probe() and reduces amount of explicit > > code in remove(). > > > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > > --- > > drivers/input/keyboard/adp5588-keys.c | 111 +++++++++++--------------- > > 1 file changed, 45 insertions(+), 66 deletions(-) > > > > diff --git a/drivers/input/keyboard/adp5588-keys.c b/drivers/input/keyboard/adp5588-keys.c > > index ac21873ba1d7..df84a2998ed2 100644 > > --- a/drivers/input/keyboard/adp5588-keys.c > > +++ b/drivers/input/keyboard/adp5588-keys.c > > @@ -182,6 +182,21 @@ static int adp5588_build_gpiomap(struct adp5588_kpad *kpad, > > return n_unused; > > } > > > > +static void adp5588_gpio_do_teardown(void *_kpad) > > +{ > > + struct adp5588_kpad *kpad = _kpad; > > + struct device *dev = &kpad->client->dev; > > + const struct adp5588_kpad_platform_data *pdata = dev_get_platdata(dev); > > + const struct adp5588_gpio_platform_data *gpio_data = pdata->gpio_data; > > + int error; > > + > > + error = gpio_data->teardown(kpad->client, > > + kpad->gc.base, kpad->gc.ngpio, > > + gpio_data->context); > > + if (error) > > + dev_warn(&kpad->client->dev, "teardown failed %d\n", error); > > +} > > I think the more sensible approach is to drop support for setup and > teardown. Maybe even rip all usage of adp5588_gpio_platform_data. That will come with the transition to device tree/device properties. For now wanted to keep existing functionality intact. Thanks. -- Dmitry