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

Arnd Bergmann arnd at arndb.de
Wed Apr 20 02:44:10 EDT 2011


On Wednesday 20 April 2011 08:39:59 Arend van Spriel wrote:
> On Tue, 19 Apr 2011 16:02:57 +0200, Greg KH <greg at kroah.com> 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



More information about the linux-arm-kernel mailing list