04 Jul, 2013

4 commits

  • Pull sound updates from Takashi Iwai:
    "A relative calm release at this time with a flat diffstat. The only
    significant change in the ALSA core side is the support for more than
    32 card instances, configurable via kconfig. Other than that, in both
    ASoC and other parts, mostly some improvements and fixes on the driver
    side.

    - hda: More quirks for ALC269-variants on Dell & co, VIA codec fixes
    - hda: Haswell HDMI audio fixes, runtime PM improvements
    - hda: Intel BayTrail support, ALC5505 DSP support
    - es1968: MediaForte M56VAP support
    - usb-audio: Improved support for Yamaha/Roland devices
    - usb-audio: M2Tech hiFace, Audio Advantage Micro II support
    - hdspm: wordclock fixes
    - ASoC: Pending fixes for WM8962
    - ASoC: Cleanups and fixes for Blackfin, SGTL5000 and UX500
    - ASoC: Generalisation of the Bluetooth and HDMI stub drivers
    - ASoC: SSM2518 and RT5640 codec drivers.
    - ASoC: Tegra CPUs with RT5640 machine driver
    - ASoC: AC'97 refactoring bug fixes
    - ASoC: ADAU1701 driver fixes
    - Clean up of *_set_drvdata() in a wide range of drivers"

    * tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (284 commits)
    ALSA: vmaster: Fix the regression of missing vmaster hook call
    ALSA: hda - Add Dell SSID to support Headset Mic recording
    ASoC: adau1701: remove control_data assignment
    ASoC: adau1701: more direct regmap usage
    ASoC: ac97: fixup multi-platform AC'97 module build failure
    ASoC: pxa2xx: fixup multi-platform AC'97 build failures
    ASoC: tegra20-ac97: Remove unused variable
    ASoC: tegra20-ac97: Remove duplicate error message
    ALSA: usb-audio: Add Audio Advantage Micro II
    ASoC: tas5086: fix Mid-Z implementation
    ASoC: tas5086: fix TAS5086_CLOCK_CONTROL register size
    ALSA: Replace the magic number 44 with const
    ALSA: hda - Fix the max length of control name in generic parser
    ALSA: hda - Guess what, it's two more Dell headset mic quirks
    ALSA: hda - Yet another Dell headset mic quirk
    ALSA: hda - Add support for ALC5505 DSP power-save mode
    ASoC: mfld: Remove unused variable
    ALSA: usb-audio: add quirks for Roland QUAD/OCTO-CAPTURE
    ALSA: usb-audio: claim autodetected PCM interfaces all at once
    ALSA: usb-audio: remove superfluous Roland quirks
    ...

    Linus Torvalds
     
  • 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
     
  • Pull clock framework updates from Mike Turquette:
    "The common clock framework changes for 3.11 include new clock drivers
    across several different platforms and architectures, fixes to
    existing drivers, a MAINTAINERS file fix and improvements to the basic
    clock types that allow them to be of use to more platforms than before.

    Only a few fixes to the core framework are included with most all of
    the changes landing in the various clock drivers themselves."

    * tag 'clk-for-linus-3.11' of git://git.linaro.org/people/mturquette/linux: (55 commits)
    clk: tegra: fix ifdef for tegra_periph_reset_assert inline
    clk: tegra: provide tegra_periph_reset_assert alternative
    clk: exynos4: Fix clock aliases for cpufreq related clocks
    clk: samsung: Add MUX_FA macro to pass flag and alias
    clk: add support for Rockchip gate clocks
    clk: vexpress: Make the clock drivers directly available for arm64
    clk: vexpress: Use full node name to identify individual clocks
    clk: tegra: T114: add DFLL DVCO reset control
    clk: tegra: T114: add DFLL source clocks
    clk: tegra: T114: add FCPU clock shaper programming, needed by the DFLL
    clk: gate: add CLK_GATE_HIWORD_MASK
    clk: divider: add CLK_DIVIDER_HIWORD_MASK flag
    clk: mux: add CLK_MUX_HIWORD_MASK
    clk: Always notify whole subtree when reparenting
    MAINTAINERS: make drivers/clk entry match subdirs
    clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate
    clk: use clk_get_rate() for debugfs
    clk: tegra: Use override bits when needed
    clk: tegra: override bits for Tegra30 PLLM
    clk: tegra: override bits for Tegra114 PLLM
    ...

    Linus Torvalds
     
  • Pull spi updates from Mark Brown:
    "A fairly quiet release for the SPI subsystem, the standout changes
    being:

    - Core support for implementing bits per word constraints implemented
    by Stephen Warren, factoring some code out of drivers.

    - Addition of polling mode support for the s3c64xx driver as some
    newer Exynos systems have taken the unusual step of removing
    interrupt support.

    - Use of the in-IP FIFO and generic dmaengine support for the OMAP2
    driver, providing improved performance.

    - Conversion of the mpc512x driver to use the core message queue
    infrastructure.

    The nicest thing being that all the factoring out into common code
    leads to a negative diffstat overall."

    * tag 'spi-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (42 commits)
    spi/s3c64xx: Rely on the compiler eliminating the OF ID table
    spi: s3c64xx: Added support for exynos5440 spi
    spi: s3c64xx: Added provision for dedicated cs pin
    spi: omap2-mcspi: add generic DMA request support to the DT binding
    spi: omap2-mcspi: convert to dma_request_slave_channel_compat()
    spi/s3c64xx: Make wait_for_timeout() function name less generic
    spi: s3c64xx: added support for polling mode
    spi: omap2-mcspi: Add FIFO buffer support
    spi: omap2-mcspi: Move bytes per word calculation to the function
    spi: spi-xilinx: cleanup a check in xilinx_spi_txrx_bufs()
    spi: spi-nuc900: Remove redundant platform_set_drvdata()
    spi: spi-fsl-lib: Make mpc8xxx_spi_work static
    spi: spi-topcliff-pch: Fix sparse warnings
    spi: spi-xilinx: Remove redundant platform_set_drvdata()
    spi: spi-xilinx: Add run run-time endian detection
    spi: mpc512x: use the SPI subsystem's message queue
    spi: mpc512x: improve throughput in the RX/TX func
    spi: mpc512x: minor prep before feature change
    spi: atmel: convert to dma_request_slave_channel_compat()
    spi: sirf: avoid uninitialized-use warning
    ...

    Linus Torvalds
     

