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. -- Tarun -- 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