08 Sep, 2020

1 commit

  • regulator_notifier_call_chain() doesn't need rdev lock and rdev's
    existence is assumed in the code anyway. Remove the locks from drivers.

    Signed-off-by: Michał Mirosław
    Acked-by: Adam Thomson
    Reviewed-by: Dmitry Osipenko
    Link: https://lore.kernel.org/r/42393f66dcc4d80dcd9797be45216b4035aa96cb.1597032945.git.mirq-linux@rere.qmqm.pl
    Signed-off-by: Mark Brown

    Michał Mirosław
     

09 May, 2020

1 commit

  • Change the regulator helpers to use common linear_ranges code.

    Signed-off-by: Matti Vaittinen
    Reviewed-by: Mark Brown
    Acked-by: Charles Keepax
    Acked-by: Adam Thomson
    Link: https://lore.kernel.org/r/64f01d5e381b8631a271616b7790f9d5640974fb.1588944082.git.matti.vaittinen@fi.rohmeurope.com
    Signed-off-by: Mark Brown

    Matti Vaittinen
     

12 Jun, 2019

1 commit

  • This converts the Wolfson Micro WM831x DCDC converter to use
    a GPIO descriptor for the GPIO driving the DVS pin.

    There is just one (non-DT) machine in the kernel using this, and
    that is the Wolfson Micro (now Cirrus) Cragganmore 6410 so we
    patch this board to pass a descriptor table and fix up the driver
    accordingly.

    Cc: Charles Keepax
    Cc: Richard Fitzgerald
    Cc: patches@opensource.cirrus.com
    Signed-off-by: Linus Walleij
    Acked-by: Charles Keepax
    Signed-off-by: Mark Brown

    Linus Walleij
     

18 Apr, 2019

1 commit


13 Mar, 2019

1 commit

  • The mutex for the regulator_dev must be controlled by the caller of
    the regulator_notifier_call_chain(), as described in the comment
    for that function.

    Failure to mutex lock and unlock surrounding the notifier call results
    in a kernel WARN_ON_ONCE() which will dump a backtrace for the
    regulator_notifier_call_chain() when that function call is first made.
    The mutex can be controlled using the regulator_lock/unlock() API.

    Fixes: e4ee831f949a ("regulator: Add WM831x DC-DC buck convertor support")
    Suggested-by: Adam Thomson
    Signed-off-by: Steve Twiss
    Acked-by: Charles Keepax
    Signed-off-by: Mark Brown

    Steve Twiss
     

04 Mar, 2019

2 commits


26 Feb, 2019

1 commit


23 Jan, 2019

1 commit


13 Jan, 2016

1 commit


23 Dec, 2015

1 commit


03 Dec, 2015

1 commit


02 Jun, 2015

1 commit

  • Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
    threaded IRQs without a primary handler need to be requested with
    IRQF_ONESHOT, otherwise the request will fail.

    So pass the IRQF_ONESHOT flag in this case.

    The semantic patch that makes this change is available
    in scripts/coccinelle/misc/irqf_oneshot.cocci.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Mark Brown

    Fabio Estevam
     

20 Oct, 2014

1 commit


20 Feb, 2014

1 commit


31 Dec, 2013

1 commit


17 Sep, 2013

3 commits


30 Jul, 2013

1 commit


12 May, 2013

1 commit


10 Dec, 2012

2 commits


02 Dec, 2012

2 commits


20 Nov, 2012

4 commits


05 Oct, 2012

1 commit

  • Pull MFD changes from Samuel Ortiz:
    "MFD bits for the 3.7 merge window.

    As usual we have a few new drivers:

    - TI LP8788
    - TI OMAP USB TLL
    - Maxim MAX8907
    - SMSC ECE1099
    - Dialog Semiconductor DA9055
    - A simpler syscon driver that allow us to get rid of the anatop one.

    Drivers are also gradually getting Device Tree and IRQ domain support.

    The following drivers got DT support:
    - palmas, 88pm860x, tc3589x and twl4030-audio

    And those ones now use the IRQ domain APIs:
    - 88pm860x, tc3589x, db8500_prcmu

    Also some other interesting changes:
    - Intel's ICH LPC now supports Lynx Point
    - TI's twl4030-audio added a GPO child
    - tps6527 enabled its backlight subdevice
    - The twl6030 pwm driver moved to the new PWM subsystem

    And finally a bunch of cleanup and casual fixes for mc13xxx, 88pm860x,
    palmas, ab8500, wm8994, wm5110, max8907 and the tps65xxx family."

    Fix up various annoying conflicts: the DT and IRQ domain support came in
    twice and was already in 3.6. And then it was apparently rebased.

    Guys, DON'T REBASE!

    * tag 'mfd-3.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (89 commits)
    ARM: dts: Enable 88pm860x pmic
    mfd: 88pm860x: Move gpadc init into touch
    mfd: 88pm860x: Device tree support
    mfd: 88pm860x: Use irqdomain
    mfd: smsc: Add support for smsc gpio io/keypad driver
    backlight: tps65217_bl: Add missing platform_set_drvdata in tps65217_bl_probe
    mfd: DA9055 core driver
    mfd: tps65910: Add alarm interrupt of TPS65910 RTC to mfd device list
    mfd: wm5110: Add register patches for revision B
    mfd: wm5110: Disable control interface error report for WM5110 rev B
    mfd: max8907: Remove regulator-compatible from DT docs
    backlight: Add TPS65217 WLED driver
    mfd: Add backlight as subdevice to the tps65217
    mfd: Provide the PRCMU with its own IRQ domain
    mfd: Fix max8907 sparse warning
    mfd: Add lp8788 mfd driver
    mfd: dbx500: Provide a more accurate smp_twd clock
    mfd: rc5t583: Fix warning messages
    regulator: palmas: Add DT support
    mfd: palmas: Change regulator defns to better suite DT
    ...

    Linus Torvalds
     

