Messages in this thread | | | Date | Tue, 28 Mar 2023 16:13:57 +0800 | Subject | Re: [PATCH v8 1/2] leds: flash: add driver to support flash LED module in QCOM PMICs | From | Fenglin Wu <> |
| |
On 3/26/2023 1:36 AM, Pavel Machek wrote: > On Fri 2023-03-03 17:50:22, Fenglin Wu wrote: >> Add initial driver to support flash LED module found in Qualcomm >> Technologies, Inc. PMICs. The flash module can have 3 or 4 channels >> and each channel can be controlled indepedently and support full scale >> current up to 1.5 A. It also supports connecting two channels together >> to supply one LED component with full scale current up to 2 A. In that >> case, the current will be split on each channel symmetrically and the >> channels will be enabled and disabled at the same time. >> >> Signed-off-by: Fenglin Wu <quic_fenglinw@quicinc.com> >> Tested-by: Luca Weiss <luca.weiss@fairphone.com> # sm7225-fairphone-fp4 + pm6150l > >> + flash->led_cdev.brightness_set_blocking = qcom_flash_led_brightness_set; >> + >> + init_data.fwnode = node; >> + init_data.devicename = NULL; >> + init_data.default_label = NULL; >> + init_data.devname_mandatory = false; >> + >> + rc = devm_led_classdev_flash_register_ext(dev, flash, &init_data); >> + if (rc < 0) { >> + dev_err(dev, "Register flash LED classdev failed, rc=%d\n", rc); >> + return rc; >> + } > > I'd expect setting max_brightness somewhere around here. > > What does cat /sys/class/leds/*/max_brightness say (and what directory > name are you using)?
LED_FULL is used as the default max_brightness, the driver will do the calculation based on LED_FULL (as below) and set the corresponding current when brightness is updated :
u32 current_ma = brightness * led->max_torch_current_ma / LED_FULL;
This is how max_brightness shows on my device:
# cat /sys/class/leds/white:flash-0/max_brightness 255
> > BR, Pavel
| |