24 Jul, 2015

1 commit


17 Jul, 2015

2 commits


15 Jul, 2015

1 commit

  • When resolving device supplies if we fail to look up the regulator we
    substitute in the dummy supply instead if the system has fully specified
    constraints. When resolving supplies for regulators we do not have the
    equivalent code and instead just directly use the regulator_dev_lookup()
    result causing spurious failures.

    This does not affect DT systems since we are able to detect missing
    mappings directly as part of regulator_dev_lookup() and so have appropriate
    handling in the DT specific code.

    Reported-by: Christian Hartmann
    Signed-off-by: Mark Brown

    Mark Brown
     

10 Jul, 2015

1 commit

  • As per datasheet,
    Except LDO2, all other LDO's use bit [3:0] for VOUT select.

    Current code uses wrong mask value of 0x1f, So this patch
    fixes it to use 0xf.

    Signed-off-by: Yi Zhang
    [vaibhav.hiremath@linaro.org: Updated changelog with more detailed description]
    Signed-off-by: Vaibhav Hiremath
    Signed-off-by: Mark Brown

    Yi Zhang
     

07 Jul, 2015

1 commit


03 Jul, 2015

1 commit

  • Pull implicit module.h fixes from Paul Gortmaker:
    "Fix up implicit users that will break later.

    The files changed here are simply modular source files that are
    implicitly relying on being present. We fix them up now,
    so that we can decouple some of the module related init code from the
    core init code in the future.

    The addition of the module.h include to several files here is also a
    no-op from a code generation point of view, else there would already
    be compile issues with these files today.

    There may be lots more implicit includes of in tree, but
    these are the ones that extensive build test coverage has shown that
    must be fixed in order to avoid build breakage fallout for the pending
    module.h init.h code relocation we desire to complete"

    * tag 'module-implicit-v4.1-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
    frv: add module.h to mb93090-mb00/flash.c to avoid compile fail
    drivers/cpufreq: include for modular exynos-cpufreq.c code
    drivers/staging: include for modular android tegra_ion code
    crypto/asymmetric_keys: pkcs7_key_type needs module.h
    sh: mach-highlander/psw.c is tristate and should use module.h
    drivers/regulator: include for modular max77802 code
    drivers/pcmcia: include for modular xxs1500_ss code
    drivers/hsi: include for modular omap_ssi code
    drivers/gpu: include for modular rockchip code
    drivers/gpio: include for modular crystalcove code
    drivers/clk: include for clk-max77xxx modular code

    Linus Torvalds
     

26 Jun, 2015

1 commit

  • Pull sound updates from Takashi Iwai:
    "It was a busy development cycle at this time, as you can see a wide
    range of changes in diffstat. There are no big changes but many
    refactoring and improvements. Here we go some highlights:

    ALSA core:
    - Procfs codes were cleaned up to use seq_file
    - Procfs can be opt out via Kconfig (only for EXPERT)
    - Two types of jack API were unified finally; now both kctl and input
    jack devs are handled via a single function call.

    HD-audio:
    - Continued code restructuring for the future ASoC driver; now HDA
    controller driver is split to a core helper module.
    - Preliminary codes for Skylake audio support in HDA core.
    - Proper i915 gfx power well management for SKL & co
    - Enabled runtime PM as default for Intel HDMI/DP codecs
    - Newer Tegra chip supports
    - More quirks for Dell headsets, Alienware (with CA0132), etc.
    - A couple of DRM ELD helper API functions

    ASoC:
    - Support for loading ASoC topology maps from firmware, intended to
    be used to allow self-describing DSP firmware images to be built
    which can map controls added by the DSP to userspace without the
    kernel needing to know about individual DSP firmwares
    - Lots of refactoring to avoid direct access to snd_soc_codec where
    it's not needed supporting future refactoring
    - Big refactoring, cleanup and enhancement for the Wolfson ADSP
    driver
    - Cleanup series for TI TAS2552 and R-CAR drivers
    - Fixes and improvements on RT56xx codecs
    - Support for TI TAS571x power amplifiers
    - Support for Qualcomm APQ8016 and ZTE ZX296702 SoCs
    - Support for x86 systems with RT5650 and Qualcomm Storm
    - Support for Mediatek AFE (Audio Front End) unit
    - Other various small fixes to ASoC codec drivers

    Firewire:
    - Enhanced to allow non-blocking streams to use timestamp
    synchronization
    - Improve support for DM1500 and BeBoBv3

    Misc:
    - Cleanup of old pci API functions over all PCI sound drivers
    - Fix long-standing regression of the old powermac i2c setup"

    * tag 'sound-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (533 commits)
    ALSA: pcm: Fix pcm_class sysfs output
    ALSA: hda-beep: Update authors dead email address
    ASoC: wm_adsp: Move DSP Rate controls into the codec
    ASoC: wm8995: Fix setting sysclk for WM8995_SYSCLK_MCLK2 case
    ALSA: hda: provide default bus io ops extended hdac
    ALSA: hda: add hda link cleanup routine
    ALSA: hda: add hdac_ext stream creation and cleanup routines
    ASoC: rsrc-card: remove unused ret
    ALSA: HDAC: move SND_HDA_PREALLOC_SIZE to core
    ASoC: mediatek: Add machine driver for rt5650 rt5676 codec
    ASoC: mediatek: Add machine driver for MAX98090 codec
    ASoC: mediatek: Add AFE platform driver
    ASoC: rsnd: remove io from rsnd_mod
    ASoC: rsnd: move rsnd_mod_is_working() to rsnd_io_is_working()
    ASoC: rsnd: don't use rsnd_mod_to_io() on snd_kcontrol
    ASoC: rsnd: don't use rsnd_mod_to_io() on rsnd_src_xxx()
    ASoC: rsnd: don't use rsnd_mod_to_io() on rsnd_ssi_xxx()
    ASoC: rsnd: don't use rsnd_mod_to_io() on rsnd_dma_xxx()
    ASoC: rsnd: don't use rsnd_mod_to_io() on rsnd_get_adinr()
    ASoC: rsnd: add common interrupt handler for SSI/SRC/DMA
    ...

    Linus Torvalds
     

