[PATCH 2/2] mpc85xx_edac: change to use new definitions for PCI EDAC regspace

Dmitry Eremin-Solenikov dbaryshkov at gmail.com
Fri Jul 23 05:03:03 EST 2010


On Thu, Jul 22, 2010 at 10:40 PM, Kumar Gala <galak at kernel.crashing.org> wrote:
> On Jul 22, 2010, at 1:25 PM, Scott Wood wrote:
>> On Thu, 22 Jul 2010 20:48:15 +0400
>> Dmitry Eremin-Solenikov <dbaryshkov at gmail.com> wrote:
>>> Hello,
>>> On Thu, Jul 22, 2010 at 7:38 PM, Kumar Gala <galak at kernel.crashing.org> wrote:
>>>> On Jul 21, 2010, at 7:03 PM, Dmitry Eremin-Solenikov wrote:
>>>>> Currently (as mpc8540-pci) devices are not created on of_platform bus,
>>>>> mpc85xx_edac can't probe to them. Follow the change to dts trees to bind
>>>>> not to the main mpc8540-pci node but to special mpc85xx-pci-error nodes,
>>>>> present on soc bus.
>>>>> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov at gmail.com>
>>>>> ---
>>>>> drivers/edac/mpc85xx_edac.c |   18 +++++++++---------
>>>>> 1 files changed, 9 insertions(+), 9 deletions(-)
>>>> Nak.
>>>> We already have a node in the dts for the PCI controller.  Lets update the platform code to add the pci controller to the of_platform_bus_probe list.
>>> I've had that idea. However it's really look strange to me to call
>>> of_platform_bus_probe() on the bus node, for which we (IMO) explicitly
>>> won't like for
>>> child devices (PCI devices) to be added to of_platform bus.
>> Right, and it's also not great for a driver for one aspect of PCI to
>> claim to be the driver for the whole thing.
>> But changing the device tree because of this Linux-internal concern is
>> also not good.
>> How about keeping the error stuff as a separate device from Linux's
>> perspective, but have the main Freescale PCI code create it as a
>> platform device instead of putting it in the device tree?
> I'd be good with that solution.

Then we come back to the question that was raised before (during initial
review of edac driver): as PCI code is probbed long before other parts
of the kernel and mpc85xx_edac code can be compiled as module,
it's not possible to directly call mpc85xx_edac code from fsl_pci.c

Two initial suggestions were:
1) creating special platform device
2) creating special of_platform device from dts

Which approach should I choose? Did i miss any other opportunities?

With best wishes

More information about the Linuxppc-dev mailing list