12 Aug, 2019

1 commit


23 Oct, 2018

1 commit


13 Oct, 2017

1 commit


19 Apr, 2016

2 commits


14 Jan, 2016

1 commit


05 Sep, 2015

1 commit

  • Pull MFD updates from Lee Jones:
    "New Device Support:
    - New Clocksource driver from ST
    - New MFD/ACPI/DMA drivers for Intel's Sunrisepoint PCH based platforms
    - Add support for Arizona WM8998 and WM1814
    - Add support for Dialog Semi DA9062 and DA9063
    - Add support for Kontron COMe-bBL6 and COMe-cBW6
    - Add support for X-Powers AXP152
    - Add support for Atmel, many
    - Add support for STMPE, many
    - Add support for USB in X-Powers AXP22X

    Core Frameworks:
    - New Base API to traverse devices and their children in reverse order

    Bug Fixes:
    - Fix race between runtime-suspend and IRQs
    - Obtain platform data form more reliable source

    Fix-ups:
    - Constifying things
    - Variable signage changes
    - Kconfig depends|selects changes
    - Make use of BIT() macro
    - Do not supply .owner attribute in *_driver structures
    - MAINTAINERS entries
    - Stop using set_irq_flags()
    - Start using irq_set_chained_handler_and_data()
    - Export DT device ID structures"

    * tag 'mfd-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (69 commits)
    mfd: jz4740-adc: Init mask cache in generic IRQ chip
    mfd: cros_ec: spi: Add OF match table
    mfd: stmpe: Add OF match table
    mfd: max77686: Split out regulator part from the DT binding
    mfd: Add DT binding for Maxim MAX77802 IC
    mfd: max77686: Use a generic name for the PMIC node in the example
    mfd: max77686: Don't suggest in binding to use a deprecated property
    mfd: Add MFD_CROS_EC dependencies
    mfd: cros_ec: Remove CROS_EC_PROTO dependency for SPI and I2C drivers
    mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICs
    mfd: axp20x: Add missing registers, and mark more registers volatile
    mfd: arizona: Fixup some formatting/white space errors
    mfd: wm8994: Fix NULL pointer exception on missing pdata
    of: Add vendor prefix for Nuvoton
    mfd: mt6397: Implement wake handler and suspend/resume to handle wake up event
    mfd: atmel-hlcdc: Add support for new SoCs
    mfd: Export OF module alias information in missing drivers
    mfd: stw481x: Export I2C module alias information
    mfd: da9062: Support for the DA9063 OnKey in the DA9062 core
    mfd: max899x: Avoid redundant irq_data lookup
    ...

    Linus Torvalds
     

11 Aug, 2015

1 commit


17 Jul, 2015

1 commit

  • This prepares for merging some of the drivers between max77693 and
    max77843 so the child MFD driver can be attached to any parent MFD main
    driver.

    Move the state container to common header file. Additionally add
    consistent 'i2c' prefixes to its members (of 'struct i2c_client' type).

    Signed-off-by: Krzysztof Kozlowski
    Acked-by: Sebastian Reichel
    Acked-by: Dmitry Torokhov
    Acked-by: Lee Jones
    Acked-by: Chanwoo Choi
    Acked-by: Jacek Anaszewski
    Signed-off-by: Mark Brown

    Krzysztof Kozlowski
     

12 Mar, 2015

1 commit


09 Dec, 2014