03 Jul, 2013

2 commits

  • Pull core irq changes from Ingo Molnar:
    "The main changes:

    - generic-irqchip driver additions, cleanups and fixes

    - 3 new irqchip drivers: ARMv7-M NVIC, TB10x and Marvell Orion SoCs

    - irq_get_trigger_type() simplification and cross-arch cleanup

    - various cleanups, simplifications

    - documentation updates"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)
    softirq: Use _RET_IP_
    genirq: Add the generic chip to the genirq docbook
    genirq: generic-chip: Export some irq_gc_ functions
    genirq: Fix can_request_irq() for IRQs without an action
    irqchip: exynos-combiner: Staticize combiner_init
    irqchip: Add support for ARMv7-M NVIC
    irqchip: Add TB10x interrupt controller driver
    irqdomain: Use irq_get_trigger_type() to get IRQ flags
    MIPS: octeon: Use irq_get_trigger_type() to get IRQ flags
    arm: orion: Use irq_get_trigger_type() to get IRQ flags
    mfd: stmpe: use irq_get_trigger_type() to get IRQ flags
    mfd: twl4030-irq: Use irq_get_trigger_type() to get IRQ flags
    gpio: mvebu: Use irq_get_trigger_type() to get IRQ flags
    genirq: Add irq_get_trigger_type() to get IRQ flags
    genirq: Irqchip: document gcflags arg of irq_alloc_domain_generic_chips
    genirq: Set irq thread to RT priority on creation
    irqchip: Add support for Marvell Orion SoCs
    genirq: Add kerneldoc for irq_disable.
    genirq: irqchip: Add mask to block out invalid irqs
    genirq: Generic chip: Add linear irq domain support
    ...

    Linus Torvalds
     
  • Pull ARM SoC specific changes from Arnd Bergmann:
    "These changes are all to SoC-specific code, a total of 33 branches on
    17 platforms were pulled into this. Like last time, Renesas sh-mobile
    is now the platform with the most changes, followed by OMAP and
    EXYNOS.

    Two new platforms, TI Keystone and Rockchips RK3xxx are added in this
    branch, both containing almost no platform specific code at all, since
    they are using generic subsystem interfaces for clocks, pinctrl,
    interrupts etc. The device drivers are getting merged through the
    respective subsystem maintainer trees.

    One more SoC (u300) is now multiplatform capable and several others
    (shmobile, exynos, msm, integrator, kirkwood, clps711x) are moving
    towards that goal with this series but need more work.

    Also noteworthy is the work on PCI here, which is traditionally part
    of the SoC specific code. With the changes done by Thomas Petazzoni,
    we can now more easily have PCI host controller drivers as loadable
    modules and keep them separate from the platform code in
    drivers/pci/host. This has already led to the discovery that three
    platforms (exynos, spear and imx) are actually using an identical PCIe
    host controller and will be able to share a driver once support for
    spear and imx is added."

    * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (480 commits)
    ARM: integrator: let pciv3 use mem/premem from device tree
    ARM: integrator: set local side PCI addresses right
    ARM: dts: Add pcie controller node for exynos5440-ssdk5440
    ARM: dts: Add pcie controller node for Samsung EXYNOS5440 SoC
    ARM: EXYNOS: Enable PCIe support for Exynos5440
    pci: Add PCIe driver for Samsung Exynos
    ARM: OMAP5: voltagedomain data: remove temporary OMAP4 voltage data
    ARM: keystone: Move CPU bringup code to dedicated asm file
    ARM: multiplatform: always pick one CPU type
    ARM: imx: select syscon for IMX6SL
    ARM: keystone: select ARM_ERRATA_798181 only for SMP
    ARM: imx: Synertronixx scb9328 needs to select SOC_IMX1
    ARM: OMAP2+: AM43x: resolve SMP related build error
    dmaengine: edma: enable build for AM33XX
    ARM: edma: Add EDMA crossbar event mux support
    ARM: edma: Add DT and runtime PM support to the private EDMA API
    dmaengine: edma: Add TI EDMA device tree binding
    arm: add basic support for Rockchip RK3066a boards
    arm: add debug uarts for rockchip rk29xx and rk3xxx series
    arm: Add basic clocks for Rockchip rk3066a SoCs
    ...

    Linus Torvalds
     

