31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    license terms gnu general public license gpl version 2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 161 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Alexios Zavras
    Reviewed-by: Steve Winslow
    Reviewed-by: Richard Fontana
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528170027.447718015@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

26 Apr, 2018

1 commit

  • The AB8540 was an evolved version of the AB8500, but it was never
    mass produced or put into products, only reference designs exist.
    The upstream support was never completed and it is unlikely that
    this will happen so drop the support for now to simplify
    maintenance of the AB8500.

    Cc: Loic Pallardy
    Signed-off-by: Linus Walleij
    Acked-by: Lee Jones
    Signed-off-by: Sebastian Reichel

    Linus Walleij
     

13 Feb, 2017

1 commit


03 Jun, 2014

2 commits


17 Apr, 2013

1 commit


07 Mar, 2013

3 commits

  • Provide AB8540 platform specific information required to run the
    Battery Management subsystem on AB8540 based devices. For this to
    happen we see the introduction of separate platform specific data
    structures and a means in which to process them.

    Signed-off-by: Lee Jones

    Lee Jones
     
  • AB8540 supports power path function in USB charging mode for fast
    power up with dead and weak battery, and it could extend
    the battery age.

    When USB charging starts, if the Vbattrue is below than SW cut off
    voltage, power path and pre-charge should be enabled. If Vbattrue
    is higher than SW cut off voltage, power path and pre-charge should
    be disabled. This is to make sure full current to battery charge.
    At the end of charge, power path should be enable again to reduce
    charging the battery again.

    Signed-off-by: Lee Jones

    Lee Jones
     
  • Add support for a power cut feature which allows user to
    configure when ab8505 and ab8540 based platforms should shut
    down system due to low battery.

    Signed-off-by: Lee Jones

    Lee Jones
     

25 Feb, 2013

1 commit

  • Pull MFS updates from Samuel Ortiz:
    "This is the MFD pull request for the 3.9 merge window.

    No new drivers this time, but a bunch of fairly big cleanups:

    - Roger Quadros worked on a OMAP USBHS and TLL platform data
    consolidation, OMAP5 support and clock management code cleanup.

    - The first step of a major sync for the ab8500 driver from Lee
    Jones. In particular, the debugfs and the sysct interfaces got
    extended and improved.

    - Peter Ujfalusi sent a nice patchset for cleaning and fixing the
    twl-core driver, with a much needed module id lookup code
    improvement.

    - The regular wm5102 and arizona cleanups and fixes from Mark Brown.

    - Laxman Dewangan extended the palmas APIs in order to implement the
    palmas GPIO and rt drivers.

    - Laxman also added DT support for the tps65090 driver.

    - The Intel SCH and ICH drivers got a couple fixes from Aaron Sierra
    and Darren Hart.

    - Linus Walleij patchset for the ab8500 driver allowed ab8500 and
    ab9540 based devices to switch to the new abx500 pin-ctrl driver.

    - The max8925 now has device tree and irqdomain support thanks to
    Qing Xu.

    - The recently added rtsx driver got a few cleanups and fixes for a
    better card detection code path and now also supports the RTS5227
    chipset, thanks to Wei Wang and Roger Tseng."

    * tag 'mfd-3.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (109 commits)
    mfd: lpc_ich: Use devres API to allocate private data
    mfd: lpc_ich: Add Device IDs for Intel Wellsburg PCH
    mfd: lpc_sch: Accomodate partial population of the MFD devices
    mfd: da9052-i2c: Staticize da9052_i2c_fix()
    mfd: syscon: Fix sparse warning
    mfd: twl-core: Fix kernel panic on boot
    mfd: rtsx: Fix issue that booting OS with SD card inserted
    mfd: ab8500: Fix compile error
    mfd: Add missing GENERIC_HARDIRQS dependecies
    Documentation: Add docs for max8925 dt
    mfd: max8925: Add dts
    mfd: max8925: Support dt for backlight
    mfd: max8925: Fix onkey driver irq base
    mfd: max8925: Fix mfd device register failure
    mfd: max8925: Add irqdomain for dt
    mfd: vexpress: Allow vexpress-sysreg to self-initialise
    mfd: rtsx: Support RTS5227
    mfd: rtsx: Implement driving adjustment to device-dependent callbacks
    mfd: vexpress: Add pseudo-GPIO based LEDs
    mfd: ab8500: Rename ab8500 to abx500 for hwmon driver
    ...

    Linus Torvalds
     

21 Feb, 2013

