[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1344590098.21467.4.camel@tegra-chromium-2>
Date: Fri, 10 Aug 2012 17:14:58 +0800
From: Wei Ni <wni@...dia.com>
To: Arend van Spriel <arend@...adcom.com>
CC: "grant.likely@...retlab.ca" <grant.likely@...retlab.ca>,
"rob.herring@...xeda.com" <rob.herring@...xeda.com>,
"frankyl@...adcom.com" <frankyl@...adcom.com>,
"devicetree-discuss@...ts.ozlabs.org"
<devicetree-discuss@...ts.ozlabs.org>,
"brcm80211-dev-list@...adcom.com" <brcm80211-dev-list@...adcom.com>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: How to get the irq flags from the dts file
On Thu, 2012-08-09 at 20:09 +0800, Arend van Spriel wrote:
> On 08/09/2012 12:43 PM, Wei Ni wrote:
> > Hi, all
> > I'm working on tegra wlan upstream issue.
> > The tegra board use the Broadcom 4329 as wlan device, and the driver is
> > the brcmfmac.
> >
> > This wlan driver support out-band-interrupt (OOB), I want to add DT
> > support to use this OOB.
> > I can add following lines in the dts file to create platform device and
> > pass the interrupt resource to the driver.
> >
> > wlan {
> > compatible = "broadcome, brcmf_sdio_pd";
>
> I don't know the DT syntax, but I assume broadcome should be broadcom,
> right? ;-)
Sorry, it's my typo, it should be broadcom.
>
> > interrupt-parten = <&gpio>;
> > interrupts = <144, 0x04>; /* IRQF_TRIGGER_HIGH */
> > };
> >
> > In the wlan driver, it will use platform_get_resource() to get the
> > res->irq, res->flags, the irq number is right, but the flags will be
> > IORESOURCE_IRQ, not the 0x04 (IRQF_TRIGGER_HIGH).
> > The wlan driver wish this flags include the IRQF_TRGGER_* information,
> > and it will use this flags to configure other hw settings. If it is
> > wrong, the wlan can't work.
> >
> > I checked drivers/of/irq.c, in function of_irq_to_resource(), it will
> > set r->flags = IORESOURCE_IRQ directly, not read the flags from the dtb
> > file. And I didn't find any of_xx api to get this flags.
> >
> > How can I get this flags, does anyone has suggestion?
>
> I did a quick search in the kernel and there are a number of platform
> drivers that seem to expect the IRQF_TRIGGER_* info by using (res->flags
> & IRQF_TRIGGER_MASK) and to determine IRQF_SHARED as well.
>
> Gr. AvS
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists