RE: [PATCH 0/8 RFC] OMAP: GPIO: Split OMAP1 and OMAP2PLUS

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

 




> -----Original Message-----
> From: Kevin Hilman [mailto:khilman@xxxxxxxxxxxxxxxxxxx]
> Sent: Wednesday, April 07, 2010 4:01 AM
> To: Varadarajan, Charulatha
> Cc: linux-omap@xxxxxxxxxxxxxxx; Nayak, Rajendra; paul@xxxxxxxxx; tony@xxxxxxxxxxx
> Subject: Re: [PATCH 0/8 RFC] OMAP: GPIO: Split OMAP1 and OMAP2PLUS
> 
> Charulatha V <charu@xxxxxx> writes:
> 
> > This patch series is in preparation to adapt GPIO to HWMOD FW.
> > It creates OMAP architecture specific gpio files to handle
> > SoC specific gpio_init. The common plat-omap/gpio.c handles all
> > common GPIO APIs.
> >
> > OMAP2PLUS GPIO module is implemented as early platform device and
> > OMAP1 GPIO is still handled in old way via gpio_init from board files.
> >
> > Save/restore context, gpio_prepare_for_retention and
> > gpio_resume_after_retention APIs are also handled in plat-omap layer.
> > These APIs are currently not used in OMAP1, but still they might
> > become common for different OMAP architectures in the future.
> > Hence they are handled in plat-omap layer. If they need to be moved
> > to mach-omap2 layer, additional patches may be sent during
> > next version of this patch series.
> >
> > This patch series is generated on top of linux-omap-2.6 branch: master
> > and tested on 3430SDP, 4430SDP & zoom3.
> 
> I have many problems with this series, but without going into the
> specifics of each patch, I have a big problem with the general
> approach being taken here.
> 
> You say this is in preparation for adaptation to hwmod, but in fact,
> this series is duplicating a lot of the work you would get for free by
> starting with hwmod.
> 
> You're generating a bunch of code that will be completely thrown away
> with a hwmod conversion.  Instead, you should *start* by using hwmod +
> omap_device to generate the platform_devices for you.  Doing this, you
> will drop patches 2, 3 and 4 entirely (they are mostly identical
> anyways, except for the search-and-replace) and also eliminate the
> need for patch 5.
> 
> What is needed here is a way to introduce the platform_device
> conversion without introducing signifcant functional changes at the
> same time.  Here's a proposal to do that, and which should also be
> considerably easier to review for sanity:
> 
> - use hwmod + omap_device to generate (early) platform_devices
> - modify plat-omap/gpio.c to use base addr and IRQ from platform_device
> - modify plat-omap/gpio.c to get clocks based on 'struct device'
> 
> For an example, you can see the pm-wip/hwmods branch in my tree for
> how this was done for UART and the pm-wip/mmc branch for how this was
> done for MMC.

I agree that most of the code would be thrown away once HWMOD comes into picture. Since hwmod patches would be gated for a long time, we decided to first proceed in pushing "GPIO as early init" patch series to mainline first, so that hwmods branch and mainline would not differ much.

Tony/Kevin,

Please suggest which approach is better 
1. to send early init GPIO patches to mainline due to above mentioned reason (or)
2. to make GPIO as a HWMOD FW adapted driver and gate it in hwmods branch.

-Charulatha

> 
> Kevin
--
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