1 commit

  • Pull battery updates from Anton Vorontsov:
    "Four new drivers:

    - goldfish_battery:

    This is Android Emulator battery driver. Originally from Google,
    but Intel folks reshaped it for mainline

    - pm2301_charger:

    A new driver for ST-Ericsson 2301 Power Management chip, uses
    AB8500 battery management core

    - qnap-poweroff:

    The driver adds poweroff functionality for QNAP NAS boxes

    - restart-poweroff:

    A generic driver that implements 'power off by restarting'. The
    actual poweroff functionality is implemented through a bootloader,
    so Linux' task is just to restart the box. The driver is useful on
    Buffalo Linkstation LS-XHL and LS-CHLv2 boards. Andrew Lunn worked
    on submitting the driver (as well as qnap-poweroff above).

    Additionally:

    - A lot of fixes for ab8500 drivers. This is a part of efforts of
    syncing internal ST-Ericsson development tree with the mainline.
    Lee Jones @ Linaro worked on compilation and reshaping these
    series.

    - New health properties for the power supplies: "Watchdog timer
    expire" and "Safety timer expire"

    - As usual, a bunch of fixes/cleanups here and there"

    * tag 'for-v3.9' of git://git.infradead.org/battery-2.6: (81 commits)
    bq2415x_charger: Add support for offline and 100mA mode
    generic-adc-battery: Fix forever loop in gab_remove()
    goldfish_battery: Add missing GENERIC_HARDIRQS dependency
    da9030_battery: Include notifier.h
    bq27x00_battery: Fix reporting battery temperature
    power/reset: Remove newly introduced __dev* annotations
    lp8727_charger: Small cleanup in naming
    ab8500_btemp: Demote initcall sequence
    ds2782_battery: Add power_supply_changed() calls for proper uevent support
    power: Add battery driver for goldfish emulator
    u8500-charger: Delay for USB enumeration
    ab8500-bm: Remove individual [charger|btemp|fg|chargalg] pdata structures
    ab8500-charger: Do not touch VBUSOVV bits
    ab8500-fg: Use correct battery charge full design
    pm2301: LPN mode control support
    pm2301: Enable vbat low monitoring
    ab8500-bm: Flush all work queues before suspending
    ab8500-fg: Go to INIT_RECOVERY when charger removed
    ab8500-charger: Add support for autopower on AB8505 and AB9540
    abx500-chargalg: Add new sysfs interface to get current charge status
    ...

    Fix up fairly straightforward conflicts in the ab8500 driver. But since
    it seems to be ARM-specific, I can't even compile-test the result..

    Linus Torvalds
     

14 Feb, 2013

1 commit


04 Feb, 2013

1 commit

  • Some drivers can detect subsystem failures e.g. shared memory driver
    can detect modem sub system failures. It would be helpful in analyzing
    these failures if AB register dump is available at that point. This
    patch adds the API for the drivers to dump AB registers in the kernel
    log.

    Signed-off-by: Lee Jones
    Signed-off-by: Mian Yousaf Kaukab
    Reviewed-by: Linus WALLEIJ
    Reviewed-by: Jonas ABERG

    Mian Yousaf Kaukab
     

23 Jan, 2013

2 commits

  • None of the aforementioned components have their own dedicated
    platform data structures anymore. Instead they have all been
    merged into one big Battery Management container. Let's remove
    them and place all the nice newly added attributes into the core
    container.

    Signed-off-by: Lee Jones

    Lee Jones
     
  • drivers/mfd/ab8500-core.c:1015:21: error: ‘ab8500_bm_data’ undeclared here

    include/linux/mfd/abx500/ab8500-bm.h:445:13: warning: ‘ab8500_fg_reinit’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:448:13: warning: ‘ab8500_charger_usb_state_changed’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:451:29: warning: ‘ab8500_btemp_get’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:455:12: warning: ‘ab8500_btemp_get_batctrl_temp’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:463:12: warning: ‘ab8500_fg_inst_curr_blocking’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:442:12: warning: ‘ab8500_fg_inst_curr_done’ defined but not used
    include/linux/mfd/abx500/ab8500-bm.h:447:26: warning: ‘ab8500_fg_get’ defined but not used

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

    Lee Jones
     

16 Jan, 2013

