On Mon, Apr 15, 2019 at 05:08:56PM +0200, Alexandre Belloni wrote: > The TCBs that have children are using the proper DT bindings and don't need > to be handled by tclib. > > Cc: Arnd Bergmann <a...@arndb.de> > Signed-off-by: Alexandre Belloni <alexandre.bell...@bootlin.com> > --- > drivers/misc/atmel_tclib.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/misc/atmel_tclib.c b/drivers/misc/atmel_tclib.c > index 194f774ab3a1..c1f5aba1c6f2 100644 > --- a/drivers/misc/atmel_tclib.c > +++ b/drivers/misc/atmel_tclib.c > @@ -111,6 +111,9 @@ static int __init tc_probe(struct platform_device *pdev) > struct resource *r; > unsigned int i; > > + if (of_get_child_count(pdev->dev.of_node)) > + return 0; > + > irq = platform_get_irq(pdev, 0); > if (irq < 0) > return -EINVAL;
This lead to a panic during shutdown, as tc_shutdown is called on the device that has not been initialized and it has not been designed for this. -- Romain Izard