On Wed, Jul 03, 2013 at 05:18:14PM +0300, Luciano Coelho wrote: > 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. hah, missed the 'return' call, my bad :-p Reviewed-by: Felipe Balbi <balbi@xxxxxx> Corrected-my-broken-eye-sight-by: Luciano Coelho <coelho@xxxxxx> -- balbi
Attachment:
signature.asc
Description: Digital signature