1 commit

  • Today the battery recharge is determined with a voltage threshold. This
    voltage threshold is only valid when the battery is relaxed. In charging
    algorithm the voltage read is the loaded battery voltage and no
    compensation is done to get the relaxed voltage. When maintenance
    charging is not selected, this makes the recharging condition to almost
    immediately activate when there is a discharge present on the battery.

    Depending on which vendor the battery comes from this behavior can wear
    out the battery much faster than normal.

    The fuelgauge driver is responsible to monitor the actual battery
    capacity and is able to estimate the remaining capacity. It is better to
    use the remaining capacity as a limit to determine when battery should
    be recharged.

    Signed-off-by: Lee Jones
    Signed-off-by: Marcus Cooper
    Reviewed-by: Hakan BERG
    Reviewed-by: Jonas ABERG
    Signed-off-by: Anton Vorontsov

    Marcus Cooper
     

11 Dec, 2012

2 commits

  • Currently the AB8500 battery management subsystem receives platform
    specific information via two different means depending on how the
    platform is booted. If DT is not enabled, a reference to a *_bm_data
    data structure containing each platform specific attribute is passed
    though platform_data. However, if DT is enabled, then platform_data
    is empty and the reference is gained though a DT specific probe
    function. There are two issues here 1) the same reference is
    being collected each time and 2) the DT way doesn't allow any
    provisions to select different platform specific attributes, which
    kind of defeats the object.

    Cc: Samuel Ortiz
    Signed-off-by: Lee Jones

    Lee Jones
     
  • The platform specific battery management configuration data structure
    is currently called 'bat' short for 'battery'; however, it contains
    information for all components of the battery management group, rather
    than information pertaining to the battery itself - there are other
    structures for that. So, in keeping with its structure namesake
    'abx500_bm_data', we rename it to 'bm' here. Using similar logic,
    we're also renaming 'bmdevs_of_probe' to the more device specific
    'ab8500_bm_of_probe'.

    Signed-off-by: Lee Jones

    Lee Jones
     

19 Nov, 2012

2 commits


14 Sep, 2012

1 commit


02 May, 2012

1 commit

  • This platform has been obsoleted and was only available inside of
    ST-Ericsson, no users of this code are left in the world. This
    deletes the core U5500 support entirely in the same manner as the
    obsoleted U8500 silicon was previously deleted.

    Cc: Srinidhi Kasagar
    Cc: Rabin Vincent
    Cc: Jonas Aberg
    Cc: Per Forlin
    Cc: Ulf Hansson
    Acked-by: Samuel Ortiz
    Signed-off-by: Linus Walleij

    Linus Walleij
     

31 Mar, 2012

1 commit

  • Pull battery updates from Anton Vorontsov:
    "Various small bugfixes and enhancements, plus two new drivers:
    - A quite complex ab8500 charger driver, submitted by Arun Murthy @
    ST-Ericsson;
    - Summit Microelectronics SMB347 Battery Charger, submitted by Bruce
    E Robertson and Alan Cox @ Intel.

    And that's all."

    * tag 'for-v3.4-rc1' of git://git.infradead.org/battery-2.6: (36 commits)
    max17042_battery: Clean up interrupt handling
    Revert "max8998_charger: Include linux/module.h just once"
    ab8500_fg: Fix some build warnings on x86_64
    max17042_battery: Fix CHARGE_FULL representation.
    max8998_charger: Include linux/module.h just once
    power_supply: Convert i2c drivers to module_i2c_driver
    lp8727_charger: Add MODULE_DEVICE_TABLE
    charger-manager: Simplify charger_get_property(), get rid of a warning
    charger-manager: Clean up for better readability
    da9052-battery: Convert to use module_platform_driver
    da9052-battery: Fix a memory leak when unload the module
    da9052-battery: Add missing platform_set_drvdata
    ab8500: Turn unneeded global symbols into local ones
    ab8500_fg: Fix copy-paste error
    ab8500_fg: Get rid of 'struct battery_type'
    ab8500_fg: Get rid of 'struct v_to_cap'
    ab8500_btemp: Get rid of 'enum adc_therm'
    ab8500_charger: Convert to the new USB OTG calls
    ab8500-btemp: AB8500 battery temperature driver
    ab8500-fg: A8500 fuel gauge driver
    ...

    Linus Torvalds
     

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
     

27 Mar, 2012

1 commit

  • This is a charging algorithm driver for abx500 variants. It is the central
    entity for battery driver and is responsible for charging and monitoring
    the battery driver. It is a hardware independant driver and also monitors
    other abx500 power supply devices.

    Signed-off-by: Arun Murthy
    Acked-by: Linus Walleij
    Signed-off-by: Anton Vorontsov

    Arun Murthy
     

16 Mar, 2012