1 commit

  • Pull MFD updates from Lee Jones:
    "Changes to the core:
    - Honour PLATFORM_DEVID_NONE and PLATFORM_DEVID_AUTO dev IDs

    Changes to existing drivers:
    - IRQ additions/fixes; axp20x, da9063-core
    - Code simplification; i2c-dln2
    - Regmap additions/fixes; max77693
    - Error checking/handling improvements; dln2, db8500-prcmu
    - Bug fixes; dln2, wm8350-core
    - DT support/documentation; max77693, max77686, tps65217, twl4030-power,
    gpio-tc3589x
    - Decouple syscon interface from platform devices
    - Use MFD hotplug registration; rtsx_usb, viperboard, hid-sensor-hub
    - Regulator fixups; sec-core
    - Power Management additions/fixes; rts5227, tc6393xb
    - Remove relic/redundant code; ab8500-sysctrl, lpc_sch, max77693-private
    - Clean-up/coding style changes; tps65090
    - Clk additions/fixes; tc6393xb, tc6387xb, t7l66xb
    - Add USB-SPI support; dln2
    - Trivial changes; max14577, arizona-spi, lpc_sch, wm8997-tables, wm5102-tables
    wm5110-tables, axp20x, atmel-hlcdc, rtsx_pci

    New drivers/supported devices:
    - axp288 PMIC support added to axp20x
    - s2mps13 support added to sec-core
    - New support for Diolan DLN-2
    - New support for atmel-hlcdc"

    * tag 'mfd-for-linus-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (55 commits)
    mfd: rtsx: Add func to split u32 into register
    mfd: atmel-hlcdc: Add Kconfig option description and name
    mfd: da9063: Get irq base dynamically before registering device
    mfd: max14577: Fix obvious typo in company name in copyright
    mfd: axp20x: Constify axp20x_acpi_match and rid unused warning
    mfd: t7l66xb: prepare/unprepare clocks
    mfd: tc6387xb: prepare/unprepare clocks
    mfd: dln2: add support for USB-SPI module
    mfd: wm5110: Add missing registers for AIF2 channels 3-6
    mfd: tc3589x: get rid of static base
    mfd: arizona: Document HP_CTRL_1L and HP_CTRL_1R registers
    mfd: wm8997: Mark INTERRUPT_STATUS_2_MASK as readable
    mfd: tc6393xb: Prepare/unprepare clocks
    mfd: tps65090: Fix bonkers indenting strategy
    mfd: tc6393xb: Fail ohci suspend if full state restore is required
    mfd: lpc_sch: Don't call mfd_remove_devices()
    mfd: wm8350-core: Fix probable mask then right shift defect
    mfd: ab8500-sysctrl: Drop ab8500_restart
    mfd: db8500-prcmu: Provide sane error path values
    mfd: db8500-prcmu: Check return of devm_ioremap for error
    ...

    Linus Torvalds
     

26 Nov, 2014

3 commits


10 Nov, 2014

2 commits

  • All interrupts coming from MUIC were ignored because interrupt source
    register was masked.

    The Maxim 77693 has a "interrupt source" - a separate register and interrupts
    which give information about PMIC block triggering the individual
    interrupt (charger, topsys, MUIC, flash LED).

    By default bootloader could initialize this register to "mask all"
    value. In such case (observed on Trats2 board) MUIC interrupts won't be
    generated regardless of their mask status. Regmap irq chip was unmasking
    individual MUIC interrupts but the source was masked

    Before introducing regmap irq chip this interrupt source was unmasked,
    read and acked. Reading and acking is not necessary but unmasking is.

    Fixes: 342d669c1ee4 ("mfd: max77693: Handle IRQs using regmap")

    Cc:
    Signed-off-by: Krzysztof Kozlowski
    Reviewed-by: Chanwoo Choi
    Signed-off-by: Lee Jones

    Krzysztof Kozlowski
     
  • Interrupts coming from Maxim77693 MUIC block (MicroUSB Interface
    Controller) were not handled at all because wrong regmap was used for
    MUIC's regmap_irq_chip.

    The MUIC component of Maxim 77693 uses different I2C address thus second
    regmap is created and used by max77693 extcon driver. The registers for
    MUIC interrupts are also in that block and should be handled by that
    second regmap.

    However the regmap irq chip for MUIC was configured with default regmap
    which could not read MUIC registers.

    Fixes: 342d669c1ee4 ("mfd: max77693: Handle IRQs using regmap")

    Cc:
    Signed-off-by: Krzysztof Kozlowski
    Reviewed-by: Chanwoo Choi
    Signed-off-by: Lee Jones

    Krzysztof Kozlowski
     

