On Thu, Feb 14, 2013 at 12:04:32PM +0530, Archit Taneja wrote:
> On Wednesday 13 February 2013 11:05 PM, Aaro Koskinen wrote:
> >On Wed, Feb 13, 2013 at 07:52:19PM +0530, Archit Taneja wrote:
> >>@@ -444,6 +445,20 @@ static int n8x0_panel_probe(struct omap_dss_device 
> >>*dssdev)
> >>    dssdev->ctrl.rfbi_timings = n8x0_panel_timings;
> >>    dssdev->caps = OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
> >>
> >>+   if (gpio_is_valid(bdata->panel_reset)) {
> >>+           r = devm_gpio_request_one(&dssdev->dev, bdata->panel_reset,
> >>+                           GPIOF_OUT_INIT_LOW, "PANEL RESET");
> >>+           if (r)
> >>+                   return r;
> >>+   }
> >>+
> >>+   if (gpio_is_valid(bdata->ctrl_pwrdown)) {
> >>+           r = devm_gpio_request_one(&dssdev->dev, bdata->ctrl_pwrdown,
> >>+                           GPIOF_OUT_INIT_LOW, "PANEL PWRDOWN");
> >>+           if (r)
> >>+                   return r;
> >>+   }
> >>+
> >
> >In the error case, the other GPIO is not freed. Also maybe you should
> >free them on module removal, because now the module owns the GPIOs.
> 
> Wouldn't the usage of devm_* functions take care of this? If the
> device isn't registered successfully, then all allocations/requests
> done using devm_* functions will be free'd automatically.

Sorry, I didn't realized they are devm_* now. You are right.

A.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to