28 Jun, 2013

1 commit

  • * pm-assorted:
    PM / QoS: Add pm_qos and dev_pm_qos to events-power.txt
    PM / QoS: Add dev_pm_qos_request tracepoints
    PM / QoS: Add pm_qos_request tracepoints
    PM / QoS: Add pm_qos_update_target/flags tracepoints
    PM / QoS: Update Documentation/power/pm_qos_interface.txt
    PM / Sleep: Print last wakeup source on failed wakeup_count write
    PM / QoS: correct the valid range of pm_qos_class
    PM / wakeup: Adjust messaging for wake events during suspend
    PM / Runtime: Update .runtime_idle() callback documentation
    PM / Runtime: Rework the "runtime idle" helper routine
    PM / Hibernate: print physical addresses consistently with other parts of kernel

    Rafael J. Wysocki
     

25 Jun, 2013

2 commits

  • Use irq_get_trigger_type() to get the IRQ trigger type flags
    instead calling irqd_get_trigger_type(irq_get_irq_data(irq))

    Signed-off-by: Javier Martinez Canillas
    Acked-by: Grant Likely
    Acked-by: Linus Walleij
    Acked-by: Samuel Ortiz
    Cc: Jason Cooper
    Cc: Andrew Lunn
    Cc: Russell King
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-mips@linux-mips.org
    Link: http://lkml.kernel.org/r/1371228049-27080-5-git-send-email-javier.martinez@collabora.co.uk
    Signed-off-by: Thomas Gleixner

    Javier Martinez Canillas
     
  • Use irq_get_trigger_type() to get the IRQ trigger type flags
    instead calling irqd_get_trigger_type(irq_get_irq_data(irq))

    Signed-off-by: Javier Martinez Canillas
    Acked-by: Grant Likely
    Cc: Linus Walleij
    Acked-by: Samuel Ortiz
    Cc: Jason Cooper
    Cc: Andrew Lunn
    Cc: Russell King
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-mips@linux-mips.org
    Link: http://lkml.kernel.org/r/1371228049-27080-4-git-send-email-javier.martinez@collabora.co.uk
    Signed-off-by: Thomas Gleixner

    Javier Martinez Canillas
     

