[PATCH 15/16] backlight: remove pandora_bl

H. Nikolaus Schaller hns at goldelico.com
Mon Aug 10 06:23:12 PDT 2026



> Am 10.08.2026 um 14:39 schrieb Andreas Kemnade <andreas at kemnade.info>:
> 
> On Mon, 10 Aug 2026 12:45:16 +0200
> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> 
>> Hi Daniel,
>> 
>>> Am 10.08.2026 um 12:35 schrieb Daniel Thompson <danielt at kernel.org>:
>>> 
>>> On Sat, Jul 11, 2026 at 08:02:02AM +0200, H. Nikolaus Schaller wrote:  
>>>> Retire the platform specific pandora backlight driver since
>>>> it can now be replaced by twl_pm and device tree.
>>>> 
>>>> Signed-off-by: H. Nikolaus Schaller <hns at goldelico.com>  
>>> 
>>> Yay!
>>> 
>>> Reviewed-by: Daniel Thompson (RISCstar) <danielt at kernel.org>  
>> 
>> Well, there were some good comments by Sahiko to the prerequisites of this patch,
>> because it has one speciality the PWM BL driver does not handle (avoid
>> interpretation of PWM signals as W1 protocol).
>> 
>> I haven't found time to work on this, so we can't remove this yet.
>> 
>> In the end it may either remain a pandora_bl driver (converted to DT)
>> or become a patch for something else.
>> 
> But then it is a TPS61161 on top of PWM, not a pandora driver.
> And then there might be just a quirk for that chip in the pwm_bl using
> triggered by a compatible. I guess the quirk is this:
> 
> 
> if (priv->old_state == PANDORABL_WAS_OFF) {
> - /*
> - * set PWM duty cycle to max. TPS61161 seems to use this
> - * to calibrate it's PWM sensitivity when it starts.
> - */
> - twl_i2c_write_u8(TWL_MODULE_PWM, MAX_VALUE, TWL_PWM0_OFF);
> -
> - /* first enable clock, then PWM0 out */
> - twl_i2c_read_u8(TWL4030_MODULE_INTBR, &r, TWL_INTBR_GPBR1);
> - r &= ~PWM0_ENABLE;
> - r |= PWM0_CLK_ENABLE;
> - twl_i2c_write_u8(TWL4030_MODULE_INTBR, r, TWL_INTBR_GPBR1);
> - r |= PWM0_ENABLE;
> - twl_i2c_write_u8(TWL4030_MODULE_INTBR, r, TWL_INTBR_GPBR1);
> -
> - /*
> - * TI made it very easy to enable digital control, so easy that
> - * it often triggers unintentionally and disabes PWM control,
> - * so wait until 1 wire mode detection window ends.
> - */
> - usleep_range(2000, 10000);
> - }
> 

Yes that is what I mean. It needs to be ported somewhere. If it can be ported to
some compatible = "pwm_bl_for_tps61161" or what fits best it will be fine. Or it
could be in some compatible = "pandora_bl" driver.

Has to be worked out when the development machines are not blocked by 3 or 4 other
projects already running in parallel :)

BR,
Nikolaus





More information about the linux-arm-kernel mailing list