[PATCH v5 0/6] media: lm3560: convert to use OF bindings

Svyatoslav Ryhel posted 6 patches 1 month, 1 week ago
There is a newer version of this series
.../devicetree/bindings/leds/ti,lm3560.yaml   | 163 ++++++++
drivers/media/i2c/lm3560.c                    | 385 +++++++++++++++---
include/media/i2c/lm3560.h                    |  84 ----
3 files changed, 481 insertions(+), 151 deletions(-)
create mode 100644 Documentation/devicetree/bindings/leds/ti,lm3560.yaml
delete mode 100644 include/media/i2c/lm3560.h
[PATCH v5 0/6] media: lm3560: convert to use OF bindings
Posted by Svyatoslav Ryhel 1 month, 1 week ago
Add missing HWEN input pin and IN supply. Fix v4l2 subdev registration.
Remove platform data and switch to OF device tree bindings.

---
Changes in v5:
- schema adjusted to take into account lm3559
- device_for_each_child_node > for_each_available_child_of_node
- lm3559 and lm3560 configuration was diverged with data match
- removed redundant header

Changes in v4:
- fixed current being off by 10 in schema
- label property from schema replaced with modern equivalents
- lm3560_init_device moved before subdev registration
- v4l2_device_unregister_subdev > v4l2_async_unregister_subdev
- added subdevice cleanup if second led registration fails
- added check if "reg" property exists for LED nodes
- added missing fwnode_handle_put if device loop fails
- added bitmap to monitor configured LED id
- added pm_ptr() macro for PM operations pointer

Changes in v3:
- added note regarding lm3559 in the schema commit
- lm3560 power on/off functions converted to be part of PM,
  dropped redundant wrappers

Changes in v2:
- vendor properties swapped with generic LED properties
- added mutex lock usage optimization
- power supply and enable gpio commits squashed into PM
  configuration since they are both required in making
  proper on/off sequence.
---

Svyatoslav Ryhel (6):
  dt-bindings: leds: Document TI LM3560 Synchronous Boost Flash Driver
  media: i2c: lm3560: Fix v4l2 subdev registration
  media: i2c: lm3560: Optimize mutex lock usage
  media: i2c: lm3560: Convert to use OF bindings
  media: i2c: lm3560: Add support for PM features
  media: i2c: lm3560: Add proper support for LM3559

 .../devicetree/bindings/leds/ti,lm3560.yaml   | 163 ++++++++
 drivers/media/i2c/lm3560.c                    | 385 +++++++++++++++---
 include/media/i2c/lm3560.h                    |  84 ----
 3 files changed, 481 insertions(+), 151 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/leds/ti,lm3560.yaml
 delete mode 100644 include/media/i2c/lm3560.h

-- 
2.51.0
Re: [PATCH v5 0/6] media: lm3560: convert to use OF bindings
Posted by Svyatoslav Ryhel 1 month, 1 week ago
нд, 3 трав. 2026 р. о 19:44 Svyatoslav Ryhel <clamor95@gmail.com> пише:
>
> Add missing HWEN input pin and IN supply. Fix v4l2 subdev registration.
> Remove platform data and switch to OF device tree bindings.
>
> ---
> Changes in v5:
> - schema adjusted to take into account lm3559
> - device_for_each_child_node > for_each_available_child_of_node
> - lm3559 and lm3560 configuration was diverged with data match
> - removed redundant header
>
> Changes in v4:
> - fixed current being off by 10 in schema
> - label property from schema replaced with modern equivalents
> - lm3560_init_device moved before subdev registration
> - v4l2_device_unregister_subdev > v4l2_async_unregister_subdev
> - added subdevice cleanup if second led registration fails
> - added check if "reg" property exists for LED nodes
> - added missing fwnode_handle_put if device loop fails
> - added bitmap to monitor configured LED id
> - added pm_ptr() macro for PM operations pointer
>
> Changes in v3:
> - added note regarding lm3559 in the schema commit
> - lm3560 power on/off functions converted to be part of PM,
>   dropped redundant wrappers
>
> Changes in v2:
> - vendor properties swapped with generic LED properties
> - added mutex lock usage optimization
> - power supply and enable gpio commits squashed into PM
>   configuration since they are both required in making
>   proper on/off sequence.
> ---
>
> Svyatoslav Ryhel (6):
>   dt-bindings: leds: Document TI LM3560 Synchronous Boost Flash Driver
>   media: i2c: lm3560: Fix v4l2 subdev registration
>   media: i2c: lm3560: Optimize mutex lock usage
>   media: i2c: lm3560: Convert to use OF bindings
>   media: i2c: lm3560: Add support for PM features
>   media: i2c: lm3560: Add proper support for LM3559
>
>  .../devicetree/bindings/leds/ti,lm3560.yaml   | 163 ++++++++
>  drivers/media/i2c/lm3560.c                    | 385 +++++++++++++++---
>  include/media/i2c/lm3560.h                    |  84 ----
>  3 files changed, 481 insertions(+), 151 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/leds/ti,lm3560.yaml
>  delete mode 100644 include/media/i2c/lm3560.h
>
> --
> 2.51.0
>

