22 Feb, 2013

1 commit

  • Pull ARM SoC cleanups from Arnd Bergmann:
    "A large number of cleanups, all over the platforms. This is dominated
    largely by the Samsung platforms (s3c, s5p, exynos) and a few of the
    others moving code out of arch/arm into more appropriate subsystems.

    The clocksource and irqchip drivers are now abstracted to the point
    where platforms that are already cleaned up do not need to even
    specify the driver they use, it can all get configured from the device
    tree as we do for normal device drivers. The clocksource changes
    basically touch every single platform in the process.

    We further clean up the use of platform specific header files here,
    with the goal of turning more of the platforms over to being
    "multiplatform" enabled, which implies that they cannot expose their
    headers to architecture independent code any more.

    It is expected that no functional changes are part of the cleanup.
    The overall reduction in total code lines is mostly the result of
    removing broken and obsolete code."

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (133 commits)
    ARM: mvebu: correct gated clock documentation
    ARM: kirkwood: add missing include for nsa310
    ARM: exynos: move exynos4210-combiner to drivers/irqchip
    mfd: db8500-prcmu: update resource passing
    drivers/db8500-cpufreq: delete dangling include
    ARM: at91: remove NEOCORE 926 board
    sunxi: Cleanup the reset code and add meaningful registers defines
    ARM: S3C24XX: header mach/regs-mem.h local
    ARM: S3C24XX: header mach/regs-power.h local
    ARM: S3C24XX: header mach/regs-s3c2412-mem.h local
    ARM: S3C24XX: Remove plat-s3c24xx directory in arch/arm/
    ARM: S3C24XX: transform s3c2443 subirqs into new structure
    ARM: S3C24XX: modify s3c2443 irq init to initialize all irqs
    ARM: S3C24XX: move s3c2443 irq code to irq.c
    ARM: S3C24XX: transform s3c2416 irqs into new structure
    ARM: S3C24XX: modify s3c2416 irq init to initialize all irqs
    ARM: S3C24XX: move s3c2416 irq init to common irq code
    ARM: S3C24XX: Modify s3c_irq_wake to use the hwirq property
    ARM: S3C24XX: Move irq syscore-ops to irq-pm
    clocksource: always define CLOCKSOURCE_OF_DECLARE
    ...

    Linus Torvalds
     

07 Feb, 2013

1 commit

  • This is w.r.t the changes in PHY library to support adding and getting
    multiple PHYs of the same type. In the new design, the
    binding information between the PHY and the USB controller should be
    specified in the platform specific initialization code. So it's been
    done here for OMAP platforms.

    Signed-off-by: Kishon Vijay Abraham I
    Acked-by: Tony Lindgren
    Signed-off-by: Greg Kroah-Hartman

    Kishon Vijay Abraham I
     

25 Dec, 2012

1 commit

  • Now that the only field in struct sys_timer is .init, delete the struct,
    and replace the machine descriptor .timer field with the initialization
    function itself.

    This will enable moving timer drivers into drivers/clocksource without
    having to place a public prototype of each struct sys_timer object into
    include/linux; the intent is to create a single of_clocksource_init()
    function that determines which timer driver to initialize by scanning
    the device dtree, much like the proposed irqchip_init() at:
    http://www.spinics.net/lists/arm-kernel/msg203686.html

    Includes mach-omap2 fixes from Igor Grinberg.

    Tested-by: Robert Jarzmik
    Signed-off-by: Stephen Warren

    Stephen Warren
     

09 Nov, 2012

1 commit


25 Oct, 2012

