Re: [RFC PATCH] gpio/omap: Fix IRQ handling for SPARSE_IRQ

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/24/2012 4:09 PM, DebBarma, Tarun Kanti wrote:
Hi Benoit,

On Fri, Feb 24, 2012 at 7:26 PM, Cousson, Benoit<b-cousson@xxxxxx>  wrote:
On 2/24/2012 2:53 PM, DebBarma, Tarun Kanti wrote:

On Fri, Feb 24, 2012 at 7:02 PM, Cousson, Benoit<b-cousson@xxxxxx>    wrote:

On 2/24/2012 2:24 PM, DebBarma, Tarun Kanti wrote:


Hi Benoit,

On Fri, Feb 24, 2012 at 4:07 PM, DebBarma, Tarun Kanti
<tarun.kanti@xxxxxx>      wrote:


On Fri, Feb 24, 2012 at 3:41 PM, Cousson, Benoit<b-cousson@xxxxxx>
  wrote:


+ Tarun


On 2/24/2012 12:08 AM, Tony Lindgren wrote:



* Cousson, Benoit<b-cousson@xxxxxx>        [120223 14:14]:



The GPIO driver is still relying on internal OMAP IRQ defines that
are not relevant anymore if OMAP is built with SPARSE_IRQ.




Great :)

Please note that this patch is still RFC, because I do not know
how to fix properly the ugly cpu_class_is_omap1 and the dependency
with IH_MPUIO_BASE to detect a MPUIO.




Sounds like gpio_to_irq() needs to be set in the
arch/arm/*omap*/gpio*.c then.




In fact, after a second thought, that might even work for OMAP1
because
I'm
using the proper base (IRQ and GPIO) to convert the IRQ number.


static int irq_to_gpio(struct gpio_bank *bank, unsigned int gpio_irq)
{

        return gpio_irq - bank->irq_base + bank->chip.base;
}

But it might be good to test it on OMAP1 platform.


Tarun,

Do you have an OMAP1 board to test that.


Yes, I will test on OMAP1 board.


I have booted the image on OMAP1 with following change.
I guess bank->irq_base was a typo?



Not at all :-), it was done on purpose to get rid if the static IRQ
definition.

BTW, it was giving me following compilation error...
drivers/gpio/gpio-omap.c: In function 'irq_to_gpio':
drivers/gpio/gpio-omap.c:90: error: 'struct gpio_bank' has no member
named 'irq_base'
make[2]: *** [drivers/gpio/gpio-omap.o] Error 1


Oh, that's different... you are missing the cleanup patches from the DT
series I did before this one:

eaabbb0 gpio/omap: Fix IRQ handling for SPARSE_IRQ
fa560a7 arm/dts: OMAP3: Add gpio nodes
bfeb298 arm/dts: OMAP4: Add gpio nodes
3062158 gpio/omap: Add DT support to GPIO driver
a140d12 gpio/omap: Use devm_ API and add request_mem_region
0416689 gpio/omap: Remove bank->id information and misc cleanup
249f60c Merge branch 'for_3.4/gpio_cleanup_fixes_v9' of
git://gitorious.org/~tarunkanti/omap-sw-deve

I'll push a temp branch for you.

I have pulled from git://gitorious.org/omap-pm/linux.git for_3.4/dt_gpio_dt.
It is working on OMAP1710.

Hehe, that's cool.

I'll repost the gpio DT series and add that one in it.

Thanks a lot.
Benoit

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux