From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Subject: Re: [PATCH 09/10] MCDE: Add build files and bus Date: Tue, 30 Nov 2010 08:24:13 -0800 Message-ID: <20101130162413.GA17505@kroah.com> References: <201011261224.59490.arnd@arndb.de> <201011301621.48140.arnd@arndb.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <201011301621.48140.arnd@arndb.de> Sender: linux-kernel-owner@vger.kernel.org To: Arnd Bergmann Cc: Linus Walleij , Marcus LORENTZON , "linux-arm-kernel@lists.infradead.org" , Jimmy RUBIN , "linux-media@vger.kernel.org" , Dan JOHANSSON , dri-devel@lists.freedesktop.org, Linux Kernel Mailing List List-Id: dri-devel@lists.freedesktop.org On Tue, Nov 30, 2010 at 04:21:47PM +0100, Arnd Bergmann wrote: > On Tuesday 30 November 2010, Linus Walleij wrote: > > 2010/11/26 Arnd Bergmann : > > > > > * When you say that the devices are static, I hope you do not mean > > > static in the C language sense. We used to allow devices to be > > > declared as "static struct" and registered using > > > platform_device_register (or other bus specific functions). This > > > is no longer valid and we are removing the existing users, do not > > > add new ones. When creating a platform device, use > > > platform_device_register_simple or platform_device_register_resndata. > > > > Is this part of the generic ARM runtime multi-platform kernel > > and device trees shebang? > > > > The Ux500 still isn't in that sector, it needs extensive rewriting > > of arch/arm/mach-ux500 to be done first, so as to support e.g. > > U8500 and U5500 with a single kernel image. > > > > Trying to skin that cat that as part of this review is a bit too > > much to ask IMO, I'd rather have the author of this driver > > adapt to whatever platform data registration mechanism is > > in place for the merge window. Else it needs fixing as part > > of a bigger endavour to root out compile-time platform > > configuration. > > The 'no static devices' rule is something that Greg brought up > at the embedded developer session during PlumbersConf this year, > I wasn't aware of the problem before that either. > > It is not related to the multi-platform kernel work and it's > not ARM specific. > > Maybe Greg can give a short explanation of the impact of this. > AFAIR, static device definitions still work, but there are > plans to remove that capability in the future. That is exactly correct. A struct device is a dynamically referenced thing, and as such, should be dynamically created and it will be automatically destroyed when it needs to when everyone is finished with it. By making a struct device static, that kind of defeats the whole purpose of reference counting the thing, not to mention making freeing the object when finished a bit difficult :) thanks, greg k-h