On Thursday 15 May 2014 11:19:40 Thierry Reding wrote: > > > + > > > + xhci = platform_device_alloc("xhci-hcd", PLATFORM_DEVID_AUTO); > > > + if (!xhci) { > > > + dev_err(dev, "Failed to allocate XHCI host\n"); > > > + ret = -ENOMEM; > > > + goto out; > > > + } > > > > This does not feel appropriate at all: Rather than creating a child device, > > you should have a specific driver that hooks into functions exported > > by the xhci core. See Documentation/driver-model/design-patterns.txt > > I don't think Documentation/driver-model/design-patterns.txt documents > this. Perhaps this is what you had in mind? > > http://lwn.net/Articles/336262/ No, I did mean Documentation/driver-model/design-patterns.txt. The pattern used in the proposed driver is to create the generic platform_device as the child of the more specific platform_device. The normal pattern is to have only one device and embed the generic structure inside of the more specific structure and use container_of to cast between the two as needed. Arnd -- 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