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.