[PATCH RFC 26/46] drivers/base: provide an infrastructure for componentised subsystems

Russell King - ARM Linux
2014-01-03T11:00:30Z

On Thu, Jan 02, 2014 at 07:10:55PM -0800, Greg Kroah-Hartman wrote:
> On Thu, Jan 02, 2014 at 09:27:58PM +0000, Russell King wrote:
> > Subsystems such as ALSA, DRM and others require a single card-level
> > device structure to represent a subsystem. However, firmware tends to
> > describe the individual devices and the connections between them.
> >
> > Therefore, we need a way to gather up the individual component devices
> > together, and indicate when we have all the component devices.
> >
> > We do this in DT by providing a "superdevice" node which specifies
> > the components, eg:
> >
> > imx-drm {
> > compatible = "fsl,drm";
> > crtcs = <&ipu1>;
> > connectors = <&hdmi>;
> > };
> >
> > The superdevice is declared into the component support, along with the
> > subcomponents. The superdevice receives callbacks to locate the
> > subcomponents, and identify when all components are present. At this
> > point, we bind the superdevice, which causes the appropriate subsystem
> > to be initialised in the conventional way.
> >
> > When any of the components or superdevice are removed from the system,
> > we unbind the superdevice, thereby taking the subsystem down.
>
> This sounds a lot like the "containers" code that Rafael just submitted
> and I acked for 3.14. Look at the lkml post:
> Subject: [PATCH 2/2] ACPI / hotplug / driver core: Handle containers in a special way
> Message-ID: <1991202.gilW172FBV@vostro.rjw.lan>
>
> And see if that could possibly be used instead?

That's really disappointing bcause I've put a hell of a lot of work into
this over the last few months, and if that's true it's all just been a
total waste of my time. Okay, lesson learned - don't spend any time
trying to fix other people's problems after discussing them at
kernel-summit.

In any case, the above message ID doesn't give me access to this containers
code to look at to even evaluate whether it can be used for this - it just
gives two patches for ACPI specific patches but not the core stuff.

http://www.spinics.net/lists/linux-acpi/msg48101.html
http://www.spinics.net/lists/linux-acpi/msg48102.html

Please provide a better reference to the code you're referring to.

--
FTTC broadband for 0.8mile line: 5.8Mbps down 500kbps up. Estimation
in database were 13.1 to 19Mbit for a good line, about 7.5+ for a bad.
Estimate before purchase was "up to 13.2Mbit".