Re: Could I (ab)use bus (struct bus_type) for virtual Broadcom bus?

From: Arnd Bergmann
Date: Wed Apr 20 2011 - 02:44:37 EST


On Wednesday 20 April 2011 08:39:59 Arend van Spriel wrote:
> On Tue, 19 Apr 2011 16:02:57 +0200, Greg KH <greg@xxxxxxxxx> wrote:
>
> > Please don't use a platform device, unless there is no other way for
> > your device to work. For this device, you are connected to the PCI bus,
> > so a platform device does not make sense at all.
>
> Hi Greg,
>
> This is only true for a particular usage model. There are two models as
> shown below:
>
> 1) PCI(e) card
> ...........
> +----------+ : x y z : x, y, and z are cores.
> | uC |__________:___|_|_| :
> | | PCI-bus : axi-bus :
> +----------+ :.........:
> bcm chipset
>
> 2) SoC
> ...............
> : uC x y z :
> : |____|_|_| :
> : axi-bus :
> :.............:
> bcm chipset
>
> Your statement is true for 1) but in usage model 2) there is no PCI bus.
> Also you refer to the chipset when you say 'device'. In the axi bus type
> each individual core is registered as a device in the linux device tree.

I guess what Greg was referring to is having platform devices for x/y/z
here. In case 2, you might still need to have a platform_device for the
combination of the three IP cores if they make up one logical device.

As mentioned in my reply, it depends a lot on what these cores actually
are, e.g. whether you might want to have only one of them active in a
given system to drive a specific functionality, or if you always need
all three of them.

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/