[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111018143857.GA19561@suse.de>
Date: Tue, 18 Oct 2011 07:38:57 -0700
From: Greg KH <gregkh@...e.de>
To: Jamie Iles <jamie@...ieiles.com>
Cc: Arnd Bergmann <arnd@...db.de>, Lee Jones <lee.jones@...aro.org>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linus.walleij@...ricsson.com
Subject: Re: [PATCH 2/6] drivers/base: add bus for System-on-Chip devices
On Tue, Oct 18, 2011 at 03:15:20PM +0100, Jamie Iles wrote:
> Hi Arnd,
>
> On Tue, Oct 18, 2011 at 04:05:12PM +0200, Arnd Bergmann wrote:
> > On Tuesday 18 October 2011, Lee Jones wrote:
> > > On 17/10/11 17:18, Greg KH wrote:
> > > > On Mon, Oct 17, 2011 at 12:52:54PM +0100, Lee Jones wrote:
> > > >> +
> > > >> + bus_unregister(&soc_bus_type);
> > > >
> > > > What happens if you have more than one SOC device? I think you just
> > > > oopsed.
> > >
> > > I think you're right.
> > >
> > > When to you suggest we unregister the bus?
> >
> > Do it in the same way as registering it, as a module_exit() function
> > below the initcall that instantiates it. These interfaces usually come
> > in pairs, so if something does not look symmetric, you should better
> > have another look.
>
> I can't think of a system where it make sense to have this as a loadable
> module so can't we just register the bus_type and never unregister it
> like the platform and spi busses for example?
>
> 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?
Yes, that is why your register function should take a module pointer,
like USB, PCI, and other bus functions do.
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists