Skip to content
Permalink
Bjorn-Andersso…
Switch branches/tags

Commits on Jun 22, 2021

  1. leds: Add driver for Qualcomm LPG

    The Light Pulse Generator (LPG) is a PWM-block found in a wide range of
    PMICs from Qualcomm. These PMICs typically comes with 1-8 LPG instances,
    with their output being routed to various other components, such as
    current sinks or GPIOs.
    
    Each LPG instance can operate on fixed parameters or based on a shared
    lookup-table, altering the duty cycle over time. This provides the means
    for hardware assisted transitions of LED brightness.
    
    A typical use case for the fixed parameter mode is to drive a PWM
    backlight control signal, the driver therefor allows each LPG instance
    to be exposed to the kernel either through the LED framework or the PWM
    framework.
    
    A typical use case for the LED configuration is to drive RGB LEDs in
    smartphones etc, for which the driver support multiple channels to be
    ganged up to a MULTICOLOR LED. In this configuration the pattern
    generators will be synchronized, to allow for multi-color patterns.
    
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    andersson authored and intel-lab-lkp committed Jun 22, 2021
  2. dt-bindings: leds: Add Qualcomm Light Pulse Generator binding

    This adds the binding document describing the three hardware blocks
    related to the Light Pulse Generator found in a wide range of Qualcomm
    PMICs.
    
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    andersson authored and intel-lab-lkp committed Jun 22, 2021

Commits on May 30, 2021

  1. leds: lm36274: Add missed property.h

    It appears that property.h has been included in some configurations implicitly,
    but in some it's not and hence build may fail. Add missed property.h explicitly.
    
    Fixes: e2e8e4e ("leds: lm36274: Correct headers (of*.h -> mod_devicetable.h)")
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 30, 2021

