08 Sep, 2013

1 commit

  • Pull MFD (multi-function device) updates from Samuel Ortiz:
    "For the 3.12 merge window we have one new driver for the DA9063 PMIC
    from Dialog Semiconductor.

    Besides that driver we also have:

    - Device tree support for the s2mps11 driver

    - More devm_* conversion for the pm8921, max89xx, menelaus, tps65010,
    wl1273 and pcf50633-adc drivers.

    - A conversion to threaded IRQ and IRQ domain for the twl6030 driver.

    - A fairly big update for the rtsx driver: Better power saving
    support, better vendor settings handling, and a few fixes.

    - Support for a couple more boards (COMe-bHL6 and COMe-cTH6) for the
    Kontron driver.

    - A conversion to the dev_get_platdata() API for all MFD drivers.

    - A removal of non-DT (legacy) support for the twl6040 driver.

    - A few fixes and additions (Mic detect level) to the wm5110 register
    tables.

    - Regmap support for the davinci_voicecodec driver.

    - The usual bunch of minor cleanups and janitorial fixes"

    * tag 'mfd-3.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next: (81 commits)
    mfd: ucb1x00-core: Rewrite ucb1x00_add_dev()
    mfd: ab8500-debugfs: Apply a check for -ENOMEM after allocating memory for event name
    mfd: ab8500-debugfs: Apply a check for -ENOMEM after allocating memory for sysfs
    mfd: timberdale: Use module_pci_driver
    mfd: timberdale: Remove redundant break
    mfd: timberdale: Staticize local variables
    mfd: ab8500-debugfs: Staticize local variables
    mfd: db8500-prcmu: Staticize clk_mgt
    mfd: db8500-prcmu: Use ANSI function declaration
    mfd: omap-usb-host: Staticize usbhs_driver_name
    mfd: 88pm805: Fix potential NULL pdata dereference
    mfd: 88pm800: Fix potential NULL pdata dereference
    mfd: twl6040: Use regmap for register cache
    mfd: davinci_voicecodec: Provide a regmap for register I/O
    mfd: davinci_voicecodec: Remove unused read and write functions
    mmc: memstick: rtsx: Modify copyright comments
    mmc: rtsx: Clear SD_CLK toggle enable bit if switching voltage fail
    mfd: mmc: rtsx: Change default tx phase
    mfd: pcf50633-adc: Use devm_*() functions
    mfd: rtsx: Copyright modifications
    ...

    Linus Torvalds
     

02 Sep, 2013

2 commits


27 Jul, 2013

1 commit


04 Jul, 2013

