Hi Michal, On Wed, 6 Oct 2021 at 08:19, Michal Simek <michal.si...@xilinx.com> wrote: > > When DT node has pwm-cells property it shouldn't be bind as timer driver > but as PWM driver. That's why make sure that this property is checked. > > Signed-off-by: Michal Simek <michal.si...@xilinx.com> > --- > > Changes in v3: > - New patch in series > > drivers/timer/cadence-ttc.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) >
Why not have two compatible strings? > diff --git a/drivers/timer/cadence-ttc.c b/drivers/timer/cadence-ttc.c > index 2f95d45ecd7a..2eff45060ad6 100644 > --- a/drivers/timer/cadence-ttc.c > +++ b/drivers/timer/cadence-ttc.c > @@ -97,6 +97,17 @@ static int cadence_ttc_of_to_plat(struct udevice *dev) > return 0; > } > > +static int cadence_ttc_bind(struct udevice *dev) > +{ > + const char *cells; > + > + cells = dev_read_prop(dev, "#pwm-cells", NULL); > + if (cells) > + return -ENODEV; We can read properties in bind() when necessary, but this is very strange...it seems like the bindings are messed up? > + > + return 0; > +} > + > static const struct timer_ops cadence_ttc_ops = { > .get_count = cadence_ttc_get_count, > }; > @@ -114,4 +125,5 @@ U_BOOT_DRIVER(cadence_ttc) = { > .priv_auto = sizeof(struct cadence_ttc_priv), > .probe = cadence_ttc_probe, > .ops = &cadence_ttc_ops, > + .bind = cadence_ttc_bind, > }; > -- > 2.33.0 > Regards, Simon