On Wed, 2013-07-03 at 17:13 +0300, Felipe Balbi wrote: > Hi, > > On Wed, Jul 03, 2013 at 05:03:23PM +0300, Luciano Coelho wrote: > > diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c > > index 56a9a4f..953f620 100644 > > --- a/arch/arm/mach-omap2/board-4430sdp.c > > +++ b/arch/arm/mach-omap2/board-4430sdp.c > > @@ -703,12 +703,30 @@ static void __init omap4_sdp4430_wifi_init(void) > > > > omap4_sdp4430_wifi_mux_init(); > > omap4_sdp4430_wlan_data.irq = gpio_to_irq(GPIO_WIFI_IRQ); > > + > > + ret = gpio_request_one(GPIO_WIFI_IRQ, GPIOF_IN, "GPIO_WIFI_IRQ"); > > + if (ret) { > > + pr_err("error requesting wl12xx gpio: %d\n", ret); > > + goto out; > > + } > > + > > + ret = irq_set_irq_type(gpio_to_irq(GPIO_WIFI_IRQ), IRQ_TYPE_LEVEL_HIGH); > > + if (ret) { > > + pr_err("error setting wl12xx irq type: %d\n", ret); > > + goto free; > > + } > > + > > ret = wl12xx_set_platform_data(&omap4_sdp4430_wlan_data); > > if (ret) > > pr_err("Error setting wl12xx data: %d\n", ret); > > + > > ret = platform_device_register(&omap_vwlan_device); > > if (ret) > > pr_err("Error registering wl12xx device: %d\n", ret); > > +out: > > + return; > > +free: > > + gpio_free(GPIO_WIFI_IRQ); > > actually, you should leave this GPIO requested in order to use it as > IRQ. > > ditto for all others Actually, I don't need to use the GPIO if something goes wrong (ie. setting the IRQ type or setting the platform data). Notice that in the normal cases (ie. without errors), I return before the gpio_free() is called. This is not really needed, but it's a bit cleaner and we can probably release some resources. -- Luca. -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html