1. 21 Jan, 2014 40 commits
    • Linus Torvalds's avatar
      Merge tag 'mfd-3.14-1' of git://git.linaro.org/people/ljones/mfd · ac266635
      Linus Torvalds authored
      Pull MFD changes from Lee Jones:
       "New drivers
         - Samsung Maxim 14577; Micro USB, Regulator, IRQ Controller and
           Battery Charger
         - TI/National Semiconductor LP3943 I2C GPIO Expander and PWM
           Generator
      
        Existing driver adaptions
         - Expansion of Wolfson Arizona DSP and High-Pass filter controls
         - TI TWL6040 default Regmap support and Regcache addition/bypass
         - Some nice Smatch catch fixes
         - Conversion of TI OMAP-USB and TI TWL6030 to endian neutralness
         - ChromeOS EC timing (delay) adaptions and added dependency on OF
         - Many constifications of 'struct {mfd_cell,regmap_irq,et.al}'
         - Watchdog support added for NVIDIA AS3722
         - Convert functions to static in TI AM335x
         - Realigned previously defeated functionality in TI AM335x
         - IIO ADC-TSC concurrency dead-lock/timeout resolution
         - Addition of Power Management and Clock support for Samsung core
         - DEFINE_PCI_DEVICE_TABLE macro removal from MFD Subsystem
         - Greater use of irqdomain functionality in ST-E AB8500
         - Removal of 'include/linux/mfd/abx500/ab8500-gpio.h'
         - Wolfson WM831x PMIC Power Management changes s/poweroff/shutdown/
         - Device Tree documentation added for TI/Nat Semi LP3943
         - Version detection and voltage tables for TI TPS6586x PMIC devices
         - Simplification of Freescale MC13XXX (de-)initialisation routines
         - Clean-up and simplification of the Realtek parent driver
         - Added support for RTL8402 Realtek PCI-Express card reader
         - Resource leak fix for Maxim 77686
         - Possible suspend BUG() fix in OMAP USB TLL
         - Support for new Wolfson WM5110 Revision (D)
         - Testing of automatic assignment of of_node in mfd_add_device()
         - Reversion of the above when it started to cause issues
         - Remove legacy Platform Data from;
                    TI TWL Core, Qualcomm SSBI and ST-E ABx500 Pinctrl
         - Clean-ups; tabbing issues, function name changes, 'drvdata = NULL'
                    removal, unused uninitialised warning mitigation, error
                    message clarity, removal of redundant/duplicate checks,
                    licensing (GPL -> GPL2), coding consistency, duplicate
                    function declaration, ret checks, commit corrections,
                    redundant of_match_ptr() helper removal, spelling,
                    #if-deffery removal and header guards name changes"
      
      * tag 'mfd-3.14-1' of git://git.linaro.org/people/ljones/mfd: (78 commits)
        mfd: wm5110: Add register patch for rev D chip
        mfd: omap-usb-tll: Don't hold lock during pm_runtime_get/put_sync()
        gpio: lp3943: Remove redundant of_match_ptr helper
        mfd: sta2x11-mfd: Use named constants for pci_power_t values
        Documentation: mfd: Fix LDO index in s2mps11.txt
        mfd: Cleanup mfd-mcp-sa11x0.h header
        mfd: max8997: Use "IS_ENABLED(CONFIG_OF)" for DT code.
        mfd: twl6030: Fix endianness problem in IRQ handler
        mfd: sec-core: Add cells for S5M8767-clocks
        mfd: max14577: Remove redundant of_match_ptr helper
        mfd: twl6040: Fix sparse non static symbol warning
        mfd: Revert "mfd: Always assign of_node in mfd_add_device()"
        mfd: rtsx: Fix sparse non static symbol warning
        mfd: max77693: Set proper maximum register for MUIC regmap
        mfd: max77686: Fix regmap resource leak on driver remove
        mfd: Represent correct filenames in file headers
        mfd: rtsx: Add support for card reader rtl8402
        mfd: rtsx: Add set pull control macro and simplify rtl8411
        mfd: max8997: Enforce mfd_add_devices() return value check
        mfd: mc13xxx: Simplify probe() & remove()
        ...
      ac266635
    • Linus Torvalds's avatar
      Merge tag 'sound-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · d4371f94
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "It was holiday season, so no wonder that there are little changes in
        framework level, although diffstat shows quite many changes spreaded
        over sound/* directories.  Most of changes are cleanups, code
        refactoring and fixes.
      
        Some highlights:
         - Removal of OSS sleep_on usages by Arnd
         - Simplified memalloc helper codes, drop obsoleted features; now it's
           built into PCM driver instead of an individual module
         - Warn if PCM buffer preallocation fails, which will show page
           allocation issues more clearly
         - Compress offload API updates for sample rates by Vinod
         - PCM glitch workaround on ctxfi emu20k1 by Sarah
         - Drop cs46xx DSP blobs, using firmware loader now
         - USB-audio quitks for Plantronics Gamecom 780, Creative VF0420, and
           Focusrite Saffire 6
      
        HD-audio specifics:
         - Standardize Kconfigs of HD-audio codec drivers; now "make
           localmodconfig" recognizes configs properly (finally!)
         - Parallel PM implementation by Mengdong
         - BayleyBay/ValleyView2 board fixups
         - Broadwell audio support
         - Runtime PM improvement (PantherPoint, etc)
         - Quirks: Dell subwooer, Gigabyte mobo jack detection oddity, Dell
           AiO click noise fixes, Dell headset mic fixes, etc
         - Automatic bind with HDMI codec parser without generic parser
         - More AD codec fixes (since 3.12 regression) including the automatic
           stereo mix support
         - Common Thinkpad ACPI helper for Realtek and Conexant codecs
      
        ASoC specifics:
         - Update to the generic DMA code to support deferred probe and
           managed resources
         - New drivers for BCM2835 (used in Raspberry Pi), Tegra with MAX98090
           and Analog Devices AXI I2S and S/PDIF controller IPs
         - Device tree support for the simple card, max98090 and cs42l52
         - Conversion of the Samsung drivers to native dmaengine, making them
           multiplatform compatible and hopefully helping keep them more
           modern and up to date.
         - More regmap conversions, including a very welcome one for twl6040
           from Peter Ujfalusi
         - A big overhaul of the DaVinci drivers also from Peter Ujfalusi
         - Lots of DMA updates from Lars-Peter
         - Improvements to the constraints handling code from Lars-Peter
         - A very helpful conversion of the TWL4030 driver to regmap from Peter
         - A new driver for the Freescale ESAI controller from Nicolin Chen
         - Conversion of some of the drivers to use params_width()
         - Extensions to DPCM for use with compressed audio from Liam"
      
      * tag 'sound-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (396 commits)
        ASoC: dapm: Fix double prefix addition
        ASoC: compress: Add suport for DPCM into compressed audio
        ASoC: DPCM: make some DPCM API calls non static for compressed usage
        ASoC: core: Fix possible NULL pointer dereference of pcm->config
        ALSA: hda - add headset mic detect quirks for some Dell machines
        ASoC: tlv320aic32x4: Fix regmap range_min
        ASoC: core: Return -ENOTSUPP from set_sysclk() if no operation provided
        ASoC: dapm: Change prototype of soc_widget_read
        ASoC: samsung: Remove SND_DMAENGINE_PCM_FLAG_NO_RESIDUE flag
        ASoC: axi-{spdif,i2s}: Remove SND_DMAENGINE_PCM_FLAG_NO_RESIDUE flag
        ASoC: generic-dmaengine-pcm: Check DMA residue granularity
        ASoC: generic-dmaengine-pcm: Check NO_RESIDUE flag at runtime
        dma: pl330: Set residue_granularity
        dma: Indicate residue granularity in dma_slave_caps
        ASoC: simple-card: fix one bug to writing to the platform data
        ASoC: pcm: Use snd_pcm_rate_mask_intersect() helper
        ALSA: Add helper function for intersecting two rate masks
        ASoC: s6000: Don't mix SNDRV_PCM_RATE_CONTINUOUS with specific rates
        ASoC: fsl: Don't mix SNDRV_PCM_RATE_CONTINUOUS with specific rates
        ASoC: pcm: Properly initialize hw->rate_max
        ...
      d4371f94
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v3.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · a547df99
      Linus Torvalds authored
      Pull bulk pin control changes from Linus Walleij:
       "This has been queued and tested for a while.  Lots of action here,
        like in the GPIO tree, embedded stuff like this is really hot now it
        seems.  Details in the signed tag.  I'm especially happy about the
        Qualcomm driver as it is used in such a huge subset of mobile handsets
        out there, and these platforms in general need better upstream support
      
         - New driver for the Qualcomm TLMM pin controller and its msm8x74
           subdriver.
      
         - New driver for the Broadcom Capri BCM281xx SoC.
      
         - New subdriver for the imx25 pin controller.
      
         - New subdriver for the Tegra124 pin controller.
      
         - Lock GPIO lines as IRQs for select combined pin control and GPIO
           drivers for baytrail and sirf.
      
         - Some semi-big refactorings and extenstions to the sirf driver.
      
         - Lots of patching, cleanup and fixing in the Renesas "PFC" driver
           and associated subdrivers as usual.  It is settling down a little
           bit now it seems.
      
         - Minor fixes and incremental updates here and there as usual"
      
      * tag 'pinctrl-v3.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (72 commits)
        pinctrl: sunxi: Honor GPIO output initial vaules
        pinctrl: capri: add dependency on OF
        ARM: bcm11351: Enable pinctrl for Broadcom Capri SoCs
        ARM: pinctrl: Add Broadcom Capri pinctrl driver
        pinctrl: Add pinctrl binding for Broadcom Capri SoCs
        pinctrl: Add void * to pinctrl_pin_desc
        pinctrl: st: Fix a typo in probe
        pinctrl: Fix some typos and grammar issues in the documentation
        pinctrl: sirf: lock IRQs when starting them
        pinctrl: sirf: put gpio interrupt pin into input status automatically
        pinctrl: sirf: use only one irq_domain for the whole device node
        pinctrl: single: fix infinite loop caused by bad mask
        pinctrl: single: fix pcs_disable with bits_per_mux
        pinctrl: single: fix DT bindings documentation
        pinctrl: as3722: Set pin to output mode for some function
        pinctrl: sirf: add pin group for USP0 with only RX or TX frame sync
        pinctrl: sirf: fix the pins of sdmmc5 connected with TriG
        pinctrl: sirf: add lost usp1_uart_nostreamctrl group for atlas6
        pinctrl: sunxi: Add Allwinner A20 clock output pin functions
        pinctrl/lantiq: fix typo
        ...
      a547df99
    • Linus Torvalds's avatar
      Merge tag 'gpio-v3.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 8e509660
      Linus Torvalds authored
      Pull GPIO tree bulk changes from Linus Walleij:
       "A big set this merge window, as we have much going on in this
        subsystem.  The changes to other subsystems (notably a slew of ARM
        machines as I am doing away with their custom APIs) have all been
        ACKed to the extent possible.
      
        Major changes this time:
      
         - Some core improvements and cleanups to the new GPIO descriptor API.
           This seems to be working now so we can start the exodus to this
           API, moving gradually away from the global GPIO numberspace.
      
         - Incremental improvements to the ACPI GPIO core, and move the few
           GPIO ACPI clients we have to the GPIO descriptor API right *now*
           before we go any further.  We actually managed to contain this
           *before* we started to litter the kernel with yet another hackish
           global numberspace for the ACPI GPIOs, which is a big win.
      
         - The RFkill GPIO driver and all platforms using it have been
           migrated to use the GPIO descriptors rather than fixed number
           assignments.  Tegra machine has been migrated as part of this.
      
         - New drivers for MOXA ART, Xtensa GPIO32 and SMSC SCH311x.  Those
           should be really good examples of how I expect a nice GPIO driver
           to look these days.
      
         - Do away with custom GPIO implementations on a major part of the ARM
           machines: ks8695, lpc32xx, mv78xx0.  Make a first step towards the
           same in the horribly convoluted Samsung S3C include forest.  We
           expect to continue to clean this up as we move forward.
      
         - Flag GPIO lines used for IRQ on adnp, bcm-kona, em, intel-mid and
           lynxpoint.
      
           This makes the GPIOlib core aware that a certain GPIO line is used
           for IRQs and can then enforce some semantics such as disallowing a
           GPIO line marked as in use for IRQ to be switched to output mode.
      
         - Drop all use of irq_set_chip_and_handler_name().  The name provided
           in these cases were just unhelpful tags like "mux" or "demux".
      
         - Extend the MCP23s08 driver to handle interrupts.
      
         - Minor incremental improvements for rcar, lynxpoint, em 74x164 and
           msm drivers.
      
         - Some non-urgent bug fixes here and there, duplicate #includes and
           that usual kind of cleanups"
      
      Fix up broken Kconfig file manually to make this all compile.
      
      * tag 'gpio-v3.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (71 commits)
        gpio: mcp23s08: fix casting caused build warning
        gpio: mcp23s08: depend on OF_GPIO
        gpio: mcp23s08: Add irq functionality for i2c chips
        ARM: S5P[v210|c100|64x0]: Fix build error
        gpio: pxa: clamp gpio get value to [0,1]
        ARM: s3c24xx: explicit dependency on <plat/gpio-cfg.h>
        ARM: S3C[24|64]xx: move includes back under <mach/> scope
        Documentation / ACPI: update to GPIO descriptor API
        gpio / ACPI: get rid of acpi_gpio.h
        gpio / ACPI: register to ACPI events automatically
        mmc: sdhci-acpi: convert to use GPIO descriptor API
        ARM: s3c24xx: fix build error
        gpio: f7188x: set can_sleep attribute
        gpio: samsung: Update documentation
        gpio: samsung: Remove hardware.h inclusion
        gpio: xtensa: depend on HAVE_XTENSA_GPIO32
        gpio: clps711x: Enable driver compilation with COMPILE_TEST
        gpio: clps711x: Use of_match_ptr()
        net: rfkill: gpio: convert to descriptor-based GPIO interface
        leds: s3c24xx: Fix build failure
        ...
      8e509660
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 02d0a752
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "For 3.14, the I2C subsystem has the following to offer:
      
         - new drivers for Renesas RIIC and RobotFuzz OSIF
         - driver cleanups & improvements & bugfixes
      
        Pretty standard stuff this time, I'd say.  There is more complex stuff
        coming up, but I didn't have the bandwidth between the years to pull
        it in for this release.  Sadly"
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (26 commits)
        i2c: s3c2410: fix quirk usage for 64-bit
        i2c: pnx: Use devm_*() functions
        i2c: at91: add a new compatibility string for the at91sam9261
        i2c-ismt: support I2C_SMBUS_I2C_BLOCK_DATA transaction type
        i2c: Add bus driver for for OSIF USB i2c device.
        i2c: i2c-tiny-usb: Remove RobotFuzz USB vendor:product ID
        i2c: designware: remove HAVE_CLK build dependecy
        Documentation: i2c: Remove obsolete example
        i2c: nomadik: remove platform data header
        i2c: nomadik: auto-calculate slave setup time
        i2c: viperboard: remove superfluous assignment
        i2c: xilinx: Use devm_* functions
        i2c: xilinx: Do not enable irq before irq handler
        i2c: xilinx: Fix i2c checkpatch warnings
        i2c: at91: document clock properties
        i2c: isch: Use devm_request_region()
        i2c: viperboard: Use devm_kzalloc() functions
        i2c: imx: propagate irq error code in probe
        i2c: s3c2410: dont need CPU_FREQ transitions for exynos series
        i2c: s3c2410: Add polling mode support
        ...
      02d0a752
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · fb2e2c85
      Linus Torvalds authored
      Pull security layer updates from James Morris:
       "Changes for this kernel include maintenance updates for Smack, SELinux
        (and several networking fixes), IMA and TPM"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (39 commits)
        SELinux: Fix memory leak upon loading policy
        tpm/tpm-sysfs: active_show() can be static
        tpm: tpm_tis: Fix compile problems with CONFIG_PM_SLEEP/CONFIG_PNP
        tpm: Make tpm-dev allocate a per-file structure
        tpm: Use the ops structure instead of a copy in tpm_vendor_specific
        tpm: Create a tpm_class_ops structure and use it in the drivers
        tpm: Pull all driver sysfs code into tpm-sysfs.c
        tpm: Move sysfs functions from tpm-interface to tpm-sysfs
        tpm: Pull everything related to /dev/tpmX into tpm-dev.c
        char: tpm: nuvoton: remove unused variable
        tpm: MAINTAINERS: Cleanup TPM Maintainers file
        tpm/tpm_i2c_atmel: fix coccinelle warnings
        tpm/tpm_ibmvtpm: fix unreachable code warning (smatch warning)
        tpm/tpm_i2c_stm_st33: Check return code of get_burstcount
        tpm/tpm_ppi: Check return value of acpi_get_name
        tpm/tpm_ppi: Do not compare strcmp(a,b) == -1
        ima: remove unneeded size_limit argument from ima_eventdigest_init_common()
        ima: update IMA-templates.txt documentation
        ima: pass HASH_ALGO__LAST as hash algo in ima_eventdigest_init()
        ima: change the default hash algorithm to SHA1 in ima_eventdigest_ng_init()
        ...
      fb2e2c85
    • Charles Keepax's avatar
      mfd: wm5110: Add register patch for rev D chip · 02915661
      Charles Keepax authored
      
      
      Evaluation of revision D of WM5110 suggests updates to the register
      patch for optimal performance. For the sake of clarity rev C of the chip
      does not require a register patch.
      Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      02915661
    • Roger Quadros's avatar
      mfd: omap-usb-tll: Don't hold lock during pm_runtime_get/put_sync() · 76a0775d
      Roger Quadros authored
      
      
      pm_runtime_get/put_sync() can sleep so don't hold spinlock while
      calling them.
      
      This patch prevents a BUG() during system suspend when
      CONFIG_DEBUG_ATOMIC_SLEEP is enabled.
      
      Bug is present in Kernel versions v3.9 onwards.
      Reported-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Tested-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      76a0775d
    • Sachin Kamat's avatar
      gpio: lp3943: Remove redundant of_match_ptr helper · 3b1ba0cb
      Sachin Kamat authored
      
      
      'lp3943_gpio_of_match' is always compiled in. Hence the
      helper macro is not needed.
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      3b1ba0cb
    • Julia Lawall's avatar
      mfd: sta2x11-mfd: Use named constants for pci_power_t values · 4d1d9980
      Julia Lawall authored
      If nothing more than to improve code readability.
      
      The semantic patch that makes this change is as follows:
      (http://coccinelle.lip6.fr/
      
      )
      
      // <smpl>
      @@
      expression pdev;
      @@
      
      pci_set_power_state(pdev,
      - 0
      + PCI_D0
       )
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      4d1d9980
    • Sachin Kamat's avatar
      Documentation: mfd: Fix LDO index in s2mps11.txt · 94100e7b
      Sachin Kamat authored
      
      
      LDO indices start from 1. Fix the example appropriately.
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      94100e7b
    • Sachin Kamat's avatar
      mfd: Cleanup mfd-mcp-sa11x0.h header · 7ff6d7a0
      Sachin Kamat authored
      Commit a1fd844c
      
       ("ARM: sa1100: move platform_data definitions")
      moved the file to the current location but forgot to remove the pointer
      to its previous location. Clean it up. While at it also change the header
      file protection macros appropriately.
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      7ff6d7a0
    • Manish Badarkhe's avatar
      mfd: max8997: Use "IS_ENABLED(CONFIG_OF)" for DT code. · 01c3f110
      Manish Badarkhe authored
      
      
      Instead of "#if define CONFIG_OF" use "IS_ENABLED(CONFIG_OF)"
      option for DT code to avoid if-deffery in code.
      Signed-off-by: default avatarManish Badarkhe <badarkhe.manish@gmail.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      01c3f110
    • Danke Xie's avatar
      mfd: twl6030: Fix endianness problem in IRQ handler · 754fa7bc
      Danke Xie authored
      
      
      The current TWL 6030 IRQ handler assumes little endianness.
      This change makes it endian-neutral.
      Signed-off-by: default avatarDanke Xie <d.xie@sta.samsung.com>
      Signed-off-by: default avatarTaras Kondratiuk <taras.kondratiuk@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      754fa7bc
    • Tushar Behera's avatar
      mfd: sec-core: Add cells for S5M8767-clocks · 39fed00f
      Tushar Behera authored
      
      
      S5M8767 chip has 3 crystal oscillators running at 32KHz. These are
      supported by s2mps11-clk driver.
      Signed-off-by: default avatarTushar Behera <tushar.behera@linaro.org>
      Reviewed-by: default avatarTomasz Figa <t.figa@samsung.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      39fed00f
    • Sachin Kamat's avatar
      mfd: max14577: Remove redundant of_match_ptr helper · ae679c12
      Sachin Kamat authored
      
      
      'max14577_dt_match' is always compiled in. Hence the helper macro
      is not needed.
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      ae679c12
    • Wei Yongjun's avatar
      mfd: twl6040: Fix sparse non static symbol warning · adc01fbd
      Wei Yongjun authored
      
      
      Fixes the following sparse warning:
      
      drivers/mfd/twl6040.c:89:20: warning:
       symbol 'twl6040_patch' was not declared. Should it be static?
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      adc01fbd
    • Lee Jones's avatar
      mfd: Revert "mfd: Always assign of_node in mfd_add_device()" · 60a4992a
      Lee Jones authored
      
      
      This reverts commit 68044bee13770918e0b28dd44aa98c889ec7558f.
      
      We've had confirmed reports of this patch causing unforeseen issues
      with existing MFD users. It has been agreed by the original author
      and myself that reversion is the best solution.
      Acked-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      60a4992a
    • Wei Yongjun's avatar
      mfd: rtsx: Fix sparse non static symbol warning · b5167bc4
      Wei Yongjun authored
      
      
      Fixes the following sparse warning:
      
      drivers/mfd/rtl8411.c:473:6: warning:
       symbol 'rtl8411_init_common_params' was not declared. Should it be static?
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      b5167bc4
    • Krzysztof Kozlowski's avatar
      mfd: max77693: Set proper maximum register for MUIC regmap · 75ad1327
      Krzysztof Kozlowski authored
      
      
      The MUIC block in max77693 has different I2C address than PMIC. The
      driver allocated two regmaps: for PMIC and MUIC. However it used the
      same regmap_config (with max_register field) for both regmaps. Actual
      maximum address of register for MUIC is different than for PMIC.
      
      Define another regmap_config for MUIC with proper max_register value.
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      75ad1327
    • Krzysztof Kozlowski's avatar
      mfd: max77686: Fix regmap resource leak on driver remove · 74142ffc
      Krzysztof Kozlowski authored
      
      
      The regmap used by max77686 MFD driver was not freed with regmap_exit()
      on driver exit. This lead to leak of resources.
      
      Replace regmap_init_i2c() call in driver probe with initialization of
      managed register map so the regmap will be properly freed by the device
      management code.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      74142ffc
    • Laszlo Papp's avatar
      mfd: Represent correct filenames in file headers · f876a975
      Laszlo Papp authored
      
      
      The original author(s) probably copy/pasted these headers from the
      existing public header files.
      Signed-off-by: default avatarLaszlo Papp <lpapp@kde.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      f876a975
    • Micky Ching's avatar
      mfd: rtsx: Add support for card reader rtl8402 · 56cb3cc1
      Micky Ching authored
      
      
      rtl8402 is much like rtl8411, so just add it to rtl8411.c
      Signed-off-by: default avatarMicky Ching <micky_ching@realsil.com.cn>
      Reviewed-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      56cb3cc1
    • Micky Ching's avatar
      mfd: rtsx: Add set pull control macro and simplify rtl8411 · 0da14eeb
      Micky Ching authored
      
      
      Add set pull control macro to reduce code for setting pull control, and
      use a common init function to reduce code for rtl8411.c. So this patch
      is used to just simplify code.
      Signed-off-by: default avatarMicky Ching <micky_ching@realsil.com.cn>
      Reviewed-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      0da14eeb
    • Laszlo Papp's avatar
      mfd: max8997: Enforce mfd_add_devices() return value check · c1ec8fc3
      Laszlo Papp authored
      
      
      The original author provided a random return value check which is
      redundant and seemingly floating. This patch not only relocates
      the check so it is more clearly associated with the invokation of
      mfd_add_devices(), but provides a store for the error value. We
      also print a meaningful message on error before returning.
      Signed-off-by: default avatarLaszlo Papp <lpapp@kde.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      c1ec8fc3
    • Alexander Shiyan's avatar
      mfd: mc13xxx: Simplify probe() & remove() · db9ef449
      Alexander Shiyan authored
      
      
      This patch simplifies probe() and remove() functions by moving
      some initialisation code out from the I2C/SPI init() and exit()
      functions and into the core driver.
      Signed-off-by: default avatarAlexander Shiyan <shc_work@mail.ru>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      db9ef449
    • Alexander Shiyan's avatar
      mfd: mc13xxx: Remove useless symbol MFD_MC13783 · e5a3da21
      Alexander Shiyan authored
      
      
      Symbol MFD_MC13783 always selected by MFD_MC13XXX, so no need
      to keep additional symbol.
      Signed-off-by: default avatarAlexander Shiyan <shc_work@mail.ru>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      e5a3da21
    • Alexander Shiyan's avatar
      mfd: mc13xxx: Remove duplicate mc13xxx_get_flags() declaration · 03b1e302
      Alexander Shiyan authored
      
      
      mc13xxx_get_flags() declaration given twice.
      This patch removes this duplicate.
      Signed-off-by: default avatarAlexander Shiyan <shc_work@mail.ru>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      03b1e302
    • Stephen Boyd's avatar
      mfd: ssbi: Mark match table const · 12eda2a2
      Stephen Boyd authored
      
      
      This is a read-only data structure.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      12eda2a2
    • Stephen Boyd's avatar
      mfd: ssbi: Constify buffer in ssbi_write · 5eec14cc
      Stephen Boyd authored
      
      
      In preparation for passing a const pointer directly to
      ssbi_write() from the regmap APIs.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      5eec14cc
    • Stephen Boyd's avatar
      mfd: ssbi: Remove platform data structs and hide ssbi type enum · bae911a0
      Stephen Boyd authored
      
      
      The ssbi driver assumes that the device is DT based. Remove the
      platform data structs that will never be used and hide the enum
      in the only C file that uses it.
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      bae911a0
    • Stephen Warren's avatar
      mfd: Always assign of_node in mfd_add_device() · a7c42b25
      Stephen Warren authored
      
      
      mfd_add_device() assigns .of_node in the device objects it creates only
      if the mfd_cell for the device has the .of_compatible field set and the
      DT node for the top-level MFD device contains a child whose compatible
      property matches the cell's .of_compatible field.
      
      This leaves .of_node unset in many cases. When this happens, entries in
      the DT /aliases property which refer to the top-level MFD DT node will
      never match the MFD child devices, hence causing the requested alias not
      to be honored.
      
      Solve this by setting each MFD child device's .of_node equal to the top-
      level MFD device's .of_node field in the cases where it would otherwise
      remain unset.
      
      The first use-case for this will be aliases for the TPS6586x's RTC
      device.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      a7c42b25
    • Rhyland Klein's avatar
      mfd: cros ec: spi: Add delay for raising CS · 01e73c89
      Rhyland Klein authored
      
      
      The EC has specific timing it requires. Add support for an optional delay
      after raising CS to fix timing issues. This is configurable based on
      a DT property "google,cros-ec-spi-msg-delay".
      
      If this property isn't set, then no delay will be added. However, if set
      it will cause a delay equal to the value passed to it to be inserted at
      the end of a transaction.
      Signed-off-by: default avatarRhyland Klein <rklein@nvidia.com>
      Reviewed-by: default avatarBernie Thompson <bhthompson@chromium.org>
      Reviewed-by: default avatarAndrew Bresticker <abrestic@chromium.org>
      Acked-by: default avatarMark Rutland <mark.rutland@arm.com>
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      01e73c89
    • Thierry Reding's avatar
      mfd: cros ec: spi: Use 0 instead of '\0' consistently · daf93d22
      Thierry Reding authored
      
      
      memset() was being called with the second parameter set to '\0', which
      is equivalent but longer than the more canonical 0. Update the code to
      use the latter variant consistently across the driver.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      daf93d22
    • Thierry Reding's avatar
      mfd: cros ec: spi: Depend on OF · fcfccdb2
      Thierry Reding authored
      
      
      The driver is not used on any non-DT platform, so it can depend on the
      OF Kconfig symbol to make that explicit. This is in preparation of a
      subsequent patch which parses some parameters from the device tree and
      would otherwise have to conditionalize that code.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      fcfccdb2
    • Thierry Reding's avatar
      mfd: cros ec: spi: Use correct module license · ea0f8b0b
      Thierry Reding authored
      
      
      According to the header comment in the source file the driver is
      licensed under GPL v2, so update MODULE_LICENSE() to match that.
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      ea0f8b0b
    • Wei Yongjun's avatar
      mfd: sec-core: Fix sparse NULL pointer warning · 005718c0
      Wei Yongjun authored
      
      
      Fixes the following sparse warning:
      
      drivers/mfd/sec-core.c:202:16: warning: Using plain integer as NULL pointer
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      005718c0
    • Wei Yongjun's avatar
      mfd: sta2x11-mfd: Fix return value check in sta2x11_mfd_platform_probe() · ec9e4ba6
      Wei Yongjun authored
      
      
      In case of error, the function devm_regmap_init_mmio() returns
      ERR_PTR() and never returns NULL. The NULL test in the return
      value check should be replaced with IS_ERR().
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      ec9e4ba6
    • Alexander Shiyan's avatar
      mfd: mc13xxx: Remove redundant checks · 328fe79c
      Alexander Shiyan authored
      
      
      Checking for maximal register is already provided by regmap API,
      so remove redundant checks.
      Signed-off-by: default avatarAlexander Shiyan <shc_work@mail.ru>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      328fe79c
    • Stefan Agner's avatar
      regulator: tps6586x: Add and use correct voltage table · 844a4f0d
      Stefan Agner authored
      
      
      Depending on the regulator version, the voltage table might be
      different. Use version specific regulator tables in order to select
      correct voltage table. For the following regulator versions different
      voltage tables are now used:
      
        * TPS658623: Use correct voltage table for SM2
        * TPS658643: New voltage table for SM2
      
      Both versions are in use on the Colibri T20 module. Make use of the
      correct tables by requesting the correct SM2 voltage of 1.8V.
      
      This change is not backward compatible since an old driver is not able
      to correctly set that value. The value 1.8V is out of range for the old
      driver and will refuse to probe the device. The regulator starts with
      default settings and the driver shows appropriate error messages.
      
      On Colibri T20, the old value used to work with TPS658623 since the
      driver applied a wrong voltage table too. However, the TPS658643 used
      on V1.2 devices uses yet another voltage table and those broke that
      pseudo-compatibility. The regulator driver now has the correct voltage
      table for both regulator versions and those the correct voltage can be
      used in the device tree.
      Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
      Reviewed-by: default avatarThierry Reding <treding@nvidia.com>
      Acked-by: default avatarMark Brown <broonie@linaro.org>
      Acked-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      844a4f0d