1 commit

  • The header includes a lot of stuff, and
    it in turn gets a lot of use just for the basic "struct device"
    which appears so often.

    Clean up the users as follows:

    1) For those headers only needing "struct device" as a pointer
    in fcn args, replace the include with exactly that.

    2) For headers not really using anything from device.h, simply
    delete the include altogether.

    3) For headers relying on getting device.h implicitly before
    being included themselves, now explicitly include device.h

    4) For files in which doing #1 or #2 uncovers an implicit
    dependency on some other header, fix by explicitly adding
    the required header(s).

    Any C files that were implicitly relying on device.h to be
    present have already been dealt with in advance.

    Total removals from #1 and #2: 51. Total additions coming
    from #3: 9. Total other implicit dependencies from #4: 7.

    As of 3.3-rc1, there were 110, so a net removal of 42 gives
    about a 38% reduction in device.h presence in include/*

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

07 Mar, 2012

1 commit

  • There are currently four different versions of the AB8500
    around: AB8500, AB8505, AB9540 and AB8540. Unfortunately:

    - Some of the chips (AB8500, AB8505, AB9540) cannot read
    the AB8500_REV_REG register but return errors

    - Some of them have the same ID value in the hardware
    register AB8500_REV_REV, for example the first versions
    of AB8505 and AB9540 have 0xFF in this register -
    just like the AB8500.

    So we need to be able to enforce a certain version from
    the platform. We do this by using the id of the platform
    device that provides the read/write functions.

    Reviewed-by: Mark Brown
    Signed-off-by: Maxime Coquelin
    Signed-off-by: Alex Macro
    Signed-off-by: Michel Jaouen
    Signed-off-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Linus Walleij
     

03 Nov, 2011

1 commit

  • I missed to include a patch adding the new silicon revision define
    CUT3P3 and remove the retired CUT0 versions of AB8500. Also delete
    the reference to the retired AB3550 from the header.

    Reported-by: Randy Dunlap
    Signed-off-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Linus Walleij
     

24 Oct, 2011

2 commits

  • The AB3550 never passed the prototype stage. Instead it was used
    as a precursor to AB5500 for testing basic building blocks used
    in that chip, since they had large similarities. Since AB3550 will
    not see the light of day in product form and since the prototypes
    are no longer used, let's delete the driver and any references to
    it.

    Cc: Mattias Wallin
    Signed-off-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Linus Walleij
     
  • The analog baseband chip ab5500 is a multi functional chip
    containing regulators, charging, gpio, USB and accessory detect.
    It also contain various multimedia functionalities like digital
    encoder and audio codec.
    The core driver added with this patch provides register access via
    i2c via PRCMU. Event handling implemented as irq_chip will come in
    future patches since it depends on PRCMU functionality not yet
    implemented.

    Signed-off-by: Mattias Wallin
    Signed-off-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Mattias Wallin
     

27 May, 2011

2 commits


23 Mar, 2011

1 commit

  • No clients (in mainline kernel, I'm told that drivers exist in external
    trees that are planned for mainline inclusion) make use of this, nor
    do they make use of platform_data, so nothing really had to change here.

    The .data_size field is unused, so its usage gets removed.

    Signed-off-by: Andres Salomon
    Signed-off-by: Samuel Ortiz

    Andres Salomon
     

29 Oct, 2010

2 commits

  • Otherwise sparse warns about a public symbol with no declaration and
    the compiler can't spot if the callers and users have different signatures
    for the function.

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

    Mark Brown
     
  • This patch makes the ab8500 mixed signal chip expose the same
    interface for register access as the ab3100, ab3550 and ab5500 chip.
    The ab8500_read() and ab8500_write() is removed and replaced with
    abx500_get_register_interruptible() and
    abx500_set_register_interruptible().

    Signed-off-by: Mattias Wallin
    Acked-by: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mattias Wallin
     

28 May, 2010

2 commits

  • The interface for the AB3100 is changed to make way for the
    ABX500 family of chips: AB3550, AB5500 and future ST-Ericsson
    Analog Baseband chips. The register access functions are moved
    out to a separate struct abx500_ops. In this way the interface
    is moved from the implementation and the sub functionality drivers
    can keep their interface intact when chip infrastructure and
    communication mechanisms changes. We also define the AB3550
    device IDs and the AB3550 platform data struct and convert
    the catenated 32bit event to an array of 3 x 8bits.

    Signed-off-by: Mattias Wallin
    Signed-off-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Mattias Wallin
     
  • The goal here is to make way for a more general interface for the
    analog baseband chips ab3100 ab3550 ab550 and future chips.

    This patch have been divided into two parts since both changing name
    and content of a file is not recommended in git.

    Signed-off-by: Mattias Wallin
    Signed-off-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Linus Walleij