Hello Sakari!

During preparation of this patchset 2 important issues were not
tracked and discovered only after sending.

1. In "dt-bindings: leds: Document TI LM3560 Synchronous Boost Flash Driver"

flash-max-microamp and led-max-microamp ranges of lm3559 and lm3560
pattern properties were swapped.

2. In "media: i2c: lm3560: Convert to use OF bindings"

In the lm3560_probe struct device_node *node should be removed and
for_each_available_child_of_node should be replaced with
for_each_available_child_of_node_scoped

I am sorry for this inconvenience. If you find it suitable to adjust
these commits on apply feel free to do so, alternatively I can fix
them in the next iteration.

With best regards,
Svyatoslav R.
Re: [PATCH v5 0/6] media: lm3560: convert to use OF bindings
Posted by Sakari Ailus 1 month, 1 week ago
Hi Svyatoslav,

On Mon, May 04, 2026 at 08:35:44AM +0300, Svyatoslav Ryhel wrote:
> нд, 3 трав. 2026 р. о 19:44 Svyatoslav Ryhel <clamor95@gmail.com> пише:
> >
> > Add missing HWEN input pin and IN supply. Fix v4l2 subdev registration.
> > Remove platform data and switch to OF device tree bindings.
> >
> > ---
> > Changes in v5:
> > - schema adjusted to take into account lm3559
> > - device_for_each_child_node > for_each_available_child_of_node
> > - lm3559 and lm3560 configuration was diverged with data match
> > - removed redundant header
> >
> > Changes in v4:
> > - fixed current being off by 10 in schema
> > - label property from schema replaced with modern equivalents
> > - lm3560_init_device moved before subdev registration
> > - v4l2_device_unregister_subdev > v4l2_async_unregister_subdev
> > - added subdevice cleanup if second led registration fails
> > - added check if "reg" property exists for LED nodes
> > - added missing fwnode_handle_put if device loop fails
> > - added bitmap to monitor configured LED id
> > - added pm_ptr() macro for PM operations pointer
> >
> > Changes in v3:
> > - added note regarding lm3559 in the schema commit
> > - lm3560 power on/off functions converted to be part of PM,
> >   dropped redundant wrappers
> >
> > Changes in v2:
> > - vendor properties swapped with generic LED properties
> > - added mutex lock usage optimization
> > - power supply and enable gpio commits squashed into PM
> >   configuration since they are both required in making
> >   proper on/off sequence.
> > ---
> >
> > Svyatoslav Ryhel (6):
> >   dt-bindings: leds: Document TI LM3560 Synchronous Boost Flash Driver
> >   media: i2c: lm3560: Fix v4l2 subdev registration
> >   media: i2c: lm3560: Optimize mutex lock usage
> >   media: i2c: lm3560: Convert to use OF bindings
> >   media: i2c: lm3560: Add support for PM features
> >   media: i2c: lm3560: Add proper support for LM3559
> >
> >  .../devicetree/bindings/leds/ti,lm3560.yaml   | 163 ++++++++
> >  drivers/media/i2c/lm3560.c                    | 385 +++++++++++++++---
> >  include/media/i2c/lm3560.h                    |  84 ----
> >  3 files changed, 481 insertions(+), 151 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/leds/ti,lm3560.yaml
> >  delete mode 100644 include/media/i2c/lm3560.h
> >
> > --
> > 2.51.0
> >
> 
> Hello Sakari!
> 
> During preparation of this patchset 2 important issues were not
> tracked and discovered only after sending.
> 
> 1. In "dt-bindings: leds: Document TI LM3560 Synchronous Boost Flash Driver"
> 
> flash-max-microamp and led-max-microamp ranges of lm3559 and lm3560
> pattern properties were swapped.
> 
> 2. In "media: i2c: lm3560: Convert to use OF bindings"
> 
> In the lm3560_probe struct device_node *node should be removed and
> for_each_available_child_of_node should be replaced with
> for_each_available_child_of_node_scoped
> 
> I am sorry for this inconvenience. If you find it suitable to adjust
> these commits on apply feel free to do so, alternatively I can fix
> them in the next iteration.

Ack, I have a few comments on the set as well; please address the issues in
v6.

-- 
Kind regards,

Sakari Ailus