On 10/03/2025 09:04, Matthias Fend wrote: >>> + >>> +static void tps6131x_remove(struct i2c_client *client) >>> +{ >>> + struct tps6131x *tps6131x = i2c_get_clientdata(client); >>> + >>> + v4l2_flash_release(tps6131x->v4l2_flash); >>> + >>> + cancel_delayed_work_sync(&tps6131x->torch_refresh_work); >>> +} >>> + >>> +static const struct of_device_id of_tps6131x_leds_match[] = { >>> + { .compatible = "ti,tps61310" }, >>> + { .compatible = "ti,tps61311" }, >> >> >> No differences? So devices are fully compatible? Then it should be >> expressed in the binding with fallback. Or the binding description or >> commit msg should explain why they are not compatible. > > Yes, from a software perspective both are identical. > The only difference I found between the two variants are different > valley current limits. These are described in the bindings. So use compatibility and fallbacks (see example-schema or hundreds of other bindings). Best regards, Krzysztof