Commits on May 28, 2021

  1. leds: el15203000: Make error handling more robust

    It's easy to miss necessary clean up, e.g. firmware node reference counting,
    during error path in ->probe(). Make it more robust by moving to a single
    point of return.
    
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  2. leds: pwm: Make error handling more robust

    It's easy to miss necessary clean up, e.g. firmware node reference counting,
    during error path in ->probe(). Make it more robust by moving to a single
    point of return.
    
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  3. leds: lt3593: Make use of device properties

    Device property API allows to gather device resources from different sources,
    such as ACPI. Convert the driver to unleash the power of device property API.
    
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  4. leds: lp50xx: Put fwnode in error case during ->probe()

    fwnode_for_each_child_node() bumps a reference counting of a returned variable.
    We have to balance it whenever we return to the caller.
    
    OTOH, the successful iteration will drop reference count under the hood, no need
    to do it twice.
    
    Fixes: 242b811 ("leds: lp50xx: Add the LP50XX family of the RGB LED driver")
    Cc: Dan Murphy <dmurphy@ti.com>
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  5. leds: lm3697: Don't spam logs when probe is deferred

    When requesting GPIO line the probe can be deferred.
    In such case don't spam logs with an error message.
    This can be achieved by switching to dev_err_probe().
    
    Fixes: 5c1d824 ("leds: lm3697: Introduce the lm3697 driver")
    Cc: Dan Murphy <dmurphy@ti.com>
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  6. leds: lm3692x: Put fwnode in any case during ->probe()

    device_get_next_child_node() bumps a reference counting of a returned variable.
    We have to balance it whenever we return to the caller.
    
    Fixes: 9a5c1c6 ("leds: lm3692x: Change DT calls to fwnode calls")
    Cc: Dan Murphy <dmurphy@ti.com>
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  7. leds: lm36274: Correct headers (of*.h -> mod_devicetable.h)

    There is no user of of*.h headers, but mod_devicetable.h.
    Update header block accordingly.
    
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  8. leds: lm36274: Put fwnode in error case during ->probe()

    device_get_next_child_node() bumps a reference counting of a returned variable.
    We have to balance it whenever we return to the caller.
    
    In the older code the same is implied with device_for_each_child_node().
    
    Fixes: 11e1bbc ("leds: lm36274: Introduce the TI LM36274 LED driver")
    Fixes: a448fcf ("leds: lm36274: don't iterate through children since there is only one")
    Cc: Dan Murphy <dmurphy@ti.com>
    Cc: Marek Behún <marek.behun@nic.cz>
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  9. leds: lm3532: Make error handling more robust

    It's easy to miss necessary clean up, e.g. firmware node reference counting,
    during error path in ->probe(). Make it more robust by moving to a single
    point of return.
    
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  10. leds: lm3532: select regmap I2C API

    Regmap APIs should be selected, otherwise link can fail
    
    ERROR: modpost: "__devm_regmap_init_i2c" [drivers/leds/leds-lm3532.ko] undefined!
    
    Fixes: bc1b849 ("leds: lm3532: Introduce the lm3532 LED driver")
    Cc: Dan Murphy <dmurphy@ti.com>
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  11. leds: lgm-sso: Drop duplicate NULL check for GPIO operations

    Since GPIO operations are NULL-aware, we don't need to duplicate
    this check. Remove it and fold the rest of the code.
    
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  12. leds: lgm-sso: Remove unneeded of_match_ptr()

    LGM SSO is an OF dependent driver, so of_match_ptr() can be safely
    removed.
    
    Remove the unneeded of_match_ptr().
    
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  13. leds: lgm-sso: Fix clock handling

    The clock handling has a few issues:
     - when getting second clock fails, the first one left prepared and enabled
     - on ->remove() clocks are unprepared and disabled twice
    
    Fix all these by converting to use bulk clock operations since both clocks
    are mandatory.
    
    Fixes: c3987cd ("leds: lgm: Add LED controller driver for LGM SoC")
    Cc: Amireddy Mallikarjuna reddy <mallikarjunax.reddy@linux.intel.com>
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  14. leds: el15203000: Introduce to_el15203000_led() helper

    Introduce a helper to replace open coded container_of() calls.
    At the same time move ldev member to be first in the struct el15203000_led,
    that makes container_of() effectivelly a no-op.
    
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  15. leds: class: The -ENOTSUPP should never be seen by user space

    Drop the bogus error code and let of_led_get() to take care about absent
    of_node.
    
    Fixes: e389240 ("leds: Add managed API to get a LED from a device driver")
    Cc: Jean-Jacques Hiblot <jjhiblot@ti.com>
    Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    andy-shev authored and pavelmachek committed May 28, 2021
  16. leds: leds-mlxcpld: Fix a bunch of kernel-doc formatting issues

    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-mlxcpld.c:72: warning: cannot understand function prototype: 'struct mlxcpld_param '
     drivers/leds/leds-mlxcpld.c:83: warning: cannot understand function prototype: 'struct mlxcpld_led_priv '
     drivers/leds/leds-mlxcpld.c:98: warning: cannot understand function prototype: 'struct mlxcpld_led_profile '
     drivers/leds/leds-mlxcpld.c:114: warning: cannot understand function prototype: 'struct mlxcpld_led_pdata '
    
    Cc: Vadim Pasternak <vadimp@nvidia.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  17. leds: leds-lp8860: Fix kernel-doc related formatting issues

    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-lp8860.c:105: warning: Function parameter or member 'lock' not described in 'lp8860_led'
     drivers/leds/leds-lp8860.c:105: warning: Function parameter or member 'client' not described in 'lp8860_led'
     drivers/leds/leds-lp8860.c:105: warning: Function parameter or member 'led_dev' not described in 'lp8860_led'
     drivers/leds/leds-lp8860.c:105: warning: Function parameter or member 'regmap' not described in 'lp8860_led'
     drivers/leds/leds-lp8860.c:105: warning: Function parameter or member 'eeprom_regmap' not described in 'lp8860_led'
     drivers/leds/leds-lp8860.c:105: warning: Function parameter or member 'enable_gpio' not described in 'lp8860_led'
     drivers/leds/leds-lp8860.c:105: warning: Function parameter or member 'regulator' not described in 'lp8860_led'
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Dan Murphy <dmurphy@ti.com>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  18. leds: leds-mlxreg: Fix incorrect documentation of struct member 'led_…

    …cdev' and 'led_cdev_name'
    
    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-mlxreg.c:42: warning: Function parameter or member 'led_cdev' not described in 'mlxreg_led_data'
     drivers/leds/leds-mlxreg.c:42: warning: Function parameter or member 'led_cdev_name' not described in 'mlxreg_led_data'
    
    Cc: Vadim Pasternak <vadimp@nvidia.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  19. leds: leds-lm3697: Provide some missing descriptions for struct members

    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-lm3697.c:60: warning: Function parameter or member 'enabled' not described in 'lm3697_led'
     drivers/leds/leds-lm3697.c:60: warning: Function parameter or member 'num_leds' not described in 'lm3697_led'
     drivers/leds/leds-lm3697.c:84: warning: Function parameter or member 'bank_cfg' not described in 'lm3697'
     drivers/leds/leds-lm3697.c:84: warning: Function parameter or member 'num_banks' not described in 'lm3697'
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Dan Murphy <dmurphy@ti.com>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  20. leds: leds-lm3692x: Fix some kernel-doc formatting issues

    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'lock' not described in 'lm3692x_led'
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'client' not described in 'lm3692x_led'
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'led_dev' not described in 'lm3692x_led'
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'regmap' not described in 'lm3692x_led'
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'enable_gpio' not described in 'lm3692x_led'
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'regulator' not described in 'lm3692x_led'
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'led_enable' not described in 'lm3692x_led'
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'model_id' not described in 'lm3692x_led'
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'boost_ctrl' not described in 'lm3692x_led'
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'brightness_ctrl' not described in 'lm3692x_led'
     drivers/leds/leds-lm3692x.c:121: warning: Function parameter or member 'enabled' not described in 'lm3692x_led'
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Liam Girdwood <lgirdwood@gmail.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Dan Murphy <dmurphy@ti.com>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  21. leds: leds-lm3530: Fix incorrect spelling of 'brightness'

    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-lm3530.c:113: warning: Function parameter or member 'brightness' not described in 'lm3530_data'
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Kumar SAHU <shreshthakumar.sahu@stericsson.com>
    Cc: Dan Murphy <D.Murphy@motorola.com>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  22. leds: leds-lp3944: Provide missing function names in documentation he…

    …aders
    
    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-lp3944.c:95: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
     drivers/leds/leds-lp3944.c:126: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
     drivers/leds/leds-lp3944.c:158: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Antonio Ospite <ospite@studenti.unina.it>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  23. leds: leds-is31fl32xx: Provide missing description for member 'sw_shu…

    …tdown_func'
    
    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-is31fl32xx.c:85: warning: Function parameter or member 'sw_shutdown_func' not described in 'is31fl32xx_chipdef'
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: David Rivshin <drivshin@allworx.com>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  24. leds: leds-blinkm: Remove unused variable 'ret'

    Function returns void anyway.
    
    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-blinkm.c: In function ‘blinkm_init_hw’:
     drivers/leds/leds-blinkm.c:483:6: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
    
    Cc: Jan-Simon Moeller <jansimon.moeller@gmx.de>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: "Jan-Simon Möller" <dl9pf@gmx.de>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  25. leds: leds-as3645a: Fix function name 'as3645a_set_current()'

    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-as3645a.c:198: warning: expecting prototype for as3645a_set_config(). Prototype was for as3645a_set_current() instead
    
    Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  26. leds: leds-bcm6328: Demote kernel-doc abuse

    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-bcm6328.c:97: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: "Fernández Rojas" <noltari@gmail.com>
    Cc: Jonas Gorski <jogo@openwrt.org>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  27. leds: led-class: Fix incorrectly documented param 'dev'

    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/led-class.c:521: warning: Function parameter or member 'dev' not described in 'devm_led_classdev_unregister'
     drivers/leds/led-class.c:521: warning: Excess function parameter 'parent' description in 'devm_led_classdev_unregister'
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: John Lenz <lenz@cs.wisc.edu>
    Cc: Richard Purdie <rpurdie@openedhand.com>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  28. leds: leds-gpio-register: Supply description for param 'id'

    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/leds-gpio-register.c:24: warning: Function parameter or member 'id' not described in 'gpio_led_register_device'
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021
  29. leds: trigger: ledtrig-cpu: Fix incorrectly documented param 'ledevt'

    Fixes the following W=1 kernel build warning(s):
    
     drivers/leds/trigger/ledtrig-cpu.c:52: warning: Function parameter or member 'ledevt' not described in 'ledtrig_cpu'
     drivers/leds/trigger/ledtrig-cpu.c:52: warning: Excess function parameter 'evt' description in 'ledtrig_cpu'
    
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Bryan Wu <bryan.wu@canonical.com>
    Cc: linux-leds@vger.kernel.org
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    lag-linaro authored and pavelmachek committed May 28, 2021

Commits on May 10, 2021

  1. leds: tlc591xx: fix return value check in tlc591xx_probe()

    After device_get_match_data(), tlc591xx is not checked, add
    check for it and also check np after dev_of_node.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Signed-off-by: Pavel Machek <pavel@ucw.cz>
    Yang Yingliang authored and pavelmachek committed May 10, 2021

Commits on May 9, 2021

  1. Linux 5.13-rc1

    torvalds committed May 9, 2021
  2. fbmem: fix horribly incorrect placement of __maybe_unused

    Commit b9d79e4 ("fbmem: Mark proc_fb_seq_ops as __maybe_unused")
    places the '__maybe_unused' in an entirely incorrect location between
    the "struct" keyword and the structure name.
    
    It's a wonder that gcc accepts that silently, but clang quite reasonably
    warns about it:
    
        drivers/video/fbdev/core/fbmem.c:736:21: warning: attribute declaration must precede definition [-Wignored-attributes]
        static const struct __maybe_unused seq_operations proc_fb_seq_ops = {
                            ^
    
    Fix it.
    
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed May 9, 2021
Older