2 commits

  • Conflicts:
    arch/arm/mach-omap1/clock.c
    arch/arm/mach-omap2/board-2430sdp.c
    arch/arm/mach-omap2/board-4430sdp.c
    arch/arm/mach-omap2/board-cm-t35.c
    arch/arm/mach-omap2/board-igep0020.c
    arch/arm/mach-omap2/board-ldp.c
    arch/arm/mach-omap2/board-omap3beagle.c
    arch/arm/mach-omap2/board-omap3logic.c
    arch/arm/mach-omap2/board-omap4panda.c
    arch/arm/mach-omap2/board-overo.c
    arch/arm/mach-omap2/board-rm680.c
    arch/arm/mach-omap2/board-rx51.c
    arch/arm/mach-omap2/twl-common.c
    arch/arm/mach-omap2/usb-host.c
    arch/arm/mach-omap2/usb-musb.c

    Tony Lindgren
     
  • Let's move what we can from plat/usb.h to the local usb.h
    for ARM common zImage support.

    This is needed so we can remove plat/usb.h for ARM common
    zImage support.

    Cc: Samuel Ortiz
    Cc: Alan Stern
    Cc: Greg Kroah-Hartman
    Cc: Partha Basak
    Cc: Keshava Munegowda
    Cc: linux-usb@vger.kernel.org
    Acked-by: Felipe Balbi
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

18 Oct, 2012

2 commits


15 Oct, 2012

1 commit


21 Sep, 2012

1 commit


13 Sep, 2012

