[PATCH 00/51] some more imx patches for 2.6.38

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Wed Nov 17 16:28:21 EST 2010


Hello,

Some of the patches in this series are already in Sascha's tree, I
resend them because several of them got minor fixes.

The highlights are that for most devices for i.MX1, i.MX21, i.MX25 and
i.MX27 are allocated dynamically which reduces the memory footprint of
the kernel.  Moreover I moved support for i.MX25 to mach-imx targeting a
multi-SoC-kernel for i.MX.

Later I want to do the same for mx3.  I'm not sure about mx5 though.
The discussion about integrating support for i.MX28 into mach-imx made
me questioning if this is sensible.  Well, we'll see.

Note that this series is hardly runtime tested, I only compile tested
using the available imx defconfigs and two random defconfigs for i.MX25
and mxc91231.  (I had to cherry-pick the usb build fixes already in the
usb-tree and I marked SND_IMX_SOC as broken because I was to lazy to
look for Sascha's fixes.)

The following changes since commit be6786ac738801d39cfd264ec88c352efd029578:

  Merge branch 'l2x0-pull-rmk' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into devel-stable (2010-10-28 14:42:06 +0100)

are available in the git repository at:

  git://git.pengutronix.de/git/ukl/linux-2.6.git imx-for-2.6.38

Alberto Panizzo (1):
      ARM: mx3/mach-pcm037_eet: Fix section mismatch for eet_init_devices()

Uwe Kleine-König (50):
      ARM: mx3: fix the last users of IMX_NEEDS_DEPRECATED_SYMBOLS
      ARM: imx: refactor the io mapping macro
      ARM: imx: use MXxy_IO_P2V macros to setup static mappings
      ARM: imx: remove last explicit users of virtual base address defines
      ARM: imx: change static io mapping to use a function
      ARM: imx/debug-macro: rework using the new io mapping macro
      ARM: imx: remove deprecated symbols as all users are gone now
      ARM: imx: dynamically allocate mxc_w1 devices
      ARM: imx: remove unused devices
      ARM: imx: dynamically allocate imx_udc device
      ARM: imx: allow specifying a dma mask when creating a platform device
      ARM: imx: dynamically allocate mx1-camera device
      ARM: imx/gpio: remove some useless casts
      ARM: imx: dynamically allocate mx2-camera device
      ARM: imx: dynamically allocate imx2-wdt devices
      ARM: imx: change the way flexcan devices are registered
      ARM: imx: dynamically register imx-fb devices
      ARM: mx3: enable SPI_IMX for better compile coverage
      ARM: imx: dynamically allocate mxc_pwm devices
      ARM: imx: dynamically register mxc-mmc devices
      ARM: imx: dynamically allocate mxc-ehci devices
      ARM: imx: dynamically allocate fsl-usb2-udc devices
      ARM: imx: dynamically allocate imx-keypad devices
      ARM: imx: dynamically allocate imx21-hcd devices
      ARM: imx: remove now empty devices.h
      ARM: imx: move registration of gpios to plat-mxc/gpio.c
      ARM: mx25: dynamically allocate mxc-ehci devices
      ARM: mx25: dynamically allocate fsl-usb2-udc devices
      ARM: mx25: dynamically allocate mxc_pwm devices
      ARM: mx25: move registration of gpios to plat-mxc/gpio.c
      ARM: mx25: dynamically allocate imx-keypad devices
      ARM: mx25: dynamically allocate imxdi_rtc devices
      ARM: mx25: dynamically allocatate imx-fb devices
      ARM: mx25: dynamically allocate imx2-wdt devices
      ARM: mx25: dynamically allocate mx2-camera devices
      ARM: mx25: remove now empty devices.h
      ARM: imx: move mx25 support to mach-imx
      ARM: imx: let IMX_HAVE_PLATFORM_IMX_FB select HAVE_FB_IMX
      ARM: imx: let the machines select SOC_IMX{21,27}
      ARM: imx: use SOC_IMX25 instead of ARCH_MX25 for multi-SoC
      ARM: mx3: move registration of gpios to plat-mxc/gpio.c
      ARM: mx3: use an MX35 constant in imx35 only code
      ARM: mx3: introduce SOC_IMX31 and SOC_IMX35
      ARM: mx3: dynamically register mxc-mmc devices
      ARM: mx3: dynamically allocate mxc_rnga devices
      ARM: mx3: dynamically allocate fsl-usb2-udc devices
      ARM: mx3: dynamically allocate mxc-ehci devices
      ARM: mx3: dynamically allocate imx2-wdt devices
      ARM: mx3: dynamically allocate imx-keypad devices
      ARM: mx3/mx35_3ds: Add watchdog support

 arch/arm/Makefile                                  |    2 +-
 arch/arm/configs/mx3_defconfig                     |    1 +
 arch/arm/mach-imx/Kconfig                          |  128 ++++-
 arch/arm/mach-imx/Makefile                         |    8 +-
 arch/arm/mach-imx/Makefile.boot                    |    4 +
 .../{mach-mx25/clock.c => mach-imx/clock-imx25.c}  |    0
 arch/arm/mach-imx/devices-imx21.h                  |   24 +
 arch/arm/mach-imx/devices-imx25.h                  |   86 +++
 arch/arm/mach-imx/devices-imx27.h                  |   35 ++
 arch/arm/mach-imx/devices.c                        |  553 --------------------
 arch/arm/mach-imx/devices.h                        |   29 -
 arch/arm/mach-imx/eukrea_mbimx27-baseboard.c       |   17 +-
 .../eukrea_mbimxsd25-baseboard.c}                  |    6 +-
 arch/arm/mach-imx/mach-cpuimx27.c                  |   21 +-
 .../mach-eukrea_cpuimx25.c}                        |   17 +-
 arch/arm/mach-imx/mach-imx27_visstrim_m10.c        |   12 +-
 arch/arm/mach-imx/mach-imx27lite.c                 |    1 -
 arch/arm/mach-imx/mach-mx1ads.c                    |    1 -
 arch/arm/mach-imx/mach-mx21ads.c                   |   20 +-
 arch/arm/{mach-mx25 => mach-imx}/mach-mx25_3ds.c   |   16 +-
 arch/arm/mach-imx/mach-mx27_3ds.c                  |   11 +-
 arch/arm/mach-imx/mach-mx27ads.c                   |   17 +-
 arch/arm/mach-imx/mach-mxt_td60.c                  |   11 +-
 arch/arm/mach-imx/mach-pca100.c                    |   33 +-
 arch/arm/mach-imx/mach-pcm038.c                    |   12 +-
 arch/arm/mach-imx/mach-scb9328.c                   |    1 -
 arch/arm/mach-imx/mm-imx1.c                        |    7 +-
 arch/arm/mach-imx/mm-imx21.c                       |   21 +-
 arch/arm/{mach-mx25/mm.c => mach-imx/mm-imx25.c}   |   27 +-
 arch/arm/mach-imx/mm-imx27.c                       |   21 +-
 arch/arm/mach-imx/pcm970-baseboard.c               |   12 +-
 arch/arm/mach-mx25/Kconfig                         |   34 --
 arch/arm/mach-mx25/Makefile                        |    5 -
 arch/arm/mach-mx25/Makefile.boot                   |    3 -
 arch/arm/mach-mx25/devices-imx25.h                 |   54 --
 arch/arm/mach-mx25/devices.c                       |  308 -----------
 arch/arm/mach-mx25/devices.h                       |   13 -
 arch/arm/mach-mx3/Kconfig                          |   69 ++-
 arch/arm/mach-mx3/Makefile                         |    7 +-
 arch/arm/mach-mx3/devices-imx31.h                  |   27 +
 arch/arm/mach-mx3/devices-imx35.h                  |   32 +-
 arch/arm/mach-mx3/devices.c                        |  271 +---------
 arch/arm/mach-mx3/devices.h                        |   10 -
 arch/arm/mach-mx3/mach-armadillo5x0.c              |   14 +-
 arch/arm/mach-mx3/mach-cpuimx35.c                  |   20 +-
 arch/arm/mach-mx3/mach-kzm_arm11_01.c              |    6 +-
 arch/arm/mach-mx3/mach-mx31_3ds.c                  |   10 +-
 arch/arm/mach-mx3/mach-mx31lilly.c                 |    9 +-
 arch/arm/mach-mx3/mach-mx31lite.c                  |    5 +-
 arch/arm/mach-mx3/mach-mx31moboard.c               |   20 +-
 arch/arm/mach-mx3/mach-mx35_3ds.c                  |   11 +-
 arch/arm/mach-mx3/mach-pcm037.c                    |   23 +-
 arch/arm/mach-mx3/mach-pcm037_eet.c                |    2 +-
 arch/arm/mach-mx3/mach-pcm043.c                    |   16 +-
 arch/arm/mach-mx3/mm.c                             |   84 ++--
 arch/arm/mach-mx3/mx31lilly-db.c                   |    5 +-
 arch/arm/mach-mx3/mx31lite-db.c                    |    8 +-
 arch/arm/mach-mx3/mx31moboard-devboard.c           |   20 +-
 arch/arm/mach-mx3/mx31moboard-marxbot.c            |   21 +-
 arch/arm/mach-mx3/mx31moboard-smartbot.c           |   16 +-
 arch/arm/mach-mx5/mm.c                             |   35 +-
 arch/arm/mach-mxc91231/mm.c                        |   53 +--
 arch/arm/plat-mxc/Kconfig                          |    5 -
 arch/arm/plat-mxc/audmux-v2.c                      |    4 +-
 arch/arm/plat-mxc/devices.c                        |   23 +-
 arch/arm/plat-mxc/devices/Kconfig                  |   46 ++-
 arch/arm/plat-mxc/devices/Makefile                 |   14 +
 arch/arm/plat-mxc/devices/platform-esdhc.c         |    8 +-
 arch/arm/plat-mxc/devices/platform-fec.c           |    6 +-
 arch/arm/plat-mxc/devices/platform-flexcan.c       |   48 ++-
 arch/arm/plat-mxc/devices/platform-fsl-usb2-udc.c  |   56 ++
 arch/arm/plat-mxc/devices/platform-imx-dma.c       |   18 +-
 arch/arm/plat-mxc/devices/platform-imx-fb.c        |   52 ++
 arch/arm/plat-mxc/devices/platform-imx-i2c.c       |   12 +-
 arch/arm/plat-mxc/devices/platform-imx-keypad.c    |   62 +++
 arch/arm/plat-mxc/devices/platform-imx-ssi.c       |   12 +-
 arch/arm/plat-mxc/devices/platform-imx-uart.c      |   12 +-
 arch/arm/plat-mxc/devices/platform-imx2-wdt.c      |   56 ++
 arch/arm/plat-mxc/devices/platform-imx21-hcd.c     |   41 ++
 arch/arm/plat-mxc/devices/platform-imx_udc.c       |   75 +++
 arch/arm/plat-mxc/devices/platform-imxdi_rtc.c     |   41 ++
 arch/arm/plat-mxc/devices/platform-mx1-camera.c    |   42 ++
 arch/arm/plat-mxc/devices/platform-mx2-camera.c    |   64 +++
 arch/arm/plat-mxc/devices/platform-mxc-ehci.c      |   69 +++
 arch/arm/plat-mxc/devices/platform-mxc-mmc.c       |   72 +++
 arch/arm/plat-mxc/devices/platform-mxc_nand.c      |    8 +-
 arch/arm/plat-mxc/devices/platform-mxc_pwm.c       |   60 +++
 arch/arm/plat-mxc/devices/platform-mxc_rnga.c      |   56 ++
 arch/arm/plat-mxc/devices/platform-mxc_w1.c        |   50 ++
 arch/arm/plat-mxc/devices/platform-spi_imx.c       |   12 +-
 arch/arm/plat-mxc/ehci.c                           |    8 +-
 arch/arm/plat-mxc/gpio.c                           |   97 ++++-
 arch/arm/plat-mxc/include/mach/debug-macro.S       |   23 +-
 arch/arm/plat-mxc/include/mach/devices-common.h    |  153 ++++++-
 arch/arm/plat-mxc/include/mach/hardware.h          |   87 +++-
 arch/arm/plat-mxc/include/mach/imxfb.h             |    3 +
 arch/arm/plat-mxc/include/mach/mx1.h               |  155 +-----
 arch/arm/plat-mxc/include/mach/mx21.h              |   50 +--
 arch/arm/plat-mxc/include/mach/mx25.h              |   41 +-
 arch/arm/plat-mxc/include/mach/mx27.h              |  101 +---
 arch/arm/plat-mxc/include/mach/mx2x.h              |  149 ------
 arch/arm/plat-mxc/include/mach/mx31.h              |   71 +--
 arch/arm/plat-mxc/include/mach/mx35.h              |   48 +--
 arch/arm/plat-mxc/include/mach/mx3x.h              |  182 +-------
 arch/arm/plat-mxc/include/mach/mx51.h              |   42 +--
 arch/arm/plat-mxc/include/mach/mxc91231.h          |   23 +-
 106 files changed, 2033 insertions(+), 2589 deletions(-)
 rename arch/arm/{mach-mx25/clock.c => mach-imx/clock-imx25.c} (100%)
 create mode 100644 arch/arm/mach-imx/devices-imx25.h
 delete mode 100644 arch/arm/mach-imx/devices.c
 delete mode 100644 arch/arm/mach-imx/devices.h
 rename arch/arm/{mach-mx25/eukrea_mbimxsd-baseboard.c => mach-imx/eukrea_mbimxsd25-baseboard.c} (97%)
 rename arch/arm/{mach-mx25/mach-cpuimx25.c => mach-imx/mach-eukrea_cpuimx25.c} (90%)
 rename arch/arm/{mach-mx25 => mach-imx}/mach-mx25_3ds.c (92%)
 rename arch/arm/{mach-mx25/mm.c => mach-imx/mm-imx25.c} (69%)
 delete mode 100644 arch/arm/mach-mx25/Kconfig
 delete mode 100644 arch/arm/mach-mx25/Makefile
 delete mode 100644 arch/arm/mach-mx25/Makefile.boot
 delete mode 100644 arch/arm/mach-mx25/devices-imx25.h
 delete mode 100644 arch/arm/mach-mx25/devices.c
 delete mode 100644 arch/arm/mach-mx25/devices.h
 create mode 100644 arch/arm/plat-mxc/devices/platform-fsl-usb2-udc.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-imx-fb.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-imx-keypad.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-imx2-wdt.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-imx21-hcd.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-imx_udc.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-imxdi_rtc.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-mx1-camera.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-mx2-camera.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-mxc-ehci.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-mxc-mmc.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-mxc_pwm.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-mxc_rnga.c
 create mode 100644 arch/arm/plat-mxc/devices/platform-mxc_w1.c


-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list