Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 17 Apr 2019 14:00:02 +0200 | From | Alexandre Belloni <> | Subject | Re: [PATCH v2 9/9] misc: atmel_tclib: do not probe already used TCBs |
| |
On 17/04/2019 13:50:25+0200, Romain Izard wrote: > 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 <arnd@arndb.de> > > Signed-off-by: Alexandre Belloni <alexandre.belloni@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. >
Yes, I saw that yesterday, the solution is to return -EBUSY instead of 0. That's what I had in my original series and I changed it before submitting to avoid the error message at boot but this was not a good idea.
-- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
| ![\](/images/icornerr.gif) |