Re: [PATCH 09/10] MCDE: Add build files and bus

Russell King - ARM Linux
2010-11-30T18:41:17Z

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 <arnd@arndb.de>:
> >
> > > * 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.

There's lots of static devices, not only platform devices, in the ARM
tree. It's going to be a hell of a lot of work to fix this all up
properly.

I hope that the capability for static devices won't disappear until
the huge pile of work on ARM has been completed.