05 Sep, 2015

1 commit

  • Pull sound updates from Takashi Iwai:
    "There are little changes in core part, but lots of development are
    found in drivers, especially ASoC. The diffstat shows regmap-related
    changes for a slight API additions / changes, and that's all.

    Looking at the code size statistics, the most significant addition is
    for Intel Skylake. (Note that SKL support is still underway, the
    codec driver is missing.) Also STI controller driver is a major
    addition as well as a few new codec drivers.

    In HD-audio side, there are fewer changes than the past. The
    noticeable change is the support of ELD notification from i915
    graphics driver. Thus this pull request carries a few changes in
    drm/i915.

    Other than that, USB-audio got a rewrite of runtime PM code. It was
    initiated by lockdep warning, but resulted in a good cleanup in the
    end.

    Below are the highlights:

    Common:
    - Factoring out of AC'97 reset code from ASoC into the core helper
    - A few regmap API extensions (in case it's not pulled yet)

    ASoC:
    - New drivers for Cirrus CS4349, GTM601, InvenSense ICS43432, Realtek
    RT298 and ST STI controllers
    - Machine drivers for Rockchip systems with MAX98090 and RT5645 and
    RT5650
    - Initial driver support for Intel Skylake devices
    - Lots of rsnd cleanup and enhancements
    - A few DAPM fixes and cleanups
    - A large number of cleanups in various drivers (conversion and
    standardized to regmap, component) mostly by Lars-Peter and Axel

    HD-audio:
    - Extended HD-audio core for Intel Skylake controller support
    - Quirks for Dell headsets, Alienware 15
    - Clean up of pin-based quirk tables for Realtek codecs
    - ELD notifier implenetation for Intel HDMI/DP

    USB-audio:
    - Refactor runtime PM code to make lockdep happier"

    * tag 'sound-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (411 commits)
    drm/i915: Add locks around audio component bind/unbind
    drm/i915: Drop port_mst_index parameter from pin/eld callback
    ALSA: hda - Fix missing inline for dummy snd_hdac_set_codec_wakeup()
    ALSA: hda - Wake the codec up on pin/ELD notify events
    ALSA: hda - allow codecs to access the i915 pin/ELD callback
    drm/i915: Call audio pin/ELD notify function
    drm/i915: Add audio pin sense / ELD callback
    ASoC: zx296702-i2s: Fix resource leak when unload module
    ASoC: sti_uniperif: Ensure component is unregistered when unload module
    ASoC: au1x: psc-i2s: Convert to use devm_ioremap_resource
    ASoC: sh: dma-sh7760: Convert to devm_snd_soc_register_platform
    ASoC: spear_pcm: Use devm_snd_dmaengine_pcm_register to fix resource leak
    ALSA: fireworks/bebob/dice/oxfw: fix substreams counting at vmalloc failure
    ASoC: Clean up docbook warnings
    ASoC: txx9: Convert to devm_snd_soc_register_platform
    ASoC: pxa: Convert to devm_snd_soc_register_platform
    ASoC: nuc900: Convert to devm_snd_soc_register_platform
    ASoC: blackfin: Convert to devm_snd_soc_register_platform
    ASoC: au1x: Convert to devm_snd_soc_register_platform
    ASoC: qcom: Constify asoc_qcom_lpass_cpu_dai_ops
    ...

    Linus Torvalds
     

11 Aug, 2015

1 commit


17 Jul, 2015

1 commit

  • Separate the functionality using sequences of register writes from the
    functions that take register defaults. This change renames the arguments
    in order to support the extension of reg_sequence to take an optional
    delay to be applied after any given register in a sequence is written.
    This avoids adding an int to all register defaults, which could
    substantially increase memory usage for regmaps with large default tables.

    This also updates all the clients of multi_reg_write/register_patch.

    Signed-off-by: Nariman Poushin
    Signed-off-by: Mark Brown

    Nariman Poushin
     

22 Jan, 2015

1 commit


05 Dec, 2014

1 commit

  • After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
    selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
    depending on CONFIG_PM_RUNTIME may now be changed to depend on
    CONFIG_PM.

    Replace CONFIG_PM_RUNTIME with CONFIG_PM everywhere under
    drivers/mfd/.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Lee Jones

    Rafael J. Wysocki
     

19 Feb, 2014

1 commit


06 Jan, 2014

1 commit

  • As of commit 03e361b25ee8dfb1fd9b890072c23c4aae01c6c7 ("mfd: Stop setting
    refcounting pointers in original mfd_cell arrays"), the "cell" parameter of
    mfd_add_devices() is "const" again. Hence make all cell data passed to
    mfd_add_devices() const where possible.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Lee Jones

    Geert Uytterhoeven
     

23 Oct, 2013

1 commit


31 Jul, 2013

2 commits

  • Since enabling VMID takes a runtime PM reference there is no need to
    suppress suspend when doing a runtime suspend. Similarly the digital
    inputs and outputs are DAPM widgets and therefore the ASoC core will
    be holding a reference for them.

    This used to be required when integration with system suspend was being
    bodged.

    Signed-off-by: Mark Brown
    Signed-off-by: Lee Jones
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The jack detection code holds runtime PM references when required so
    there is no need for suspend to do any checks.

    Signed-off-by: Mark Brown
    Signed-off-by: Lee Jones
    Signed-off-by: Samuel Ortiz

    Mark Brown
     

02 Jul, 2013

1 commit


18 Jun, 2013

1 commit


19 Apr, 2013

2 commits

  • Add properties for some of the more important bits of platform data and
    fill out the binding document.

    Not all of the current platform data is suitable for the sort of fixed
    configuration that is done using DT, some of it should have runtime
    mechanisms added instead and some is unlikely to ever be used in practical
    systems.

    Signed-off-by: Mark Brown
    Reviewed-by: Sylwester Nawrocki
    Tested-by: Sylwester Nawrocki
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • We can actually read this back from the device but we use this when
    registered using standard I2C board data registration so make sure
    it's there for OF too.

    Signed-off-by: Mark Brown
    Tested-by: Sylwester Nawrocki
    Signed-off-by: Samuel Ortiz

    Mark Brown
     

09 Apr, 2013

1 commit

  • For realistic systems the power management is controlled entirely via
    runtime PM - if the device is not runtime suspended then the suspend
    will abort without doing anything as functionality such as accessory
    detection or audio bypass will require the device to be enabled while
    if the device is runtime suspended it is already in the lowest power
    state. This means that system suspend is redundant and can be removed
    which avoids issues with attempting to double disable the regulators.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     

08 Apr, 2013

1 commit

  • 'patch_regs' cannot be used uninitialized in wm8994_device_init(),
    because 'patch_regs' was already guarded by 'regmap_patch'.
    Thus, that's a bogus warning.

    Without this patch, the build warning happens as below:

    drivers/mfd/wm8994-core.c: In function 'wm8994_i2c_probe':
    drivers/mfd/wm8994-core.c:595:7: warning: 'patch_regs' may be used uninitialized in this function [-Wuninitialized]
    drivers/mfd/wm8994-core.c:408:14: note: 'patch_regs' was declared here

    Signed-off-by: Jingoo Han
    Acked-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Jingoo Han
     

14 Feb, 2013

1 commit


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 sound updates from Takashi Iwai:
    "This update contains a fairly wide range of changes all over in sound
    subdirectory, mainly because of UAPI header moves by David and __dev*
    annotation removals by Bill. Other highlights are:

    - Introduced the support for wallclock timestamps in ALSA PCM core

    - Add the poll loop implementation for HD-audio jack detection

    - Yet more VGA-switcheroo fixes for HD-audio

    - New VIA HD-audio codec support

    - More fixes on resource management in USB audio and MIDI drivers

    - More quirks for USB-audio ASUS Xonar U3, Reloop Play, Focusrite,
    Roland VG-99, etc

    - Add support for FastTrack C400 usb-audio

    - Clean ups in many drivers regarding firmware loading

    - Add PSC724 Ultiimate Edge support to ice1712

    - A few hdspm driver updates

    - New Stanton SCS.1d/1m FireWire driver

    - Standardisation of the logging in ASoC codes

    - DT and dmaengine support for ASoC Atmel

    - Support for Wolfson ADSP cores

    - New drivers for Freescale/iVeia P1022 and Maxim MAX98090

    - Lots of other ASoC driver fixes and developments"

    Fix up trivial conflicts. And go out on a limb and assume the dts file
    'status' field of one of the conflicting things was supposed to be
    "disabled", not "disable" like in pretty much all other cases.

    * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (341 commits)
    ALSA: hda - Move runtime PM check to runtime_idle callback
    ALSA: hda - Add stereo-dmic fixup for Acer Aspire One 522
    ALSA: hda - Avoid doubly suspend after vga switcheroo
    ALSA: usb-audio: Enable S/PDIF on the ASUS Xonar U3
    ALSA: hda - Check validity of CORB/RIRB WP reads
    ALSA: hda - use usleep_range in link reset and change timeout check
    ALSA: HDA: VIA: Add support for codec VT1808.
    ALSA: HDA: VIA Add support for codec VT1705CF.
    ASoC: codecs: remove __dev* attributes
    ASoC: utils: remove __dev* attributes
    ASoC: ux500: remove __dev* attributes
    ASoC: txx9: remove __dev* attributes
    ASoC: tegra: remove __dev* attributes
    ASoC: spear: remove __dev* attributes
    ASoC: sh: remove __dev* attributes
    ASoC: s6000: remove __dev* attributes
    ASoC: OMAP: remove __dev* attributes
    ASoC: nuc900: remove __dev* attributes
    ASoC: mxs: remove __dev* attributes
    ASoC: kirkwood: remove __dev* attributes
    ...

    Linus Torvalds
     

30 Nov, 2012

1 commit


29 Nov, 2012

4 commits

  • CONFIG_HOTPLUG is going away as an option so __devexit 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: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • CONFIG_HOTPLUG is going away as an option so __devinitconst is no
    longer needed.

    Signed-off-by: Bill Pemberton
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • 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
     
  • CONFIG_HOTPLUG is going away as an option so __devexit_p 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: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     

23 Nov, 2012

2 commits


06 Oct, 2012

2 commits

  • Merge misc patches from Andrew Morton:
    "The MM tree is rather stuck while I wait to find out what the heck is
    happening with sched/numa. Probably I'll need to route around all the
    code which was added to -next, sigh.

    So this is "everything else", or at least most of it - other small
    bits are still awaiting resolutions of various kinds."

    * emailed patches from Andrew Morton : (180 commits)
    lib/decompress.c add __init to decompress_method and data
    kernel/resource.c: fix stack overflow in __reserve_region_with_split()
    omfs: convert to use beXX_add_cpu()
    taskstats: cgroupstats_user_cmd() may leak on error
    aoe: update aoe-internal version number to 50
    aoe: update documentation to better reflect aoe-plus-udev usage
    aoe: remove unused code
    aoe: make dynamic block minor numbers the default
    aoe: update and specify AoE address guards and error messages
    aoe: retain static block device numbers for backwards compatibility
    aoe: support more AoE addresses with dynamic block device minor numbers
    aoe: update documentation with new URL and VM settings reference
    aoe: update copyright year in touched files
    aoe: update internal version number to 49
    aoe: remove unused code and add cosmetic improvements
    aoe: increase net_device reference count while using it
    aoe: associate frames with the AoE storage target
    aoe: disallow unsupported AoE minor addresses
    aoe: do revalidation steps in order
    aoe: failover remote interface based on aoe_deadsecs parameter
    ...

    Linus Torvalds
     
  • Signed-off-by: Andi Kleen
    Cc: Samuel Ortiz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     

16 Sep, 2012

1 commit

  • Currently the MFD core supports remapping MFD cell interrupts using an
    irqdomain but only if the MFD is being instantiated using device tree
    and only if the device tree bindings use the pattern of registering IPs
    in the device tree with compatible properties. This will be actively
    harmful for drivers which support non-DT platforms and use this pattern
    for their DT bindings as it will mean that the core will silently change
    remapping behaviour and it is also limiting for drivers which don't do
    DT with this particular pattern. There is also a potential fragility if
    there are interrupts not associated with MFD cells and all the cells are
    omitted from the device tree for some reason.

    Instead change the code to take an IRQ domain as an optional argument,
    allowing drivers to take the decision about the parent domain for their
    interrupts. The one current user of this feature is ab8500-core, it has
    the domain lookup pushed out into the driver.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     

14 Sep, 2012

2 commits

  • Further evaluation of the device has yielded some improvements to the
    device configuration.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Currently the MFD core supports remapping MFD cell interrupts using an
    irqdomain but only if the MFD is being instantiated using device tree
    and only if the device tree bindings use the pattern of registering IPs
    in the device tree with compatible properties. This will be actively
    harmful for drivers which support non-DT platforms and use this pattern
    for their DT bindings as it will mean that the core will silently change
    remapping behaviour and it is also limiting for drivers which don't do
    DT with this particular pattern. There is also a potential fragility if
    there are interrupts not associated with MFD cells and all the cells are
    omitted from the device tree for some reason.

    Instead change the code to take an IRQ domain as an optional argument,
    allowing drivers to take the decision about the parent domain for their
    interrupts. The one current user of this feature is ab8500-core, it has
    the domain lookup pushed out into the driver.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     

09 Jul, 2012

3 commits


07 May, 2012

2 commits


29 Mar, 2012

1 commit

  • Pull MFD changes from Samuel Ortiz:
    - 4 new drivers: Freescale i.MX on-chip Anatop, Ricoh's RC5T583 and
    TI's TPS65090 and TPS65217.
    - New variants support (8420, 8520 ab9540), cleanups and bug fixes for
    the abx500 and db8500 ST-E chipsets.
    - Some minor fixes and update for the wm8994 from Mark.
    - The beginning of a long term TWL cleanup effort coming from the TI
    folks.
    - Various fixes and cleanups for the s5m, TPS659xx, pm860x, and MAX8997
    drivers.

    Fix up trivial conflicts due to duplicate patches and header file
    cleanups ( removal etc).

    * tag 'mfd_3.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (97 commits)
    gpio/twl: Add DT support to gpio-twl4030 driver
    gpio/twl: Allocate irq_desc dynamically for SPARSE_IRQ support
    mfd: Detach twl6040 from the pmic mfd driver
    mfd: Replace twl-* pr_ macros by the dev_ equivalent and do various cleanups
    mfd: Micro-optimization on twl4030 IRQ handler
    mfd: Make twl4030 SIH SPARSE_IRQ capable
    mfd: Move twl-core IRQ allocation into twl[4030|6030]-irq files
    mfd: Remove references already defineid in header file from twl-core
    mfd: Remove unneeded header from twl-core
    mfd: Make twl-core not depend on pdata->irq_base/end
    ARM: OMAP2+: board-omap4-*: Do not use anymore TWL6030_IRQ_BASE in board files
    mfd: Return twl6030_mmc_card_detect IRQ for board setup
    Revert "mfd: Add platform data for MAX8997 haptic driver"
    mfd: Add support for TPS65090
    mfd: Add some da9052-i2c section annotations
    mfd: Build rtc5t583 only if I2C config is selected to y.
    mfd: Add anatop mfd driver
    mfd: Fix compilation error in tps65910.h
    mfd: Add 8420 variant to db8500-prcmu
    mfd: Add 8520 PRCMU variant to db8500-prcmu
    ...

    Linus Torvalds
     

23 Mar, 2012

1 commit

  • Pull regmap updates from Mark Brown:
    "Things are really quieting down with the regmap API, while we're still
    seeing a trickle of new features coming in they're getting much
    smaller than they were. It's also nice to have some features which
    support other subsystems building infrastructure on top of regmap.
    Highlights include:

    - Support for padding between the register and the value when
    interacting with the device, sometimes needed for fast interfaces.
    - Support for applying register updates to the device when restoring
    the register state. This is intended to be used to apply updates
    supplied by manufacturers for tuning the performance of the device
    (many of which are to undocumented registers which aren't otherwise
    covered).
    - Support for multi-register operations on cached registers.
    - Support for syncing only part of the register cache.
    - Stubs and parameter query functions intended to make it easier for
    other subsystems to build infrastructure on top of the regmap API.

    plus a few driver updates making use of the new features which it was
    easier to merge via this tree."

    * tag 'regmap-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (41 commits)
    regmap: Fix future missing prototype of devres_alloc() and friends
    regmap: Rejig struct declarations for stubbed API
    regmap: Fix rbtree block base in sync
    regcache: Make sure we sync register 0 in an rbtree cache
    regmap: delete unused module.h from drivers/base/regmap files
    regmap: Add stub for regcache_sync_region()
    mfd: Improve performance of later WM1811 revisions
    regmap: Fix x86_64 breakage
    regmap: Allow drivers to sync only part of the register cache
    regmap: Supply ranges to the sync operations
    regmap: Add tracepoints for cache only and cache bypass
    regmap: Mark the cache as clean after a successful sync
    regmap: Remove default cache sync implementation
    regmap: Skip hardware defaults for LZO caches
    regmap: Expose the driver name in debugfs
    mfd: wm8400: Convert to devm_regmap_init_i2c()
    mfd: wm831x: Convert to devm_regmap_init()
    mfd: wm8994: Convert to devm_regmap_init()
    mfd/ASoC: Convert WM8994 driver to use regmap patches
    mfd: Add __devinit and __devexit annotations in wm8994
    ...

    Linus Torvalds
     

07 Mar, 2012

2 commits