24 Jun, 2015

2 commits

  • Status of enabling suspend mode for regulator was stored in bitmap-like
    long integer.

    However since adding support for S2MPU02 the number of regulators
    exceeded 32 so on devices with more than 32 regulators (S2MPU02 and
    S2MPS13) overflow happens when shifting the bit. This could lead to
    enabling suspend mode for completely different regulator than intended
    or to switching different regulator to other mode (e.g. from always
    enabled to controlled by PWRHOLD pin). Both cases could result in larger
    energy usage and issues when suspending to RAM.

    Fixes: 00e2573d2c10 ("regulator: s2mps11: Add support S2MPU02 regulator device")
    Reported-by: Dan Carpenter
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Mark Brown
    Cc:

    Krzysztof Kozlowski
     
  • Pull MFD updates from Lee Jones:
    "Changes to existing drivers:
    - Constify structures; throughout the subsystem
    - Move support to DT in; cros_ec
    - DT changes and documentation; cros-ec, max77693, max77686, arizona, da9063
    - ACPI changes and documentation; mfd-core
    - Use different platform specific API in; cros_ec_*, arizona-core
    - Remove unused parent field from; cros_ec_i2c
    - Add wake-up/reset delay in; cross_ec_spi, arizona-core
    - Staticise structures/functions in; cros_ec
    - Remove redundant code; arizona-core, max77686
    - Bugfix; twl4030-power
    - Allow compile test; aat2870, tps65910
    - MAINTAINERS adaptions; samsung, syscon
    - Resource Management (devm_*); arizona-core
    - Refactor Reset code; arizona-core
    - Insist on at least one full boot; arizona-core
    - Trivial formatting; arizona-core
    - Add low-power-sleep; arizona-core
    - IRQ ONESHOT changes; twl4030-irq, mc13xxx-core, wm831x-auxadc, htc-i2cpld,
    wm8350-core, ab8500-debugfs, ab8500-gpadc, si476x-i2c

    (Re-)moved drivers:
    - Move protocol helpers out to drivers/platform; cros_ec

    New drivers/supported devices:
    - Add support for AXP22x into axp20x
    - Add support for OnKey into da9063-core
    - Add support for Pinctrl into mt6397-core
    - New STMicroelectronics LPC Watchdog driver
    - New STMicroelectronics LPC Real-Time Clock driver"

    * tag 'mfd-for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (59 commits)
    mfd: lpc_ich: Assign subdevice ids automatically
    mfd: si476x-i2c: Pass the IRQF_ONESHOT flag
    mfd: ab8500-gpadc: Pass the IRQF_ONESHOT flag
    mfd: ab8500-debugfs: Pass the IRQF_ONESHOT flag
    mfd: wm8350-core: Pass the IRQF_ONESHOT flag
    mfd: htc-i2cpld: Pass the IRQF_ONESHOT flag
    mfd: wm831x-auxadc: Pass the IRQF_ONESHOT flag
    mfd: mc13xxx-core: Pass the IRQF_ONESHOT flag
    mfd: twl4030-irq: Pass the IRQF_ONESHOT flag
    mfd: mt6397-core: Add GPIO sub-module support
    mfd: arizona: Add convience defines for micd_rate/micd_bias_starttime
    mfd: dt: Add bindings for DA9063 OnKey
    mfd: da9063: Add support for OnKey driver
    mfd: arizona: Fix incorrect Makefile conditionals
    mfd: arizona: Add stub for wm5102_patch()
    mfd: Check ACPI device companion before checking resources
    Documentation: Add WM8998/WM1814 device tree bindings
    mfd: arizona: Split INx_MODE into two fields
    mfd: wm5110: Add delay before releasing reset line
    mfd: arizona: Add better support for system suspend
    ...

    Linus Torvalds
     

