Hi, 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. A. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html