[PATCH RESEND] input: gpio_keys_polled: convert to dt

Dmitry Torokhov dmitry.torokhov at gmail.com
Mon Jun 25 18:03:48 EST 2012


On Thu, Jun 21, 2012 at 08:37:18AM -0300, Alexandre Pereira da Silva wrote:
> On Thu, Jun 21, 2012 at 6:18 AM, Dmitry Torokhov
> <dmitry.torokhov at gmail.com> wrote:
> >> @@ -38,7 +40,7 @@ struct gpio_keys_button_data {
> >>  struct gpio_keys_polled_dev {
> >>       struct input_polled_dev *poll_dev;
> >>       struct device *dev;
> >> -     struct gpio_keys_platform_data *pdata;
> >> +     struct gpio_keys_platform_data pdata;
> >
> > I am not sure why this change is needed. Also it seems that the driver
> > leaks DT-created pdata on unload.
> 
> Pdata is now a member of gpio_keys_polled_dev now and that one is
> kzalloc'ed at probe and kfree'd at the removal and errors. I see no
> leaks there.

Ah, I missed that you used on-stack instance to hold parsed DT data...

> 
> I could kzalloc and kfree gpio_keys_polled_dev independently instead,
> to avoid all those pointer changes if you think it's better.
> 
> This is mostly a clone from the dt handling in gpio_keys, and
> comparing both now,
> I see that it will leak on pdata->buttons, so I will fix that.
> 
> >> +
> >> +#define gpio_keys_polled_of_match NULL
> >
> > Please use of_match_ptr() instead.
> 
> Thanks for the suggestion, I will implement that.

-- 
Dmitry


More information about the devicetree-discuss mailing list