11 Sep, 2012

1 commit

  • This was originally written by Russell King who unfortunately found
    himself unable to take the patch futher.

    Signed-off-by: Mark Brown
    Acked-by: Arnd Bergmann
    Acked-by: Haojian Zhuang
    Tested-by: Haojian Zhuang
    Signed-off-by: Samuel Ortiz

    Mark Brown
     

29 Aug, 2012

1 commit


18 Jun, 2012

3 commits


30 May, 2012

1 commit

  • Pull MFD changes from Samuel Ortiz:
    "Besides the usual cleanups, this one brings:

    * Support for 5 new chipsets: Intel's ICH LPC and SCH Centerton,
    ST-E's STAX211, Samsung's MAX77693 and TI's LM3533.

    * Device tree support for the twl6040, tps65910, da9502 and ab8500
    drivers.

    * Fairly big tps56910, ab8500 and db8500 updates.

    * i2c support for mc13xxx.

    * Our regular update for the wm8xxx driver from Mark."

    Fix up various conflicts with other trees, largely due to ab5500 removal
    etc.

    * tag 'mfd-3.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (106 commits)
    mfd: Fix build break of max77693 by adding REGMAP_I2C option
    mfd: Fix twl6040 build failure
    mfd: Fix max77693 build failure
    mfd: ab8500-core should depend on MFD_DB8500_PRCMU
    gpio: tps65910: dt: process gpio specific device node info
    mfd: Remove the parsing of dt info for tps65910 gpio
    mfd: Save device node parsed platform data for tps65910 sub devices
    mfd: Add r_select to lm3533 platform data
    gpio: Add Intel Centerton support to gpio-sch
    mfd: Emulate active low IRQs as well as active high IRQs for wm831x
    mfd: Mark two lm3533 zone registers as volatile
    mfd: Fix return type of lm533 attribute is_visible
    mfd: Enable Device Tree support in the ab8500-pwm driver
    mfd: Enable Device Tree support in the ab8500-sysctrl driver
    mfd: Add support for Device Tree to twl6040
    mfd: Register the twl6040 child for the ASoC codec unconditionally
    mfd: Allocate twl6040 IRQ numbers dynamically
    mfd: twl6040 code cleanup in interrupt initialization part
    mfd: Enable ab8500-gpadc driver for Device Tree
    mfd: Prevent unassigned pointer from being used in ab8500-gpadc driver
    ...

    Linus Torvalds
     

20 May, 2012

1 commit

  • The modern idiom is to use irq_domain to allocate interrupts. This is
    useful partly to allow further infrastructure to be based on the domains
    and partly because it makes it much easier to allocate virtual interrupts
    to devices as we don't need to allocate a contiguous range of interrupt
    numbers.

    Convert the wm831x driver over to this infrastructure, using a legacy
    IRQ mapping if an irq_base is specified in platform data and otherwise
    using a linear mapping, always registering the interrupts even if they
    won't ever be used. Only boards which need to use the GPIOs as
    interrupts should need to use an irq_base.

    This means that we can't use the MFD irq_base management since the
    unless we're using an explicit irq_base from platform data we can't rely
    on a linear mapping of interrupts. Instead we need to map things via
    the irq_domain - provide a conveniencem function wm831x_irq() to save a
    small amount of typing when doing so. Looking at this I couldn't clearly
    see anything the MFD core could do to make this nicer.

    Since we're not supporting device tree yet there's no meaningful
    advantage if we don't do this conversion in one, the fact that the
    interrupt resources are used for repeated IP blocks makes accessor
    functions for the irq_domain more trouble to do than they're worth.

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

    Mark Brown
     

14 May, 2012

1 commit


12 May, 2012

1 commit


10 May, 2012

1 commit