[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220712100841.1538395-1-vincent.knecht@mailoo.org>
Date: Tue, 12 Jul 2022 12:08:26 +0200
From: Vincent Knecht <vincent.knecht@...loo.org>
To: Pavel Machek <pavel@....cz>, Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Vincent Knecht <vincent.knecht@...loo.org>,
linux-leds@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: ~postmarketos/upstreaming@...ts.sr.ht, phone-devel@...r.kernel.org,
hns@...delico.com
Subject: [PATCH v5 00/12] leds: Fix/Add is31fl319{0,1,3} support
v5:
- added and tested Andy' series which converts driver to use
device properties, dev_err_probe, devm_add_action_or_reset
and simple i2c probe_new:
https://lore.kernel.org/linux-leds/20220711213524.3587-1-andriy.shevchenko@linux.intel.com/
v4:
- took Andy's comments into account
- add patch 7 for cleanup and formatting fixes
v3:
- pick up Rob's R-b for patches 1 and 2
- reinstate bindings docs license and maintainer
changes with Nikolaus agreement
- took Andy's comments on patch 4 into account
v2:
- keep original bindings license and maintainer/owner (Rob)
- squash bindings patches 2 & 4 (Krzysztof)
v1-resend:
- no change, resending after configuring git to accomodate
for smtp provider limit of 5 emails per batch
- just change cover-letter to mention si-en chip for idol347
The is31fl3190, is31fl3191 and is31fl3193 chips (1 or 3 PWM channels)
cannot be handled the same as is31fl3196 and is31fl3199,
if only because the register map is different.
Also:
- the software shutdown bit is reversed
- and additional field needs to be set to enable all channels
- the led-max-microamp current values and setting are not the same
Datasheets:
https://lumissil.com/assets/pdf/core/IS31FL3190_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3191_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3193_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3196_DS.pdf
https://lumissil.com/assets/pdf/core/IS31FL3199_DS.pdf
This series:
- converts dt-bindings to dtschema, adding all si-en compatibles
for convenience and consistency, and adding constraints on
supported values for eg. reg address and led-max-microamp
- changes vars, structs and defines to not use 319X suffix
but 3190 for 319{0,1,3} and 3196 for 319{6,9}
- adds fields in chipdef struct for chip-specific values
- only in patch 6, adds is31fl319{0,1,3} specific values
so those chips can work.
- patch 7 cleanups parts non touched in previous patches
- patches 8 to 12 are Andy's to modernize the driver
Tested on msm8916-alcatel-idol347, which probably has an
si-en,sn3190 or si-en,sn3191 (only one white led indicator).
Andy Shevchenko (5):
leds: is31fl319x: Make use of device properties
leds: is31fl319x: Make use of dev_err_probe()
leds: is31fl319x: Fix devm vs. non-devm ordering
leds: is31fl319x: use simple i2c probe function
leds: is31fl319x: sort header inclusion alphabetically
Vincent Knecht (7):
dt-bindings: leds: Convert is31fl319x to dtschema
dt-bindings: leds: is31fl319x: Document variants specificities
leds: is31fl319x: Add missing si-en compatibles
leds: is31fl319x: Use non-wildcard names for vars, structs and defines
leds: is31fl319x: Move chipset-specific values in chipdef struct
leds: is31fl319x: Add support for is31fl319{0,1,3} chips
leds: is31fl319x: Cleanup formatting and dev_dbg calls
.../bindings/leds/issi,is31fl319x.yaml | 193 +++++++
.../bindings/leds/leds-is31fl319x.txt | 61 --
drivers/leds/Kconfig | 2 +-
drivers/leds/leds-is31fl319x.c | 533 +++++++++++-------
4 files changed, 537 insertions(+), 252 deletions(-)
create mode 100644 Documentation/devicetree/bindings/leds/issi,is31fl319x.yaml
delete mode 100644 Documentation/devicetree/bindings/leds/leds-is31fl319x.txt
--
2.35.3
Powered by blists - more mailing lists