Message ID | 20240307090950.eLELkuyK@linutronix.de (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | serial: sifive: Remove 0 from fu540-c000-uart0 binding. | expand |
On Thu, Mar 07, 2024 at 10:09:50AM +0100, Sebastian Andrzej Siewior wrote: > The driver is using "sifive,fu540-c000-uart0" as a binding. The device > tree and documentation states "sifive,fu540-c000-uart" instead. This > means the binding is not matched and not used. > > This did not cause any problems because the alternative binding, used in > the device tree, "sifive,uart0" is not handling the hardware any > different. > > Align the binding in the driver with the documentation. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > --- > On 2024-03-06 18:48:13 [-0800], Paul Walmsley wrote: > > On Mon, 4 Mar 2024, Conor Dooley wrote: > > > I suspect that the driver is what's incorrect, given there's little > > > value in putting the IP version in the SoC-specific compatible as it's > > > a fixed implementation. I'd change the driver to match the bindings. > > > > Agreed > > I didn't add any stable/ fixes tags as I guess there is no point in > backporting this. Every documented device falls back to "sifive,uart0", as you mention above, so I think that's reasonable. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Thanks, Conor. > > > - Paul > > drivers/tty/serial/sifive.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/tty/serial/sifive.c b/drivers/tty/serial/sifive.c > index 0670fd9f84967..cbfce65c9d221 100644 > --- a/drivers/tty/serial/sifive.c > +++ b/drivers/tty/serial/sifive.c > @@ -761,7 +761,7 @@ static int __init early_sifive_serial_setup(struct earlycon_device *dev, > } > > OF_EARLYCON_DECLARE(sifive, "sifive,uart0", early_sifive_serial_setup); > -OF_EARLYCON_DECLARE(sifive, "sifive,fu540-c000-uart0", > +OF_EARLYCON_DECLARE(sifive, "sifive,fu540-c000-uart", > early_sifive_serial_setup); > #endif /* CONFIG_SERIAL_EARLYCON */ > > @@ -1032,7 +1032,7 @@ static DEFINE_SIMPLE_DEV_PM_OPS(sifive_uart_pm_ops, sifive_serial_suspend, > sifive_serial_resume); > > static const struct of_device_id sifive_serial_of_match[] = { > - { .compatible = "sifive,fu540-c000-uart0" }, > + { .compatible = "sifive,fu540-c000-uart" }, > { .compatible = "sifive,uart0" }, > {}, > }; > -- > 2.43.0 > > Sebastian
Hi Conor, Sebastian, On 2024-03-07 11:39 AM, Conor Dooley wrote: > On Thu, Mar 07, 2024 at 10:09:50AM +0100, Sebastian Andrzej Siewior wrote: >> The driver is using "sifive,fu540-c000-uart0" as a binding. The device >> tree and documentation states "sifive,fu540-c000-uart" instead. This >> means the binding is not matched and not used. >> >> This did not cause any problems because the alternative binding, used in >> the device tree, "sifive,uart0" is not handling the hardware any >> different. >> >> Align the binding in the driver with the documentation. >> >> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> >> --- >> On 2024-03-06 18:48:13 [-0800], Paul Walmsley wrote: >>> On Mon, 4 Mar 2024, Conor Dooley wrote: >>>> I suspect that the driver is what's incorrect, given there's little >>>> value in putting the IP version in the SoC-specific compatible as it's >>>> a fixed implementation. I'd change the driver to match the bindings. >>> >>> Agreed >> > >> I didn't add any stable/ fixes tags as I guess there is no point in >> backporting this. > > Every documented device falls back to "sifive,uart0", as you mention > above, so I think that's reasonable. Right. In fact this means the sifive,fu540-c000-uart compatible can be removed from the driver entirely, since the driver would match sifive,uart0 anyway. Regards, Samuel > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> > > Thanks, > Conor. > >> >>> - Paul >> >> drivers/tty/serial/sifive.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/tty/serial/sifive.c b/drivers/tty/serial/sifive.c >> index 0670fd9f84967..cbfce65c9d221 100644 >> --- a/drivers/tty/serial/sifive.c >> +++ b/drivers/tty/serial/sifive.c >> @@ -761,7 +761,7 @@ static int __init early_sifive_serial_setup(struct earlycon_device *dev, >> } >> >> OF_EARLYCON_DECLARE(sifive, "sifive,uart0", early_sifive_serial_setup); >> -OF_EARLYCON_DECLARE(sifive, "sifive,fu540-c000-uart0", >> +OF_EARLYCON_DECLARE(sifive, "sifive,fu540-c000-uart", >> early_sifive_serial_setup); >> #endif /* CONFIG_SERIAL_EARLYCON */ >> >> @@ -1032,7 +1032,7 @@ static DEFINE_SIMPLE_DEV_PM_OPS(sifive_uart_pm_ops, sifive_serial_suspend, >> sifive_serial_resume); >> >> static const struct of_device_id sifive_serial_of_match[] = { >> - { .compatible = "sifive,fu540-c000-uart0" }, >> + { .compatible = "sifive,fu540-c000-uart" }, >> { .compatible = "sifive,uart0" }, >> {}, >> }; >> -- >> 2.43.0 >> >> Sebastian
On Thu, Mar 07, 2024 at 11:43:53AM -0600, Samuel Holland wrote: > Hi Conor, Sebastian, > > On 2024-03-07 11:39 AM, Conor Dooley wrote: > > On Thu, Mar 07, 2024 at 10:09:50AM +0100, Sebastian Andrzej Siewior wrote: > >> The driver is using "sifive,fu540-c000-uart0" as a binding. The device > >> tree and documentation states "sifive,fu540-c000-uart" instead. This > >> means the binding is not matched and not used. > >> > >> This did not cause any problems because the alternative binding, used in > >> the device tree, "sifive,uart0" is not handling the hardware any > >> different. > >> > >> Align the binding in the driver with the documentation. > >> > >> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > >> --- > >> On 2024-03-06 18:48:13 [-0800], Paul Walmsley wrote: > >>> On Mon, 4 Mar 2024, Conor Dooley wrote: > >>>> I suspect that the driver is what's incorrect, given there's little > >>>> value in putting the IP version in the SoC-specific compatible as it's > >>>> a fixed implementation. I'd change the driver to match the bindings. > >>> > >>> Agreed > >> > > > >> I didn't add any stable/ fixes tags as I guess there is no point in > >> backporting this. > > > > Every documented device falls back to "sifive,uart0", as you mention > > above, so I think that's reasonable. > > Right. In fact this means the sifive,fu540-c000-uart compatible can be removed > from the driver entirely, since the driver would match sifive,uart0 anyway. I'm always a bit hesitant when it comes to removing compatibles that are backed up by a mandatory fallback in where there could be some old firmware/DT floating around that didn't have the fallback. I think in this case that's pretty moot though, so ye, it could totally be dropped from the driver entirely. I'm happy with either, both cases are an undocumented compatible being removed ;)
diff --git a/drivers/tty/serial/sifive.c b/drivers/tty/serial/sifive.c index 0670fd9f84967..cbfce65c9d221 100644 --- a/drivers/tty/serial/sifive.c +++ b/drivers/tty/serial/sifive.c @@ -761,7 +761,7 @@ static int __init early_sifive_serial_setup(struct earlycon_device *dev, } OF_EARLYCON_DECLARE(sifive, "sifive,uart0", early_sifive_serial_setup); -OF_EARLYCON_DECLARE(sifive, "sifive,fu540-c000-uart0", +OF_EARLYCON_DECLARE(sifive, "sifive,fu540-c000-uart", early_sifive_serial_setup); #endif /* CONFIG_SERIAL_EARLYCON */ @@ -1032,7 +1032,7 @@ static DEFINE_SIMPLE_DEV_PM_OPS(sifive_uart_pm_ops, sifive_serial_suspend, sifive_serial_resume); static const struct of_device_id sifive_serial_of_match[] = { - { .compatible = "sifive,fu540-c000-uart0" }, + { .compatible = "sifive,fu540-c000-uart" }, { .compatible = "sifive,uart0" }, {}, };