Re: [PATCH] of: provide of_platform_unpopulate()
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2013-07-29 09:32:26
Also in:
linux-omap, linux-samsung-soc, lkml
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2013-07-29 09:32:26
Also in:
linux-omap, linux-samsung-soc, lkml
On Fri, 2013-07-19 at 20:14 +0200, Sebastian Andrzej Siewior wrote:
The problem is that platform_device_del() "releases" each ressource in its tree. This does not work on platform_devices created by OF becuase they were never added via insert_resource(). As a consequence old->parent in __release_resource() is NULL and we explode while accessing ->child. So I either I do something completly wrong _or_ nobody here tested the rmmod path of their driver.
But that's wrong. I am not familar with all that new code, but from step up, not having the resources in the resource tree is a bad idea to begin with....
This patch provides a common function to unregister / remove devices which added to the system via of_platform_populate(). While this works now on my test case I have not tested any of the driver I modify here so feedback is greatly appreciated.
Ben.