Re: [RFC PATCH 06/10] usb: xhci: Add Tegra XHCI host-controller driver

From: Arnd Bergmann
Date: Thu May 15 2014 - 09:31:13 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/