On Thu, 21 Nov 2013 16:33:13 -0600, Rob Herring <robherring2@xxxxxxxxx> wrote: > On Thu, Nov 21, 2013 at 6:47 AM, Grant Likely <grant.likely@xxxxxxxxxx> wrote: > > On Wed, 30 Oct 2013 01:12:50 -0500, Rob Herring <robherring2@xxxxxxxxx> wrote: > >> From: Rob Herring <rob.herring@xxxxxxxxxxx> > >> > >> Introduce a helper to match, create and probe a platform device. This > >> is for drivers such as cpuidle or cpufreq that typically don't have a > >> bus device node and need to match on a system-level compatible property. > >> > >> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > >> Cc: Grant Likely <grant.likely@xxxxxxxxxx> > >> Signed-off-by: Rob Herring <rob.herring@xxxxxxxxxxx> > > > > Oh, ick. Please no. If a platform_device isn't getting created for a > > device tree node, then we should be asking why it isn't getting created > > and fix the core logic rather than trying to bodge it in the driver init > > code. > > > > We should never be creating and registering devices in module init code. > > We've spent the last 4 years trying to get away from that. > > This is for devices that have no DT device node to be associated with > and therefore will never have a device created by the core DT code. > Instead the devices are created based off of the root compatible > property. cpuidle drivers are one such example [1]. We already do this > today by putting the platform device creation in the > machine_desc.init_machine function which is a conditional initcall. > The motivation for changing this is how to support drivers like this > on arm64 which doesn't want any platform code or machine_desc. At > least historically, we didn't want DT nodes of Linux specific devices > in the DT. So, how would you propose to solve this problem? Honestly? With a machine_desc. :-) Actually, I'm totally serious here. That is why machine_desc is still a good idea. There are always going to be a few per-platform bits that need to be present, although the hope is the per-platform will be at the SoC family level instead of the board level. g. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html