12 Aug, 2019

1 commit


23 Oct, 2018

3 commits

  • Disable IRQs during suspend/resume cycle to ensure handling of wakeup
    interrupts (i.e. RTC wake alarm) after max8997_resume(). This way it can
    be properly handled when I2C bus is finally available. This pattern is
    also used in other MAX PMIC MFD drivers.

    Signed-off-by: Marek Szyprowski
    Reviewed-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones

    Marek Szyprowski
     
  • IRQ wake up support for MAX8997 driver was initially configured by
    respective property in pdata. However, after the driver conversion to
    device-tree, setting it was left as 'todo'. Nowadays most of other PMIC MFD
    drivers initialized from device-tree assume that they can be an irq wakeup
    source, so enable it also for MAX8997. This fixes support for wakeup from
    MAX8997 RTC alarm.

    Signed-off-by: Marek Szyprowski
    Reviewed-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones

    Marek Szyprowski
     
  • Replace GPL v2.0+ license statements with SPDX license identifiers.

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Lee Jones

    Krzysztof Kozlowski
     

16 May, 2018

1 commit


29 Jun, 2016

1 commit

  • The Kconfig currently controlling compilation of this code is:

    drivers/mfd/Kconfig:config MFD_MAX8997
    drivers/mfd/Kconfig: bool "Maxim Semiconductor MAX8997/8966 PMIC Support"

    ...meaning that it currently is not being built as a module by anyone.

    Lets remove the modular code that is essentially orphaned, so that
    when reading the driver there is no doubt it is builtin-only.

    We explicitly disallow a driver unbind, since that doesn't have a
    sensible use case anyway, and it allows us to drop the ".remove"
    code for non-modular drivers.

    Since module_init was not in use by this code, the init ordering
    remains unchanged with this commit.

    Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.

    We also delete the MODULE_LICENSE tag etc. since all that information
    is already contained at the top of the file in the comments.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: Lee Jones

    Paul Gortmaker
     

14 Jan, 2016

1 commit


26 Oct, 2015

1 commit


11 Aug, 2015

1 commit


03 Jun, 2014

1 commit


19 Mar, 2014

1 commit

  • During probe the driver allocates dummy I2C devices for RTC, haptic and
    MUIC 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 i2c_unregister_device().

    If i2c_new_dummy() fails for RTC, haptic or MUIC 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
     

19 Feb, 2014

1 commit


21 Jan, 2014

2 commits


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


20 Aug, 2013

1 commit


01 Aug, 2013

1 commit


31 Jul, 2013

1 commit


04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, __devinitdata,
    __devinitconst, and __devexit from these drivers.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Cc: Samuel Ortiz
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

28 Nov, 2012

1 commit


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
     

09 Jul, 2012

2 commits

  • Add irq domain support for max8997 interrupts. The reverse mapping method
    used is linear mapping since the sub-drivers of max8997 such as regulator
    and charger drivers can use the max8997 irq_domain to get the linux irq
    number for max8997 interrupts. All uses of irq_base in platform data and
    max8997 driver private data are removed.

    Reviwed-by: Mark Brown
    Acked-by: MyungJoo Ham
    Acked-by: Grant Likely
    Signed-off-by: Thomas Abraham
    Signed-off-by: Chanwoo Choi
    Signed-off-by: Kyungmin Park
    Signed-off-by: Samuel Ortiz

    Thomas Abraham
     
  • Fixes the following sparse warnings:
    drivers/mfd/max8997.c:209:4: warning: symbol 'max8997_dumpaddr_pmic' was not declared. Should it be static?
    drivers/mfd/max8997.c:334:4: warning: symbol 'max8997_dumpaddr_muic' was not declared. Should it be static?
    drivers/mfd/max8997.c:344:4: warning: symbol 'max8997_dumpaddr_haptic' was not declared. Should it be static?
    drivers/mfd/max8997.c:426:25: warning: symbol 'max8997_pm' was not declared. Should it be static?

    Signed-off-by: Sachin Kamat
    Acked-by: MyungJoo Ham
    Signed-off-by: Samuel Ortiz

    Sachin Kamat
     

09 Jan, 2012

1 commit


07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

01 Nov, 2011

1 commit


24 Oct, 2011

1 commit

  • - Support wake-up from suspend-to-ram.
    - Handle pending interrupt after a resume.
    - If pdata->wakeup is enabled, by default, the device is assumed to be
    capable of wakeup (the interrupt pin is connected to a wakeup-source GPIO)
    and may wakeup the system (MAX8997 has a power button input pin).

    Signed-off-by: MyungJoo Ham
    Signed-off-by: Kyungmin Park
    Signed-off-by: Samuel Ortiz

    MyungJoo Ham
     

06 Sep, 2011

1 commit

  • Required platform information is not handed to max8997-irq.c properly.
    This patch enables to hand over such information to max8997-irq.c so
    that max8997-irq functions properly.

    Signed-off-by: MyungJoo Ham
    Signed-off-by: Kyungmin Park
    Signed-off-by: Samuel Ortiz

    MyungJoo Ham
     

23 Mar, 2011

1 commit

  • MAX8997/MAX8966 chip is a multi-function device with I2C bussses. The
    chip includes PMIC, RTC, Fuel Gauge, MUIC, Haptic, Flash control, and
    Battery (charging) control.

    This patch is an initial release of a MAX8997/8966 driver that supports
    to enable the chip with its primary I2C bus that connects every device
    mentioned above except for Fuel Gauge, which uses another I2C bus. The
    fuel gauge is not supported by this mfd driver and is supported by a
    seperated driver of MAX17042 Fuel Gauge (yes, the fuel gauge part is
    compatible with MAX17042).

    Signed-off-by: MyungJoo Ham
    Signed-off-by: Kyungmin Park
    Reviewed-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    MyungJoo Ham