Thread (30 messages) 30 messages, 6 authors, 2011-02-28

Re: [RFC PATCH 01/15] dt/powerpc: move of_bus_type infrastructure to ibmebus

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2011-02-25 08:54:09
Also in: linux-devicetree, lkml, sparclinux

On Thu, 2011-02-24 at 15:46 +0100, Arnd Bergmann wrote:
On Wednesday 23 February 2011, Grant Likely wrote:
quoted
arch/powerpc/kernel/ibmebus.c is the only remaining user of the
of_bus_type support code for initializing the bus and registering
drivers.  All others have either been switched to the vanilla platform
bus or already have their own infrastructure.

This patch moves the functionality that ibmebus is using out of
drivers/of/{platform,device}.c and into ibmebus.c where it is actually
used.  Also renames the moved symbols from of_platform_* to
ibmebus_bus_* to reflect the actual usage.

This patch is part of moving all of the of_platform_bus_type users
over to the platform_bus_type.

Signed-off-by: Grant Likely <redacted>
The ibmebus is essentially the platform bus of the IBM Power Systems (a.k.a.
pSeries a.k.a. System p), I think it would make a lot of sense to convert
the two drivers (ehca and ehea) on this bus into platform drivers as well.

The original reason for this bus was to provide a different IOMMU for them
than what is used on the PCI devices. This should now be possible in simpler
ways.
Well, it's really the IBM "GX" bus but yeah, it could be converted I
suppose. The "special" iommu functions mostly derive from the fact that
the two adapters we are interested in have their own translation
mechanism built-in. The GX bus sits "above" the TCEs used as an iommu on
these systems.
quoted
+static void ibmebus_bus_device_shutdown(struct device *dev)
+{
+	struct platform_device *of_dev = to_platform_device(dev);
+	struct of_platform_driver *drv = to_of_platform_driver(dev->driver);
+
+	if (dev->driver && drv->shutdown)
+		drv->shutdown(of_dev);
+}
neither of the drivers provides a shutdown function.
Right but they might grow one ... and people will wonder why it doesn't
work if you remove the above :-)

 .../...
These are also unused in the drivers.
Same reasoning, however it becomes moot if we convert them to platform.

Cheers,
Ben.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help