On Wednesday 01 December 2010, Russell King - ARM Linux wrote:
At the embedded developer BoF in Cambridge,MA we discussed this
problem quite a bit, and my impression there was that it is a hard
rule indeed, so I said this to the best of my knowledge.
Yes, that makes sense. We should probably start thinking about the
migration plan though. There does not seem to be a shortage of
alternatives for registering new platform devices already and once
we can get to agree on how we want it done, we can start mandating
that new drivers do it that way, while we phase out some of the
other ones.
Among the architectures that use platform devices extensively, the
various ways to register them I could find are:
* static platform_register_device:
arm, avr32, frv, mips, m32r, sparc, sh and xtensa
* static platform_add_devices:
arm, blackfin, m68knommu, mips, sh
* dynamic platform_device_register_simple:
m68k, mips, powerpc, sh and x86
* dynamic platform_device_alloc/platform_device_add:
arm, avr32, mips, powerpc, lots of drivers
* dynamic of_platform_bus_probe:
powerpc, microblaze
* dynamic platform_device_register_resndata:
not currently used
I was under the impression that platform_device_register_resndata is
the function that was actually meant to solve this, but there are
exactly zero users of this, except for the
platform_device_register_simple wrapper. The fact that it's currently
not used probably means either that nobody heard about it or that
the interface is lacking in some way and is actually useless for
replacing the static definitions.
Arnd
--