22 Jun, 2015

7 commits


19 Jun, 2015

1 commit


17 Jun, 2015

2 commits

  • drivers/regulator/qcom_spmi-regulator.c:751:3-50: code aligned
    with following code on line 753
    drivers/regulator/qcom_spmi-regulator.c:584:3-41: code aligned
    with following code on line 587

    These lines where missing braces causing the break to always
    be executed even when it shouldn't be. Fix it.

    Reported-by: kbuild test robot
    Signed-off-by: Stephen Boyd
    Reviewed-by: Andy Gross
    Signed-off-by: Mark Brown

    Stephen Boyd
     
  • This file is built off of a tristate Kconfig option and also contains
    modular function calls so it should explicitly include module.h to
    avoid compile breakage during header shuffles done in the future.

    Cc: Liam Girdwood
    Cc: Mark Brown
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

16 Jun, 2015

2 commits

  • Simplify a trivial if-return sequence and combine with a
    preceding function call.

    Generated by: scripts/coccinelle/misc/simple_return.cocci

    CC: Mark Brown
    Signed-off-by: Julia Lawall
    Signed-off-by: Mark Brown

    Julia Lawall
     
  • Add an SPMI regulator driver for Qualcomm's PM8841, PM8941, and
    PM8916 PMICs. This driver is based largely on code from
    codeaurora.org[1].

    [1] https://www.codeaurora.org/cgit/quic/la/kernel/msm-3.10/tree/drivers/regulator/qpnp-regulator.c?h=msm-3.10
    Cc: David Collins
    Cc:
    Signed-off-by: Stephen Boyd
    Signed-off-by: Mark Brown

    Stephen Boyd
     

12 Jun, 2015

4 commits


11 Jun, 2015

1 commit


10 Jun, 2015

6 commits


09 Jun, 2015

3 commits


06 Jun, 2015

1 commit


03 Jun, 2015

2 commits

  • We don't consider a failure to add the sysfs node as a problem,
    so use sysfs_create_link_nowarn() so that we don't print a
    backtrace when duplicated files exist. Also, downgrade the printk
    message to a debug statement so that we're quiet here. This
    allows multiple drivers to request a CPU's regulator so that
    CPUfreq and AVSish drivers can coexist.

    Signed-off-by: Stephen Boyd
    Signed-off-by: Mark Brown

    Stephen Boyd
     
  • Using the driver for the internal regulator to also enable/disable
    the codec internal clock frequency controller is an unexpected
    side-effect for a regulator, and also means that the core clocks
    won't be changed as expected if an external regulator is used to
    power the codec.

    The DVFS is now handled by the codec driver so can be removed from
    the LDO1 driver.

    Signed-off-by: Richard Fitzgerald
    Signed-off-by: Mark Brown

    Richard Fitzgerald
     

02 Jun, 2015

1 commit

  • Current code does not set regulators->irq_ldo_lim and regulators->irq_uvov,
    so it actually calls free_irq(0, regulators) twice in remove() but does not
    free the irq actually used.

    Convert to use devm_request_threaded_irq instead and then we don't need to
    take care the clean up irq so remove irq_ldo_lim and irq_uvov from
    struct da9063_regulators. Note, regulators->irq_uvov is not used at all in
    current code.

    There is a slightly change in this patch, it will return error in probe()
    if devm_request_threaded_irq fails. If the irq is optional, it should be
    fine to allow platform_get_irq_byname fails. But current code does not
    allow platform_get_irq_byname fails. So I think the reason to allow
    request irq failure is just because the irq leak.

    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown

    Axel Lin