1 commit

  • Pull power management and ACPI updates from Rafael Wysocki:
    "This time the total number of ACPI commits is slightly greater than
    the number of cpufreq commits, but Viresh Kumar (who works on cpufreq)
    remains the most active patch submitter.

    To me, the most significant change is the addition of offline/online
    device operations to the driver core (with the Greg's blessing) and
    the related modifications of the ACPI core hotplug code. Next are the
    freezer updates from Colin Cross that should make the freezing of
    tasks a bit less heavy weight.

    We also have a couple of regression fixes, a number of fixes for
    issues that have not been identified as regressions, two new drivers
    and a bunch of cleanups all over.

    Highlights:

    - Hotplug changes to support graceful hot-removal failures.

    It sometimes is necessary to fail device hot-removal operations
    gracefully if they cannot be carried out completely. For example,
    if memory from a memory module being hot-removed has been allocated
    for the kernel's own use and cannot be moved elsewhere, it's
    desirable to fail the hot-removal operation in a graceful way
    rather than to crash the kernel, but currenty a success or a kernel
    crash are the only possible outcomes of an attempted memory
    hot-removal. Needless to say, that is not a very attractive
    alternative and it had to be addressed.

    However, in order to make it work for memory, I first had to make
    it work for CPUs and for this purpose I needed to modify the ACPI
    processor driver. It's been split into two parts, a resident one
    handling the low-level initialization/cleanup and a modular one
    playing the actual driver's role (but it binds to the CPU system
    device objects rather than to the ACPI device objects representing
    processors). That's been sort of like a live brain surgery on a
    patient who's riding a bike.

    So this is a little scary, but since we found and fixed a couple of
    regressions it caused to happen during the early linux-next testing
    (a month ago), nobody has complained.

    As a bonus we remove some duplicated ACPI hotplug code, because the
    ACPI-based CPU hotplug is now going to use the common ACPI hotplug
    code.

    - Lighter weight freezing of tasks.

    These changes from Colin Cross and Mandeep Singh Baines are
    targeted at making the freezing of tasks a bit less heavy weight
    operation. They reduce the number of tasks woken up every time
    during the freezing, by using the observation that the freezer
    simply doesn't need to wake up some of them and wait for them all
    to call refrigerator(). The time needed for the freezer to decide
    to report a failure is reduced too.

    Also reintroduced is the check causing a lockdep warining to
    trigger when try_to_freeze() is called with locks held (which is
    generally unsafe and shouldn't happen).

    - cpufreq updates

    First off, a commit from Srivatsa S Bhat fixes a resume regression
    introduced during the 3.10 cycle causing some cpufreq sysfs
    attributes to return wrong values to user space after resume. The
    fix is kind of fresh, but also it's pretty obvious once Srivatsa
    has identified the root cause.

    Second, we have a new freqdomain_cpus sysfs attribute for the
    acpi-cpufreq driver to provide information previously available via
    related_cpus. From Lan Tianyu.

    Finally, we fix a number of issues, mostly related to the
    CPUFREQ_POSTCHANGE notifier and cpufreq Kconfig options and clean
    up some code. The majority of changes from Viresh Kumar with bits
    from Jacob Shin, Heiko Stübner, Xiaoguang Chen, Ezequiel Garcia,
    Arnd Bergmann, and Tang Yuantian.

    - ACPICA update

    A usual bunch of updates from the ACPICA upstream.

    During the 3.4 cycle we introduced support for ACPI 5 extended
    sleep registers, but they are only supposed to be used if the
    HW-reduced mode bit is set in the FADT flags and the code attempted
    to use them without checking that bit. That caused suspend/resume
    regressions to happen on some systems. Fix from Lv Zheng causes
    those registers to be used only if the HW-reduced mode bit is set.

    Apart from this some other ACPICA bugs are fixed and code cleanups
    are made by Bob Moore, Tomasz Nowicki, Lv Zheng, Chao Guan, and
    Zhang Rui.

    - cpuidle updates

    New driver for Xilinx Zynq processors is added by Michal Simek.

    Multidriver support simplification, addition of some missing
    kerneldoc comments and Kconfig-related fixes come from Daniel
    Lezcano.

    - ACPI power management updates

    Changes to make suspend/resume work correctly in Xen guests from
    Konrad Rzeszutek Wilk, sparse warning fix from Fengguang Wu and
    cleanups and fixes of the ACPI device power state selection
    routine.

    - ACPI documentation updates

    Some previously missing pieces of ACPI documentation are added by
    Lv Zheng and Aaron Lu (hopefully, that will help people to
    uderstand how the ACPI subsystem works) and one outdated doc is
    updated by Hanjun Guo.

    - Assorted ACPI updates

    We finally nailed down the IA-64 issue that was the reason for
    reverting commit 9f29ab11ddbf ("ACPI / scan: do not match drivers
    against objects having scan handlers"), so we can fix it and move
    the ACPI scan handler check added to the ACPI video driver back to
    the core.

    A mechanism for adding CMOS RTC address space handlers is
    introduced by Lan Tianyu to allow some EC-related breakage to be
    fixed on some systems.

    A spec-compliant implementation of acpi_os_get_timer() is added by
    Mika Westerberg.

    The evaluation of _STA is added to do_acpi_find_child() to avoid
    situations in which a pointer to a disabled device object is
    returned instead of an enabled one with the same _ADR value. From
    Jeff Wu.

    Intel BayTrail PCH (Platform Controller Hub) support is added to
    the ACPI driver for Intel Low-Power Subsystems (LPSS) and that
    driver is modified to work around a couple of known BIOS issues.
    Changes from Mika Westerberg and Heikki Krogerus.

    The EC driver is fixed by Vasiliy Kulikov to use get_user() and
    put_user() instead of dereferencing user space pointers blindly.

    Code cleanups are made by Bjorn Helgaas, Nicholas Mazzuca and Toshi
    Kani.

    - Assorted power management updates

    The "runtime idle" helper routine is changed to take the return
    values of the callbacks executed by it into account and to call
    rpm_suspend() if they return 0, which allows us to reduce the
    overall code bloat a bit (by dropping some code that's not
    necessary any more after that modification).

    The runtime PM documentation is updated by Alan Stern (to reflect
    the "runtime idle" behavior change).

    New trace points for PM QoS are added by Sahara
    ().

    PM QoS documentation is updated by Lan Tianyu.

    Code cleanups are made and minor issues are addressed by Bernie
    Thompson, Bjorn Helgaas, Julius Werner, and Shuah Khan.

    - devfreq updates

    New driver for the Exynos5-bus device from Abhilash Kesavan.

    Minor cleanups, fixes and MAINTAINERS update from MyungJoo Ham,
    Abhilash Kesavan, Paul Bolle, Rajagopal Venkat, and Wei Yongjun.

    - OMAP power management updates

    Adaptive Voltage Scaling (AVS) SmartReflex voltage control driver
    updates from Andrii Tseglytskyi and Nishanth Menon."

    * tag 'pm+acpi-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (162 commits)
    cpufreq: Fix cpufreq regression after suspend/resume
    ACPI / PM: Fix possible NULL pointer deref in acpi_pm_device_sleep_state()
    PM / Sleep: Warn about system time after resume with pm_trace
    cpufreq: don't leave stale policy pointer in cdbs->cur_policy
    acpi-cpufreq: Add new sysfs attribute freqdomain_cpus
    cpufreq: make sure frequency transitions are serialized
    ACPI: implement acpi_os_get_timer() according the spec
    ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan
    ACPI: Add CMOS RTC Operation Region handler support
    ACPI / processor: Drop unused variable from processor_perflib.c
    cpufreq: tegra: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: s3c64xx: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: omap: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: imx6q: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: exynos: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: dbx500: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: davinci: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: arm-big-little: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: powernow-k8: call CPUFREQ_POSTCHANGE notfier in error cases
    cpufreq: pcc: call CPUFREQ_POSTCHANGE notfier in error cases
    ...

    Linus Torvalds
     

07 Jun, 2013

1 commit


04 Jun, 2013

1 commit

  • The "index" field of struct cpufreq_frequency_table was never an
    index and isn't used at all by the cpufreq core. It only is useful
    for cpufreq drivers for their internal purposes.

    Many people nowadays blindly set it in ascending order with the
    assumption that the core will use it, which is a mistake.

    Rename it to "driver_data" as that's what its purpose is. All of its
    users are updated accordingly.

    [rjw: Changelog]
    Signed-off-by: Viresh Kumar
    Acked-by: Simon Horman
    Signed-off-by: Rafael J. Wysocki

    Viresh Kumar
     

17 May, 2013

2 commits

  • Previously the DSI PLL divider rate was initialised statically and
    assumed to be 1. Before the common clock framework was enabled for
    ux500, a call to clk_set_rate() would always update the HW registers
    no matter what the current setting was.

    This patch makes sure the actual hw settings and the sw assumed
    settings are matched.

    Signed-off-by: Paer-Olof Haakansson
    Signed-off-by: Ulf Hansson
    signed-off-by: Lee Jones
    Signed-off-by: Samuel Ortiz

    Ulf Hansson
     
  • The MFD subsystem requires drivers to state the size of any platform
    data passed, or it will fail to assign it to the device. This will
    culminate in a NULL platform_data attribute and normally a failure to
    probe() or a kernel Oops.

    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones
    Signed-off-by: Samuel Ortiz

    Lee Jones
     

10 Apr, 2013

1 commit

  • The main aim for this cycle is to have the u8540 booting to a
    console. However, the u8540 doesn't support all of the u8500
    platform devices yet. After this stage is complete we can then
    fill in the inadequacies, such as specific clock support at a
    later date. To achieve this we're placing devices supported by
    all platforms into a common device structure and the remaining
    ones into a platform specific one.

    Cc: Samuel Ortiz
    Signed-off-by: Lee Jones
    Signed-off-by: Samuel Ortiz

    Lee Jones
     

09 Apr, 2013

1 commit

  • Currently we check to see if we obtained the Tightly Coupled Program
    Memory (TCPM) base and only execute the code within the check if we
    have it. It's more traditional to return early if we don't have it.
    This way we can flatten most of the function's code down to a single
    tab spacing.

    Signed-off-by: Lee Jones
    Acked-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Lee Jones
     

08 Apr, 2013

5 commits

  • This untangles the final bits of the prcmu code from the platform
    code:

    * The IRQ_PRCMU_* definitions move from irqs-db8500.h into prcmu.c
    because they are only of local significance.
    * u8500_thsens_device goes into the prcmu, because it uses a PRCMU
    IRQ that the platform does not see.
    * IRQ_DB8500_AB8500 and IRQ_PRCMU_BASE go into the platform data
    because the PRCMU does not see it.

    Acked-by: Samuel Ortiz
    Signed-off-by: Arnd Bergmann
    [Fixed a oneliner bug]
    Signed-off-by: Linus Walleij

    Arnd Bergmann
     
  • These two includes are no longer used in the
    PRCMU driver, so drop them.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • We are trying to decompose and decentralize the code in
    the DB8500 PRCMU out into subdrivers. The code moved in
    this patch concerns a group of functions used for
    decoupling and recoupling the IRQs from the GIC. During
    sleep and idle the Ux500 system will transfer all IRQ
    handling to the PRCMU using these functions.

    Basically we are left with the two alternatives of code
    placement as:

    - arch/arm/mach-ux500/pm.c - this because the code is
    closely related to the GIC, and takes ownership of
    some of the registers from the PRCMU related to this
    PM functionality.

    - drivers/mfd/db8500-prcmu-pm.c - because the code is
    affecting stuff in the PRCMU register range. But then
    this code needs to remap and handle GIC registers.

    This patch implementation is taking the first approach.

    Currently the cpuidle driver is the only piece of code
    using this set of functions, but it will later also be
    used by the suspend/resume code which is currently under
    review.

    The header file is moved to:

    The function prototypes need to be placed in a globally
    visible header since the CPUidle code is planned to move
    out to drivers/cpuidle.

    Acked-by: Samuel Ortiz
    Acked-by: Rickard Andersson
    Acked-by: Daniel Lezcano
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • We cannot use a global variable stored in to
    find the base address of the PRCMU. The real resource is already
    there from the board, so use this to look up the base address
    instead.

    Currently the patch is kept minimal so as not to interfere with
    other work being done on refactoring this driver, but at a later
    point the defines using (prcmu_base + 0xnnn) need to be replaced
    by pure offset defined for (0xnnn) and the base inlined with the
    readl()/writel() and similar codepaths.

    Acked-by: Samuel Ortiz
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • This patch will make an early remapping of the PRCMU, to be
    used when setting up the clocks, that will call down into parts
    of the PRCMU driver before it is probed.

    Going forward this will be removed like this:

    - The mailbox subsystem need to be merged.
    http://marc.info/?l=linux-kernel&m=136314559201983&w=2

    - At this point the PRCMU clock code can be moved over to the
    ux500 clock driver in drivers/clk/ux500/* and maintained
    there in a decentralized manner.

    - This early initcall and PRCMU base parameters become part of
    the ux500_clk_init() call instead.

    Cc: Suman Anna
    Cc: Loic Pallardy
    Acked-by: Samuel Ortiz
    Acked-by: Arnd Bergmann
    Acked-by: Ulf Hansson
    Signed-off-by: Linus Walleij

    Linus Walleij
     

25 Feb, 2013

1 commit

  • Pull MFS updates from Samuel Ortiz:
    "This is the MFD pull request for the 3.9 merge window.

    No new drivers this time, but a bunch of fairly big cleanups:

    - Roger Quadros worked on a OMAP USBHS and TLL platform data
    consolidation, OMAP5 support and clock management code cleanup.

    - The first step of a major sync for the ab8500 driver from Lee
    Jones. In particular, the debugfs and the sysct interfaces got
    extended and improved.

    - Peter Ujfalusi sent a nice patchset for cleaning and fixing the
    twl-core driver, with a much needed module id lookup code
    improvement.

    - The regular wm5102 and arizona cleanups and fixes from Mark Brown.

    - Laxman Dewangan extended the palmas APIs in order to implement the
    palmas GPIO and rt drivers.

    - Laxman also added DT support for the tps65090 driver.

    - The Intel SCH and ICH drivers got a couple fixes from Aaron Sierra
    and Darren Hart.

    - Linus Walleij patchset for the ab8500 driver allowed ab8500 and
    ab9540 based devices to switch to the new abx500 pin-ctrl driver.

    - The max8925 now has device tree and irqdomain support thanks to
    Qing Xu.

    - The recently added rtsx driver got a few cleanups and fixes for a
    better card detection code path and now also supports the RTS5227
    chipset, thanks to Wei Wang and Roger Tseng."

    * tag 'mfd-3.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (109 commits)
    mfd: lpc_ich: Use devres API to allocate private data
    mfd: lpc_ich: Add Device IDs for Intel Wellsburg PCH
    mfd: lpc_sch: Accomodate partial population of the MFD devices
    mfd: da9052-i2c: Staticize da9052_i2c_fix()
    mfd: syscon: Fix sparse warning
    mfd: twl-core: Fix kernel panic on boot
    mfd: rtsx: Fix issue that booting OS with SD card inserted
    mfd: ab8500: Fix compile error
    mfd: Add missing GENERIC_HARDIRQS dependecies
    Documentation: Add docs for max8925 dt
    mfd: max8925: Add dts
    mfd: max8925: Support dt for backlight
    mfd: max8925: Fix onkey driver irq base
    mfd: max8925: Fix mfd device register failure
    mfd: max8925: Add irqdomain for dt
    mfd: vexpress: Allow vexpress-sysreg to self-initialise
    mfd: rtsx: Support RTS5227
    mfd: rtsx: Implement driving adjustment to device-dependent callbacks
    mfd: vexpress: Add pseudo-GPIO based LEDs
    mfd: ab8500: Rename ab8500 to abx500 for hwmon driver
    ...

    Linus Torvalds
     

22 Feb, 2013

1 commit

  • Pull ARM SoC driver specific changes from Arnd Bergmann:

    - Updates to the ux500 cpufreq code

    - Moving the u300 DMA controller driver to drivers/dma

    - Moving versatile express drivers out of arch/arm for sharing with arch/arm64

    - Device tree bindings for the OMAP General Purpose Memory Controller

    * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (27 commits)
    ARM: OMAP2+: gpmc: Add device tree documentation for elm handle
    ARM: OMAP2+: gpmc: add DT bindings for OneNAND
    ARM: OMAP2+: gpmc-onenand: drop __init annotation
    mtd: omap-onenand: pass device_node in platform data
    ARM: OMAP2+: Prevent potential crash if GPMC probe fails
    ARM: OMAP2+: gpmc: Remove unneeded of_node_put()
    arm: Move sp810.h to include/linux/amba/
    ARM: OMAP: gpmc: add DT bindings for GPMC timings and NAND
    ARM: OMAP: gpmc: enable hwecc for AM33xx SoCs
    ARM: OMAP: gpmc-nand: drop __init annotation
    mtd: omap-nand: pass device_node in platform data
    ARM: OMAP: gpmc: don't create devices from initcall on DT
    dma: coh901318: cut down on platform data abstraction
    dma: coh901318: merge header files
    dma: coh901318: push definitions into driver
    dma: coh901318: push header down into the DMA subsystem
    dma: coh901318: skip hard-coded addresses
    dma: coh901318: remove hardcoded target addresses
    dma: coh901318: push platform data into driver
    dma: coh901318: create a proper platform data file
    ...

    Linus Torvalds
     

14 Feb, 2013

2 commits


13 Feb, 2013

1 commit


12 Feb, 2013

1 commit

  • When trying to get rid of the cross-includes of
    from different drivers, so we can localize ASIC/CPU detection
    to the mach-ux500 folder, we run into the way the PRCMU
    handles base addresses and firmware detection.

    This patch updates the firmware version detection to pass
    the required information as platform data instead of
    relying on cpu_is_* macros.

    Now the PRCMU base address, the secondary TCDM area, the
    TCPM area and the IRQ are passed as resources instead of
    being grabbed from files. Incidentally this also
    removes part of the reliance on .

    Further it updates the firmware version detection, since the
    location of the firmware ID bytes in the designated memory
    are is now passed from the platform data instead. There is
    no reason not to include the nice split-off of a struct to
    hold the firmware information and a separate function to
    populate it.

    The patch actually rids the need to use the external
    db8500_prcmu_early_init call at all, but I'm keepin back
    that removal as I don't want the patch to be too big.

    Cc: arm@kernel.org
    Cc: Michel Jaoen
    Cc: Lee Jones
    Acked-by: Samuel Ortiz
    Acked-by: Loic Pallardy
    Acked-by: Fabio Baltieri
    Signed-off-by: Linus Walleij

    Linus Walleij
     

10 Feb, 2013

1 commit


30 Jan, 2013

2 commits

  • …/linux-stericsson into next/cleanup

    From Linus Walleij:
    Removal of the <mach/id.h> include from ux500
    - First an ACKed MFD patch deleting the only consumer
    of these cpu_is* functions outside of mach-ux500
    - Introduce a new local cpu_is_u8580() in this patch
    set to avoid clashing with other patch sets.
    - Finally de-globalize <mach/id.h>.

    * tag 'ux500-no-idh' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
    ARM: ux500: de-globalize <mach/id.h>
    ARM: ux500: Introduce cpu_is_u8580()
    mfd: prcmu: delete pin control helpers

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • This removes the file from the global kernel include
    scope, making it a pure mach-ux500 detail. All ASIC specifics
    needed by drivers shall henceforth be passed from either platform
    data or the device tree.

    Cc: Rafael J. Wysocki
    Acked-by: Samuel Ortiz
    Signed-off-by: Linus Walleij

    Linus Walleij
     

29 Jan, 2013

1 commit

  • * depends/cleanup: (375 commits)
    ARM: at91: fix board-rm9200-dt after sys_timer conversion
    clocksource: use clockevents_config_and_register() where possible
    ARM: use clockevents_config_and_register() where possible
    clockevents: export clockevents_config_and_register for module use
    timer: vt8500: Move timer code to drivers/clocksource
    irqchip: Move ARM vic.h to include/linux/irqchip/arm-vic.h
    ARM: picoxcell: use common irqchip_init function
    ARM: spear: use common irqchip_init function
    irqchip: Move ARM VIC to drivers/irqchip
    ARM: samsung: remove unused tick.h
    ARM: remove unneeded vic.h includes
    ARM: remove mach .handle_irq for VIC users
    ARM: VIC: set handle_arch_irq in VIC initialization
    ARM: VIC: shrink down vic.h
    irqchip: Move ARM gic.h to include/linux/irqchip/arm-gic.h
    ARM: use common irqchip_init for GIC init
    irqchip: Move ARM GIC to drivers/irqchip
    ARM: remove mach .handle_irq for GIC users
    ARM: GIC: set handle_arch_irq in GIC initialization
    ARM: GIC: remove direct use of gic_raise_softirq
    ...

    Olof Johansson
     

22 Jan, 2013

1 commit

  • This fixes two issues with the DB8500 PRCMU irqdomain:
    - You have to state the irq base 0 to get a linear domain
    for the DT case from irq_domain_add_simple()
    - The irqdomain was not used to translate the initial irq
    request using irq_create_mapping() making the linear
    case fail as it was lacking a proper descriptor.

    I took this opportunity to fix two lines of whitespace
    errors in related code as I was anyway messing around with
    it.

    Cc: stable@kernel.org
    Acked-by Lee Jones
    Signed-off-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Linus Walleij
     

13 Jan, 2013

1 commit

  • Now that we have GIC moved to drivers/irqchip and all GIC DT init for
    platforms using irqchip_init, move gic.h and update the remaining
    includes.

    Signed-off-by: Rob Herring
    Cc: Thomas Gleixner
    Cc: Russell King
    Cc: Anton Vorontsov
    Cc: Kukjin Kim
    Cc: Sascha Hauer
    Cc: David Brown
    Cc: Daniel Walker
    Cc: Bryan Huntsman
    Cc: Tony Lindgren
    Cc: Paul Mundt
    Cc: Magnus Damm
    Cc: Viresh Kumar
    Cc: Shiraz Hashim
    Cc: Stephen Warren
    Cc: Srinidhi Kasagar
    Cc: Linus Walleij
    Cc: Samuel Ortiz

    Rob Herring
     

07 Jan, 2013

1 commit

  • Since the cpufreq driver for ux500 has been renamed from
    cpufreq-db8500 to cpufreq-dbx500, we need to change the
    device name here as well.

    Signed-off-by: Lee Jones
    Signed-off-by: Ulf Hansson
    Acked-by: Samuel Ortiz
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Linus Walleij

    Lee Jones
     

17 Dec, 2012

1 commit

  • Pull MFS update from Samuel Ortiz:
    "This is the MFD patch set for the 3.8 merge window.

    We have several new drivers, most of the time coming with their sub
    devices drivers:

    - Austria Microsystem's AS3711
    - Nano River's viperboard
    - TI's TPS80031, AM335x TS/ADC,
    - Realtek's MMC/memstick card reader
    - Nokia's retu

    We also got some notable cleanups and improvements:

    - tps6586x got converted to IRQ domains.
    - tps65910 and tps65090 moved to the regmap IRQ API.
    - STMPE is now Device Tree aware.
    - A general twl6040 and twl-core cleanup, with moves to the regmap
    I/O and IRQ APIs and a conversion to the recently added PWM
    framework.
    - sta2x11 gained regmap support.

    Then the rest is mostly tiny cleanups and fixes, among which we have
    Mark's wm5xxx and wm8xxx patchset."

    Far amount of annoying but largely trivial conflicts. Many due to
    __devinit/exit removal, others due to one or two of the new drivers also
    having come in through another tree.

    * tag 'mfd-3.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (119 commits)
    mfd: tps6507x: Convert to devm_kzalloc
    mfd: stmpe: Update DT support for stmpe driver
    mfd: wm5102: Add readback of DSP status 3 register
    mfd: arizona: Log if we fail to create the primary IRQ domain
    mfd: tps80031: MFD_TPS80031 needs to select REGMAP_IRQ
    mfd: tps80031: Add terminating entry for tps80031_id_table
    mfd: sta2x11: Fix potential NULL pointer dereference in __sta2x11_mfd_mask()
    mfd: wm5102: Add tuning for revision B
    mfd: arizona: Defer patch initialistation until after first device boot
    mfd: tps65910: Fix wrong ack_base register
    mfd: tps65910: Remove unused data
    mfd: stmpe: Get rid of irq_invert_polarity
    mfd: ab8500-core: Fix invalid free of devm_ allocated data
    mfd: wm5102: Mark DSP memory regions as volatile
    mfd: wm5102: Correct default for LDO1_CONTROL_2
    mfd: arizona: Register haptics devices
    mfd: wm8994: Make current device behaviour the default
    mfd: tps65090: MFD_TPS65090 needs to select REGMAP_IRQ
    mfd: Fix stmpe.c build when OF is not enabled
    mfd: jz4740-adc: Use devm_kzalloc
    ...

    Linus Torvalds
     

14 Dec, 2012

1 commit

  • Pull ARM SoC multiplatform conversion patches from Olof Johansson:
    "Here are more patches in the progression towards multiplatform, sparse
    irq conversions in particular.

    Tegra has a handful of cleanups and general groundwork, but is not
    quite there yet on full enablement.

    Platforms that are enabled through this branch are VT8500 and Zynq.
    Note that i.MX was converted in one of the earlier cleanup branches as
    well (before we started a separate topic for multiplatform). And both
    new platforms for this merge window, sunxi and bcm, were merged with
    multiplatform support enabled."

    Fix up conflicts mostly as per Olof.

    * tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (29 commits)
    ARM: zynq: Remove all unused mach headers
    ARM: zynq: add support for ARCH_MULTIPLATFORM
    ARM: zynq: make use of debug_ll_io_init()
    ARM: zynq: remove TTC early mapping
    ARM: tegra: move debug-macro.S to include/debug
    ARM: tegra: don't include iomap.h from debug-macro.S
    ARM: tegra: decouple uncompress.h and debug-macro.S
    ARM: tegra: simplify DEBUG_LL UART selection options
    ARM: tegra: select SPARSE_IRQ
    ARM: tegra: enhance timer.c to get IO address from device tree
    ARM: tegra: enhance timer.c to get IRQ info from device tree
    ARM: timer: fix checkpatch warnings
    ARM: tegra: add TWD to device tree
    ARM: tegra: define DT bindings for and instantiate RTC
    ARM: tegra: define DT bindings for and instantiate timer
    clocksource/mtu-nomadik: use apb_pclk
    clk: ux500: Register mtu apb_pclocks
    ARM: plat-nomadik: convert platforms to SPARSE_IRQ
    mfd/db8500-prcmu: use the irq_domain_add_simple()
    mfd/ab8500-core: use irq_domain_add_simple()
    ...

    Linus Torvalds
     

12 Dec, 2012

1 commit

  • Pull driver core updates from Greg Kroah-Hartman:
    "Here's the large driver core updates for 3.8-rc1.

    The biggest thing here is the various __dev* marking removals. This
    is going to be a pain for the merge with different subsystem trees, I
    know, but all of the patches included here have been ACKed by their
    various subsystem maintainers, as they wanted them to go through here.

    If this is too much of a pain, I can pull all of them out of this tree
    and just send you one with the other fixes/updates and then, after
    3.8-rc1 is out, do the rest of the removals to ensure we catch them
    all, it's up to you. The merges should all be trivial, and Stephen
    has been doing them all in linux-next for a few weeks now quite
    easily.

    Other than the __dev* marking removals, there's nothing major here,
    some firmware loading updates and other minor things in the driver
    core.

    All of these have (much to Stephen's annoyance), been in linux-next
    for a while.

    Signed-off-by: Greg Kroah-Hartman "

    Fixed up trivial conflicts in drivers/gpio/gpio-{em,stmpe}.c due to gpio
    update.

    * tag 'driver-core-3.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (93 commits)
    modpost.c: Stop checking __dev* section mismatches
    init.h: Remove __dev* sections from the kernel
    acpi: remove use of __devinit
    PCI: Remove __dev* markings
    PCI: Always build setup-bus when PCI is enabled
    PCI: Move pci_uevent into pci-driver.c
    PCI: Remove CONFIG_HOTPLUG ifdefs
    unicore32/PCI: Remove CONFIG_HOTPLUG ifdefs
    sh/PCI: Remove CONFIG_HOTPLUG ifdefs
    powerpc/PCI: Remove CONFIG_HOTPLUG ifdefs
    mips/PCI: Remove CONFIG_HOTPLUG ifdefs
    microblaze/PCI: Remove CONFIG_HOTPLUG ifdefs
    dma: remove use of __devinit
    dma: remove use of __devexit_p
    firewire: remove use of __devinitdata
    firewire: remove use of __devinit
    leds: remove use of __devexit
    leds: remove use of __devinit
    leds: remove use of __devexit_p
    mmc: remove use of __devexit
    ...

    Linus Torvalds
     

29 Nov, 2012

1 commit

  • CONFIG_HOTPLUG is going away as an option so __devinit is no longer
    needed.

    Signed-off-by: Bill Pemberton
    Cc: Srinidhi Kasagar
    Cc: Peter Tyser
    Cc: Daniel Walker
    Cc: Bryan Huntsman
    Acked-by: David Brown
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     

12 Nov, 2012

1 commit

  • The TCDM mappings are quite different from u8500 to u9540. If these
    aren't correctly specified for a given board, it will fail to boot.
    Here we add the correct TCDM base for the u9540.

    Please note that although this patch allows us to boot the u9540,
    it doesn't provide us with full enablement. For that, another
    patch-set will follow which completely re-vamps the way the PRCMU
    is passed TCDM mappings.

    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones
    Signed-off-by: Samuel Ortiz

    Lee Jones
     

10 Nov, 2012

2 commits

  • ARMSS clk directly maps it's frequency towards the cpufreq table.
    To be able to update the ARMSS clk rate, a new set_rate function for
    the ARMSS clk is added, which also will trigger a corresponding ARM
    OPP request. Additionally an ARMSS clk round_rate function is added
    to fetch valid cpufreq frequencies.

    Signed-off-by: Ulf Hansson
    Acked-by: Linus Walleij
    Acked-by: Samuel Ortiz
    Signed-off-by: Mike Turquette

    Ulf Hansson
     
  • The cpufreq table needs dynamically update due to what the PRCMU
    firmware is supporting. The table is then provided through to the
    mfd child device as platform data.

    Signed-off-by: Ulf Hansson
    Acked-by: Jonas Aaberg
    Acked-by: Linus Walleij
    Acked-by: Samuel Ortiz
    Signed-off-by: Mike Turquette

    Ulf Hansson
     

05 Nov, 2012

1 commit

  • To be able to use SPARSE_IRQ while yet not using device tree,
    we need to use irq_domain_add_simple() that will allocate
    descriptors for the IRQs in the non-DT case, and fall back
    to using the linear irqdomain in the DT case.

    Cc: Lee Jones
    Cc: Samuel Ortiz
    Acked-by: Arnd Bergmann
    Signed-off-by: Linus Walleij

    Linus Walleij
     

30 Oct, 2012

1 commit


05 Oct, 2012

1 commit

  • Pull MFD changes from Samuel Ortiz:
    "MFD bits for the 3.7 merge window.

    As usual we have a few new drivers:

    - TI LP8788
    - TI OMAP USB TLL
    - Maxim MAX8907
    - SMSC ECE1099
    - Dialog Semiconductor DA9055
    - A simpler syscon driver that allow us to get rid of the anatop one.

    Drivers are also gradually getting Device Tree and IRQ domain support.

    The following drivers got DT support:
    - palmas, 88pm860x, tc3589x and twl4030-audio

    And those ones now use the IRQ domain APIs:
    - 88pm860x, tc3589x, db8500_prcmu

    Also some other interesting changes:
    - Intel's ICH LPC now supports Lynx Point
    - TI's twl4030-audio added a GPO child
    - tps6527 enabled its backlight subdevice
    - The twl6030 pwm driver moved to the new PWM subsystem

    And finally a bunch of cleanup and casual fixes for mc13xxx, 88pm860x,
    palmas, ab8500, wm8994, wm5110, max8907 and the tps65xxx family."

    Fix up various annoying conflicts: the DT and IRQ domain support came in
    twice and was already in 3.6. And then it was apparently rebased.

    Guys, DON'T REBASE!

    * tag 'mfd-3.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (89 commits)
    ARM: dts: Enable 88pm860x pmic
    mfd: 88pm860x: Move gpadc init into touch
    mfd: 88pm860x: Device tree support
    mfd: 88pm860x: Use irqdomain
    mfd: smsc: Add support for smsc gpio io/keypad driver
    backlight: tps65217_bl: Add missing platform_set_drvdata in tps65217_bl_probe
    mfd: DA9055 core driver
    mfd: tps65910: Add alarm interrupt of TPS65910 RTC to mfd device list
    mfd: wm5110: Add register patches for revision B
    mfd: wm5110: Disable control interface error report for WM5110 rev B
    mfd: max8907: Remove regulator-compatible from DT docs
    backlight: Add TPS65217 WLED driver
    mfd: Add backlight as subdevice to the tps65217
    mfd: Provide the PRCMU with its own IRQ domain
    mfd: Fix max8907 sparse warning
    mfd: Add lp8788 mfd driver
    mfd: dbx500: Provide a more accurate smp_twd clock
    mfd: rc5t583: Fix warning messages
    regulator: palmas: Add DT support
    mfd: palmas: Change regulator defns to better suite DT
    ...

    Linus Torvalds
     

02 Oct, 2012

1 commit

  • Pull clk framework update from Michael Turquette:
    "The common clk framework changes for 3.7 are dominated by ARM platform
    ports to the framework along with one MIPS port, one MFD port, one
    minor framework enhancement and one helper function for platforms
    expressing their clock data through device tree."

    * tag 'clk-for-linus' of git://git.linaro.org/people/mturquette/linux:
    clk: add of_clk_src_onecell_get() support
    clk: ux500: Define smp_twd clock for u8500
    mfd: dbx500: Provide a more accurate smp_twd clock
    clk: ux500: Support for prmcu_rate clock
    clk: Provide option for clk_get_rate to issue hw for new rate
    clock: max77686: Add driver for Maxim 77686 32Khz crystal oscillator.
    ARM: ux500: Switch to use common clock framework
    clk: ux500: Clock definitions for u8500
    clk: ux500: First version of clock definitions for ux500
    clk: ux500: Adapt PRCMU and PRCC clocks for common clk
    clk: versatile: make config option boolean
    clk: add Loongson1B clock support
    arm: mmp: make all SOCs use common clock by default
    clk: mmp: add clock definition for mmp2
    clk: mmp: add clock definition for pxa910
    clk: mmp: add clock definition for pxa168
    clk: mmp: add mmp specific clocks
    clk: convert ARM RealView to common clk
    clk: prima2: move from arch/arm/mach to drivers/clk
    ARM: PRIMA2: convert to common clk and finish full clk tree

    Linus Torvalds