2 commits

  • As the plat and mach includes need to disappear for single zImage work,
    we need to remove plat/hardware.h.

    Do this by splitting plat/hardware.h into omap1 and omap2+ specific files.

    The old plat/hardware.h already has omap1 only defines, so it gets moved
    to mach/hardware.h for omap1. For omap2+, we use the local soc.h
    that for now just includes the related SoC headers to keep this patch more
    readable.

    Note that the local soc.h still includes plat/cpu.h that can be dealt
    with in later patches. Let's also include plat/serial.h from common.h for
    all the board-*.c files. This allows making the include files local later
    on without patching these files again.

    Note that only minimal changes are done in this patch for the
    drivers/watchdog/omap_wdt.c driver to keep things compiling. Further
    patches are needed to eventually remove cpu_is_omap usage in the drivers.

    Also only minimal changes are done to sound/soc/omap/* to remove the
    unneeded includes and to define OMAP44XX_MCPDM_L3_BASE locally so there's
    no need to include omap44xx.h.

    While at it, also sort some of the includes in the standard way.

    Cc: linux-watchdog@vger.kernel.org
    Cc: alsa-devel@alsa-project.org
    Cc: Peter Ujfalusi
    Cc: Jarkko Nikula
    Cc: Liam Girdwood
    Acked-by: Wim Van Sebroeck
    Acked-by: Mark Brown
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • We can't use hardcoded interrupts for SPARSE_IRQ, and can replace
    the hardcoded gpio_base with twl_gpiochip.base after it's been
    allocated.

    Cc: Grant Likely
    Cc: Samuel Ortiz
    Cc: Peter Ujfalusi
    Acked-by: Linus Walleij
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

11 Sep, 2012

1 commit

  • plat/board.h file is now empty - remove it.

    Cc: Jarkko Lavinen
    Cc: Chris Ball
    Cc: Kyungmin Park
    Cc: linux-mmc@vger.kernel.org
    Cc: linux-mtd@lists.infradead.org
    Signed-off-by: Igor Grinberg
    Acked-by: Chris Ball
    Signed-off-by: Tony Lindgren

    Igor Grinberg
     

20 Jun, 2012

1 commit


27 May, 2012

1 commit

  • Pull sweeping late_initcall cleanup for arm-soc from Olof Johansson:
    "This is a patch series from Shawn Guo that moves from individual
    late_initcalls() to using a member in the machine structure to invoke
    a platform's late initcalls.

    This cleanup is a step in the move towards multiplatform kernels since
    it would reduce the need to check for compatible platforms in each and
    every initcall."

    Fix up trivial conflicts in arch/arm/mach-{exynos/mach-universal_c210.c,
    imx/mach-cpuimx51.c, omap2/board-generic.c} due to changes nearby (and,
    in the case of cpuimx51.c the board support being deleted)

    * tag 'cleanup-initcall' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: ux500: use machine specific hook for late init
    ARM: tegra: use machine specific hook for late init
    ARM: shmobile: use machine specific hook for late init
    ARM: sa1100: use machine specific hook for late init
    ARM: s3c64xx: use machine specific hook for late init
    ARM: prima2: use machine specific hook for late init
    ARM: pnx4008: use machine specific hook for late init
    ARM: omap2: use machine specific hook for late init
    ARM: omap1: use machine specific hook for late init
    ARM: msm: use machine specific hook for late init
    ARM: imx: use machine specific hook for late init
    ARM: exynos: use machine specific hook for late init
    ARM: ep93xx: use machine specific hook for late init
    ARM: davinci: use machine specific hook for late init
    ARM: provide a late_initcall hook for platform initialization

    Linus Torvalds
     

10 May, 2012

1 commit

  • Add support for the OMAP3 MUSB OTG controller to the LogicPD
    OMAP3530 SOM-LV[1] and Torpedo[2] DevKits

    [1] - www.logicpd.com/products/system-on-modules/omap35x-som-lv/
    [2] - www.logicpd.com/products/system-on-modules/omap35x-torpedo-som/

    Signed-off-by: Ashwin Bihari
    Signed-off-by: Tony Lindgren

    Ashwin Bihari
     

08 May, 2012

1 commit


04 Apr, 2012

1 commit

  • Initialize fixed regulators in the board files. Trying to
    do this in a generic way in gpmc-smsc911x.c gets messy as
    the regulator may be provided by drivers, such as twl4030,
    for some boards.

    Signed-off-by: Russ Dill
    Signed-off-by: Igor Grinberg
    [tony@atomide.com: combined into one patch, updated comments]
    Signed-off-by: Tony Lindgren

    Russ Dill
     

28 Mar, 2012

1 commit

  • Pull "ARM: board specific updates" from Arnd Bergmann/Olof Johansson:
    "These changes are all specific to one board only. We're trying to
    keep the number of board files low, but generally board level updates
    are ok on platforms that are working on moving towards DT based
    probing, which will eventually lead to removing them.

    The board-ams-delta.c board file gets a conflict between the removal
    of ams_delta_config and the addition of a lot of other data. The
    Kconfig file has two changes in the same line, and in exynos, the
    power domain cleanup conflicts with the addition of the image sensor
    device.

    Signed-off-by: Arnd Bergmann
    [olof: Amended a fix for a mismerge to board-omap4panda.c]
    Signed-off-by: Olof Johansson "

    Fixed up some fairly trivial conflicts manually.

    * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (82 commits)
    i.MX35-PDK: Add Camera support
    ARM : mx35: 3ds-board: add framebuffer device
    pxa/hx4700: Remove pcmcia platform_device structure
    ARM: pxa/hx4700: Reduce sleep mode battery discharge by 35%
    ARM: pxa/hx4700: Remove unwanted request for GPIO105
    ARM: EXYNOS: support Exynos4210-bus Devfreq driver on Nuri board
    ARM: EXYNOS: Register JPEG on nuri
    ARM: EXYNOS: Register JPEG on universal_c210
    ARM: S5PV210: Enable JPEG on SMDKV210
    ARM: S5PV210: Add JPEG board definition
    ARM: EXYNOS: Enable JPEG on Origen
    ARM: EXYNOS: Enable JPEG on SMDKV310
    ARM: EXYNOS: Add __init attribute to universal_camera_init()
    ARM: EXYNOS: Add __init attribute to nuri_camera_init()
    ARM: S5PV210: Enable FIMC on SMDKC110
    ARM: S5PV210: Enable FIMC on SMDKV210
    ARM: S5PV210: Enable MFC on SMDKC110
    ARM: S5PV210: Enable MFC on SMDKV210
    ARM: EXYNOS: Enable G2D on SMDKV310
    ARM: tegra: update defconfig
    ...

    Linus Torvalds
     

06 Mar, 2012

1 commit


21 Feb, 2012

1 commit

  • Otherwise omap_device_build() and omap_mux related functions
    can't be marked as __init when twl is build as a module.

    If a board is using GPIO pins or regulators configured by an
    external chip, such as TWL PMIC on I2C bus, the board must
    mark those MMC controllers as deferred. Additionally both
    omap_hsmmc_init() and omap_hsmmc_late_init() must be called
    by the board.

    For MMC controllers using internal GPIO pins for card
    detect and regulators the slots don't need to be marked
    deferred. In this case calling omap_hsmmc_init() is sufficient.

    Only mark the MMC slots using gpio_cd or gpio_wd as deferred
    as noted by Igor Grinberg .

    Note that this patch does not change the behaviour for
    board-4430sdp.c board-omap4panda.c. These boards wrongly
    rely on the omap_hsmmc.c init function callback to configure
    the PMIC GPIO interrupt lines on external chip. If the PMIC
    interrupt lines are not configured during init, they will
    fail.

    Reported-by: Russell King
    Signed-off-by: Rajendra Nayak
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

05 Jan, 2012

2 commits


22 Nov, 2011

1 commit


18 Nov, 2011

1 commit

  • As suggested by Russell King - ARM Linux ,
    there's no need to keep local prototypes in non-local headers.

    Add mach-omap1/common.h and mach-omap2/common.h and move the
    local prototypes there from plat/common.h and mach/omap4-common.h.

    Signed-off-by: Tony Lindgren
    Signed-off-by: Russell King

    Tony Lindgren
     

16 Nov, 2011

1 commit

  • Convert the omap2plus platforms to be using CONFIG_MULTI_IRQ_HANDLER.
    Each machine is modified to provide either omap2_intc_handle_irq(),
    omap3_intc_handle_irq() or gic_handle_irq().

    This allows for a major cleanup, removing the MULTI_OMAP setup
    from the interrupt path.

    Tested on both Panda and IGEPv2 (single kernel image)

    Tested-by: Tony Lindgren
    Signed-off-by: Marc Zyngier

    Marc Zyngier
     

09 Oct, 2011

1 commit


24 Aug, 2011

2 commits

  • Introduce them for each omap variant and just make them all call
    omap2_init_common_infrastructure for now. Do this for each board-*.c
    file except for board-generic and board-omap3beagle as they use
    the same machine ID for multiple SoCs.

    No functional changes.

    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • There's no need to call omap2_init_common_devices from init_early.

    It no longer does anything else except reprogram the memory timings
    for some boards, so it's better to do it later so we have a chance
    to get console messages if something goes wrong.

    Move it to happen after omap_serial_init gets called. And while
    patching it anyways, rename it to omap_sdrc_init as suggested by
    Benoit Cousson .

    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

22 Aug, 2011

1 commit


29 Jun, 2011

1 commit


28 Jun, 2011

1 commit


20 Jun, 2011

1 commit

  • This is needed for the following patches so we can initialize the
    rest of the hardware timers later on.

    As with the init_irq calls, there's no need to do cpu_is_omap calls
    during the timer init as we only care about the major omap generation.
    This means that we can initialize the sys_timer with the .timer
    entries alone.

    Note that for now we just set stubs for the various sys_timer entries
    that will get populated in a later patch. The following patches will
    also remove the omap_dm_timer_init calls and change the init for the
    rest of the hardware timers to happen with an arch_initcall.

    Signed-off-by: Tony Lindgren
    Reviewed-by: Kevin Hilman

    Tony Lindgren
     

16 Jun, 2011

1 commit

  • This allows us to remove cpu_is_omap calls from init_irq functions.
    There should not be any need for cpu_is_omap calls as at this point.
    During the timer init we only care about SoC generation, and not about
    subrevisions.

    The main reason for the patch is that we want to initialize only
    minimal omap specific code from the init_early call.

    Signed-off-by: Tony Lindgren
    Reviewed-by: Kevin Hilman

    Tony Lindgren
     

14 Jun, 2011

2 commits


03 May, 2011

1 commit


20 Apr, 2011

1 commit


15 Feb, 2011

1 commit


22 Dec, 2010

1 commit

  • Split omap2_init_common_hw() into two functions. The first,
    omap2_init_common_infrastructure(), initializes the hwmod code and
    data, the OMAP PM code, and the clock code and data. The second,
    omap2_init_common_devices(), handles any other early device
    initialization that, for whatever reason, has not been or cannot be
    moved to initcalls or early platform devices.

    This patch is required for the hwmod postsetup patch, which allows
    board files to change the state that hwmods should be placed into at
    the conclusion of the hwmod _setup() function. For example, for a
    board whose creators wish to ensure watchdog coverage across the
    entire kernel boot process, code to change the watchdog's postsetup
    state will be added in the board-*.c file between the
    omap2_init_common_infrastructure() and omap2_init_common_devices() function
    calls.

    Signed-off-by: Paul Walmsley
    Cc: Tony Lindgren

    Paul Walmsley