26 Sep, 2014

1 commit

  • This patch improves support for the flash cell of
    max77693 mfd by adding relevant of_compatible field
    and a structure for caching related platform data.
    Added are also FLASH registers related macro definitions.

    Signed-off-by: Jacek Anaszewski
    Signed-off-by: Andrzej Hajda
    Acked-by: Kyungmin Park
    Signed-off-by: Lee Jones

    Jacek Anaszewski
     

17 Jun, 2014

2 commits

  • This patch modifies mfd driver to use regmap for handling interrupts.
    It allows to simplify irq handling process. This modifications needed
    to make small changes in function drivers, which use interrupts.

    Signed-off-by: Robert Baldyga
    Reviewed-by: Krzysztof Kozlowski
    Acked-by: Chanwoo Choi
    Signed-off-by: Lee Jones

    Robert Baldyga
     
  • This patch removes wrapper functions used to access regmap, and
    make driver using regmap_*() functions instead.

    Signed-off-by: Robert Baldyga
    Reviewed-by: Krzysztof Kozlowski
    Acked-by: Mark Brown
    Acked-by: Chanwoo Choi
    Signed-off-by: Lee Jones

    Robert Baldyga
     

03 Jun, 2014

1 commit


19 Mar, 2014

1 commit

  • During probe the driver allocates dummy I2C devices for MUIC and haptic
    with i2c_new_dummy() but it does not check the return value of this
    calls.

    In case of error (i2c_new_device(): memory allocation failure or I2C
    address cannot be used) this function returns NULL which is later used
    by devm_regmap_init_i2c() and i2c_unregister_device().

    If i2c_new_dummy() fails for MUIC or haptic devices, fail also the probe
    for main MFD driver.

    Cc: stable@vger.kernel.org
    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones

    Krzysztof Kozlowski
     

21 Jan, 2014

1 commit

  • 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: Krzysztof Kozlowski
    Signed-off-by: Lee Jones

    Krzysztof Kozlowski
     

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

3 commits


31 Jul, 2013

1 commit


22 Jan, 2013

1 commit

  • Current code uses max77693->dev in the dev_err call before setting it to
    &i2c->dev. Fix it.

    This patch also includes below cleanups:
    - Move checking pdata earlier and show dev_err if no platform data found.
    - Remove unnecessary err_regmap goto label.
    - Unregister i2c devices if regmap init for muic fails.

    Signed-off-by: Axel Lin
    Signed-off-by: Samuel Ortiz

    Axel Lin
     

16 Sep, 2012

2 commits

  • This patch initialize register map of MUIC device because mfd driver
    of Maxim MAX77693 use regmap-muic instance of MUIC device when irqs of
    Maxim MAX77693 is initialized before call max77693-muic probe() function.

    Signed-off-by: Chanwoo Choi
    Signed-off-by: Myungjoo Ham
    Signed-off-by: Kyungmin Park
    Reported-by: Sylwester Nawrocki
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Samuel Ortiz

    Chanwoo Choi
     
  • 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


20 May, 2012

2 commits

  • This patch supports IRQ handling for MAX77693.

    Signed-off-by: Chanwoo Choi
    Signed-off-by: Myungjoo Ham
    Signed-off-by: Kyungmin Park
    Signed-off-by: Samuel Ortiz

    Chanwoo Choi
     
  • This patch adds MFD driver for MAX77693 to enable its sub devices.

    The MAX77693 is a multi-function devices. It includes PMIC,
    MUIC(Micro USB Interface Controller), flash LED control and
    haptic motor control.

    Signed-off-by: Chanwoo Choi
    Signed-off-by: Myungjoo Ham
    Signed-off-by: Kyungmin Park
    Reviewed-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Chanwoo Choi