From patchwork Mon Jun 6 16:03:42 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [v4,2/2] gpio/mxc: Change gpio-mxc into an upstanding gpio driver Date: Mon, 06 Jun 2011 06:03:42 -0000 From: Grant Likely X-Patchwork-Id: 98949 Message-Id: To: Sascha Hauer Cc: arnd@arndb.de, patches@linaro.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, olof@lixom.net, Shawn Guo , linux-arm-kernel@lists.infradead.org On Mon, Jun 6, 2011 at 2:47 AM, Sascha Hauer wrote: > On Mon, Jun 06, 2011 at 02:18:29AM -0600, Grant Likely wrote: >> On Mon, Jun 6, 2011 at 2:12 AM, Sascha Hauer wrote: >> > On Mon, Jun 06, 2011 at 01:52:41AM -0600, Grant Likely wrote: >> >> On Mon, Jun 06, 2011 at 12:07:55AM +0800, Shawn Guo wrote: >> >> > The patch makes necessary changes on gpio-mxc as below to turn it >> >> > into an upstanding gpio driver. >> >> > >> >> >  * Add a list to save all mx2 ports references, so that >> >> >    mx2_gpio_irq_handler can walk through all interrupt status >> >> >    registers >> >> > >> >> >  * Use readl/writel to replace mach-specific accessors >> >> >    __raw_readl/__raw_writel >> >> > >> >> >  * Change mxc_gpio_init into mxc_gpio_probe function >> >> > >> >> >  * Move "struct mxc_gpio_port" into gpio-mxc.c, as it needs not to >> >> >    be public at all, and also make some other cleanup on >> >> >    plat-mxc/include/mach/gpio.h at the same time >> >> > >> >> > And the patch then migrates mach-imx and mach-mx5 to the updated >> >> > driver by adding corresponding platform devices. >> >> > >> >> > Signed-off-by: Shawn Guo >> >> > Acked-by: Olof Johansson >> >> >> >> Applied, thanks. >> > >> > I'm not completely happy with this patch going through your tree. It >> > does massive changes to arch/arm/mach-*mx*, so expect merge conflicts >> > here. >> >> There are also massive changes going on in drivers/gpio.  The solution >> here is to probably put these changes into a new dedicated branch >> based on Linus' tree, we both agree not to rebase that branch, and >> both of us merge the branch into our trees. > > That can work. I just checked that atm there are no conflicts between my > branch and Shawns patches. Can you set up such a branch? Otherwise I can > just keep an eye on conflicts and we set up such a branch once a real > conflict arises. Done. I'm assuming this constitutes an 'acked-by' for the mxs patches. I've already got your a-b for the mxc patches. The whole thing is based on 3.0-rc2, and is pushed out to the following branch. If it looks good to you, then go ahead and merge it into your tree, and I'll merge it into gpio/next. The following changes since commit 59c5f46fbe01a00eedf54a23789634438bb80603: Linux 3.0-rc2 (2011-06-06 18:06:33 +0900) are available in the git repository at: git://git.secretlab.ca/git/linux-2.6 gpio/next-mx Grant Likely (1): gpio/mxs: Move Freescale mxs gpio driver to drivers/gpio Shawn Guo (4): gpio/mxs: Change gpio-mxs into an upstanding gpio driver gpio/mxc: Move Freescale MXC gpio driver to drivers/gpio gpio/mxc: Change gpio-mxc into an upstanding gpio driver gpio/mxc: convert gpio-mxc to use basic_mmio_gpio library arch/arm/mach-imx/mach-apf9328.c | 2 + arch/arm/mach-imx/mach-armadillo5x0.c | 2 + arch/arm/mach-imx/mach-bug.c | 2 + arch/arm/mach-imx/mach-cpuimx27.c | 2 + arch/arm/mach-imx/mach-cpuimx35.c | 2 + arch/arm/mach-imx/mach-eukrea_cpuimx25.c | 2 + arch/arm/mach-imx/mach-imx27_visstrim_m10.c | 2 + arch/arm/mach-imx/mach-imx27ipcam.c | 2 + arch/arm/mach-imx/mach-imx27lite.c | 2 + arch/arm/mach-imx/mach-kzm_arm11_01.c | 2 + arch/arm/mach-imx/mach-mx1ads.c | 2 + arch/arm/mach-imx/mach-mx21ads.c | 2 + arch/arm/mach-imx/mach-mx25_3ds.c | 2 + arch/arm/mach-imx/mach-mx27_3ds.c | 2 + arch/arm/mach-imx/mach-mx27ads.c | 2 + arch/arm/mach-imx/mach-mx31_3ds.c | 2 + arch/arm/mach-imx/mach-mx31ads.c | 2 + arch/arm/mach-imx/mach-mx31lilly.c | 2 + arch/arm/mach-imx/mach-mx31lite.c | 2 + arch/arm/mach-imx/mach-mx31moboard.c | 2 + arch/arm/mach-imx/mach-mx35_3ds.c | 2 + arch/arm/mach-imx/mach-mxt_td60.c | 2 + arch/arm/mach-imx/mach-pca100.c | 2 + arch/arm/mach-imx/mach-pcm037.c | 2 + arch/arm/mach-imx/mach-pcm038.c | 2 + arch/arm/mach-imx/mach-pcm043.c | 2 + arch/arm/mach-imx/mach-qong.c | 2 + arch/arm/mach-imx/mach-scb9328.c | 2 + arch/arm/mach-imx/mach-vpr200.c | 2 + arch/arm/mach-imx/mm-imx1.c | 17 +- arch/arm/mach-imx/mm-imx21.c | 21 +- arch/arm/mach-imx/mm-imx25.c | 16 +- arch/arm/mach-imx/mm-imx27.c | 21 +- arch/arm/mach-imx/mm-imx31.c | 15 +- arch/arm/mach-imx/mm-imx35.c | 15 +- arch/arm/mach-mx5/board-cpuimx51.c | 2 + arch/arm/mach-mx5/board-cpuimx51sd.c | 2 + arch/arm/mach-mx5/board-mx50_rdp.c | 2 + arch/arm/mach-mx5/board-mx51_3ds.c | 2 + arch/arm/mach-mx5/board-mx51_babbage.c | 2 + arch/arm/mach-mx5/board-mx51_efikamx.c | 2 + arch/arm/mach-mx5/board-mx51_efikasb.c | 2 + arch/arm/mach-mx5/board-mx53_evk.c | 2 + arch/arm/mach-mx5/board-mx53_loco.c | 2 + arch/arm/mach-mx5/board-mx53_smd.c | 2 + arch/arm/mach-mx5/devices.c | 64 ----- arch/arm/mach-mx5/mm-mx50.c | 21 +- arch/arm/mach-mx5/mm.c | 25 ++- arch/arm/mach-mxs/Makefile | 2 +- arch/arm/mach-mxs/devices.c | 11 + arch/arm/mach-mxs/devices/Makefile | 1 + arch/arm/mach-mxs/devices/platform-gpio-mxs.c | 53 ++++ arch/arm/mach-mxs/gpio.h | 34 --- arch/arm/mach-mxs/include/mach/devices-common.h | 2 + arch/arm/mach-mxs/mach-mx28evk.c | 1 - arch/arm/mach-mxs/mm-mx23.c | 1 - arch/arm/mach-mxs/mm-mx28.c | 1 - arch/arm/plat-mxc/Makefile | 2 +- arch/arm/plat-mxc/devices.c | 11 + arch/arm/plat-mxc/devices/Makefile | 1 + arch/arm/plat-mxc/devices/platform-gpio-mxc.c | 32 +++ arch/arm/plat-mxc/include/mach/common.h | 12 +- arch/arm/plat-mxc/include/mach/devices-common.h | 2 + arch/arm/plat-mxc/include/mach/gpio.h | 27 -- drivers/gpio/Kconfig | 9 + drivers/gpio/Makefile | 2 + .../arm/plat-mxc/gpio.c => drivers/gpio/gpio-mxc.c | 266 +++++++++++--------- .../arm/mach-mxs/gpio.c => drivers/gpio/gpio-mxs.c | 227 ++++++++++------- 68 files changed, 568 insertions(+), 422 deletions(-) create mode 100644 arch/arm/mach-mxs/devices/platform-gpio-mxs.c delete mode 100644 arch/arm/mach-mxs/gpio.h create mode 100644 arch/arm/plat-mxc/devices/platform-gpio-mxc.c rename arch/arm/plat-mxc/gpio.c => drivers/gpio/gpio-mxc.c (60%) rename arch/arm/mach-mxs/gpio.c => drivers/gpio/gpio-mxs.c (58%) > > Sascha > > -- > Pengutronix e.K.                           |                             | > Industrial Linux Solutions                 | http://www.pengutronix.de/  | > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    | > Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 | >