Re: [PATCH v3 2/8] wlcore: set irq_flags in the board files insteadof hiding behind a quirk
From: Felipe Balbi
Date: Wed Jul 03 2013 - 10:24:13 EST
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