[PATCH 2/6] drivers/base: add bus for System-on-Chip devices

Jamie Iles jamie at jamieiles.com
Tue Oct 18 10:56:49 EDT 2011


On Tue, Oct 18, 2011 at 04:53:09PM +0200, Arnd Bergmann wrote:
> On Tuesday 18 October 2011, Jamie Iles wrote:
> > Also, (and I'm right at the edge of my knowledge here!) wouldn't you 
> > also need to add reference counting of the module when 
> > creating/destroying a soc device to prevent the module and bus 
> > disappearing whilst you had devices with a reference to it?
> 
> No, that's not necessary in a case like this: The bus module remains
> pinned by the reference of the module calling it on each exported
> symbol that is referenced. The reference counting is only needed
> if driver module provides function pointers to the bus module
> that might be in the middle of getting called while the driver is
> removed. We have this case with the ux500_get_process function
> that may be called through sysfs, so that would be a bug if the
> code calling device_create_file() was in a module.

Ahh, okay that makes sense.  Thanks for the explanation Arnd.

Jamie



More information about the linux-arm-kernel mailing list