Messages in this thread | | | Subject | Re: [PATCH v3 2/8] wlcore: set irq_flags in the board files instead of hiding behind a quirk | From | Luciano Coelho <> | Date | Wed, 3 Jul 2013 17:18:14 +0300 |
| |
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.
| |