24 Jun, 2013

1 commit


18 Jun, 2013

1 commit


13 Jun, 2013

1 commit


12 Jun, 2013

1 commit


07 Jun, 2013

1 commit


05 Jun, 2013

1 commit


04 Jun, 2013

2 commits

  • 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
     
  • The "runtime idle" helper routine, rpm_idle(), currently ignores
    return values from .runtime_idle() callbacks executed by it.
    However, it turns out that many subsystems use
    pm_generic_runtime_idle() which checks the return value of the
    driver's callback and executes pm_runtime_suspend() for the device
    unless that value is not 0. If that logic is moved to rpm_idle()
    instead, pm_generic_runtime_idle() can be dropped and its users
    will not need any .runtime_idle() callbacks any more.

    Moreover, the PCI, SCSI, and SATA subsystems' .runtime_idle()
    routines, pci_pm_runtime_idle(), scsi_runtime_idle(), and
    ata_port_runtime_idle(), respectively, as well as a few drivers'
    ones may be simplified if rpm_idle() calls rpm_suspend() after 0 has
    been returned by the .runtime_idle() callback executed by it.

    To reduce overall code bloat, make the changes described above.

    Tested-by: Mika Westerberg
    Tested-by: Kevin Hilman
    Signed-off-by: Rafael J. Wysocki
    Acked-by: Kevin Hilman
    Reviewed-by: Ulf Hansson
    Acked-by: Alan Stern

    Rafael J. Wysocki
     

23 May, 2013

1 commit


22 May, 2013

3 commits

  • Pull mfd fixes from Samuel Ortiz:
    "This is the first batch of MFD fixes for 3.10.

    It's bigger than I would like, most of it is due to the big ab/db8500
    merge that went through during the 3.10 merge window.

    So we have:

    - Some build fixes for the tps65912 and ab8500 drivers.
    - A couple of build fixes for the the si476x driver with pre 4.3 gcc
    compilers.
    - A few runtime breakage fixes (probe failures or oopses) for the
    ab8500 and db8500 drivers.
    - Some sparse or regular gcc warning fixes for the si476x, ab8500 and
    cros_ec drivers."

    * tag 'mfd-fixes-3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-fixes:
    mfd: ab8500-sysctrl: Let sysctrl driver work without pdata
    mfd: db8500-prcmu: Update stored DSI PLL divider value
    mfd: ab8500-sysctrl: Always enable pm_power_off handler
    mfd: ab8500-core: Pass GPADC compatible string to MFD core
    mfd: db8500-prcmu: Supply the pdata_size attribute for db8500-thermal
    mfd: ab8500-core: Use the correct driver name when enabling gpio/pinctrl
    mfd: ab8500: Pass AB8500 IRQ to debugfs code by resource
    mfd: ab8500-gpadc: Suppress 'ignoring regulator_enable() return value' warning
    mfd: ab8500-sysctrl: Set sysctrl_dev during probe
    mfd: ab8500-sysctrl: Fix sparse warning
    mfd: abx500-core: Fix sparse warning
    mfd: ab8500: Debugfs code depends on gpadc
    mfd: si476x: Use get_unaligned_be16() for unaligned be16 loads
    mfd: cros_ec_spi: Use %z to format pointer differences
    mfd: si476x: Do not use binary constants
    mfd: tps65912: Select MFD_CORE

    Linus Torvalds
     
  • A check for a valid plat->sysctrl was introduced in:

    2377e52 mfd: ab8500-sysctrl: Error check clean up

    but the driver works just fine even without that initialization data,
    and enforcing it breaks existing platforms for no reason.

    This patch removes the check and let the driver go ahead with probe.

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

    Fabio Baltieri
     
  • The bit in the register enables MICBIAS fast startup when clear not when
    set. This patch changes the name of this pdata option to soft_start to
    better match the functionality. We rename rather than invert the
    handling to keep the same default functionality, which is fast start
    active.

    Signed-off-by: Charles Keepax
    Signed-off-by: Mark Brown

    Charles Keepax
     

20 May, 2013

2 commits


18 May, 2013

1 commit


17 May, 2013

16 commits

  • We aren't able to handle interrupts after the device has suspended since
    we need to runtime resume it in order to do so but the controller may not
    be available any more. Handle this in the same way as we handle a similar
    issue on resume.

    Reported-by: Chuansheng Liu
    Signed-off-by: Mark Brown

    Mark Brown
     
  • We'd forgotten to disable /RESET or the regulators. Practically speaking
    this code is unlikely to ever be run.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • Future updates will require us to manually apply the register patch for
    wm5102.

    Signed-off-by: Charles Keepax
    Signed-off-by: Mark Brown

    Charles Keepax
     
  • Future devices may not fully report the device identification information
    until their boot sequence is complete so defer acting on these until that
    has finished.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • 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
     
  • AB8500 sysctrl driver implements a pm_power_off handler, but that is
    currently not registered until a specific platform data field is
    enabled.

    This patch drops the platform data field and always registers
    ab8500_power_off if no other pm_power_off handler was defined before,
    and also introduces the necessary cleanup code in the driver's remove
    function.

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

    Fabio Baltieri
     
  • When booting with Device Tree enabled the MFD core uses each device's
    compatible string to find and allocate its associated of_node pointer,
    which in turn is passed to the driver via the platform_device struct.
    Without it, the driver won't be able to interrogate the Device Tree or
    locate suitable regulators and will most likely fail to probe.

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

    Lee Jones
     
  • 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
     
  • When we're using Device Tree to enable GPIO drivers we're forced to be
    OS agnostic, thus we are forbidden use names like pinctrl as they are
    specific only to Linux, at least for the time being. However, when we
    are registering devices using internal systems such as MFD or platform
    registration, we can use such terminology. In this case we can and
    should use the platform device ID mechanism to specify which device we
    wish to utilise by detailing pinctrl-.

    This patch fixes a regression that when booting with Device Tree
    enabled the ABx500 GPIO/Pinctrl devices are not probed.

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

    Lee Jones
     
  • The AB8500 debug code which was merged in parallell with the
    multiplatform work incidentally introduced a new instance using
    the header which is now deleted, causing this
    build regression:

    drivers/mfd/ab8500-debugfs.c:95:23:
    fatal error: mach/irqs.h: No such file or directory
    compilation terminated.
    make[4]: *** [drivers/mfd/ab8500-debugfs.o] Error 1

    The code most certainly never worked with device tree either
    since that does not rely on this kind of hard-coded interrupt
    numbers.

    Fix the problem at the root by passing it as a named resource
    from the ab8500-core driver. Use an untyped resource to
    stop the MFD core from remapping this IRQ relative to the
    AB8500 irqdomain.

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

    Linus Walleij
     
  • drivers/mfd/ab8500-gpadc.c: In function ‘ab8500_gpadc_resume’:
    drivers/mfd/ab8500-gpadc.c:911:18: warning: ignoring return value of
    ‘regulator_enable’, declared with attribute warn_unused_result
    [-Wunused-result]

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

    Lee Jones
     
  • The driver requires sysctrl_dev to be set at probe, as it's used by
    other driver functions. This was dropped by mistake in:

    2377e52 mfd: ab8500-sysctrl: Error check clean up

    making all driver functions fail.

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

    Fabio Baltieri
     
  • Fix sparse warning:

    drivers/mfd/ab8500-sysctrl.c:26:6: warning: symbol 'ab8500_power_off' was not declared. Should it be static?

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

    Fabio Baltieri
     
  • Fix sparse warning:

    drivers/mfd/abx500-core.c:159:38: warning: Using plain integer as NULL pointer

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

    Fabio Baltieri
     
  • The AB8500_DEBUG code specifically requires access to the gpadc code,
    not just the common ab8500 driver.

    drivers/built-in.o: In function `ab8500_gpadc_bat_ctrl_print':
    mfd/ab8500-debugfs.c:1733: undefined reference to `ab8500_gpadc_get'
    mfd/ab8500-debugfs.c:1734: undefined reference to `ab8500_gpadc_read_raw'
    mfd/ab8500-debugfs.c:1736: undefined reference to `ab8500_gpadc_ad_to_voltage'

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Lee Jones
    Signed-off-by: Samuel Ortiz

    Arnd Bergmann
     
  • Loading be16 values from byte buffers may cause unaligned accesses, so use
    get_unaligned_be16() to avoid problems on architectures that do not support
    these.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Andrey Smirnov
    Signed-off-by: Samuel Ortiz

    Geert Uytterhoeven