* Re: [PATCH v2 08/13] mfd: Versatile Express system registers driver
2012-09-19 11:17 ` [PATCH v2 08/13] mfd: Versatile Express system registers driver Arnd Bergmann
@ 2012-09-19 11:45 ` Pawel Moll
0 siblings, 0 replies; 2+ messages in thread
From: Pawel Moll @ 2012-09-19 11:45 UTC (permalink / raw)
To: Arnd Bergmann; +Cc: device-tree, arm, linux-arm-kernel
On Wed, 2012-09-19 at 12:17 +0100, Arnd Bergmann wrote:
> On Wednesday 19 September 2012, Pawel Moll wrote:
> > On Tue, 2012-09-18 at 16:24 +0100, Arnd Bergmann wrote:
> > > On Tuesday 18 September 2012, Pawel Moll wrote:
> >
> > Yes, but I2C devices are created by of_i2c_register_devices() which
> > knows how to interpret the reg property. And here, as these are normal
> > platform devices now (as you suggested), the of_platform_bus_create()
> > will treat it as a normal address, translate it via ranges and create
> > IORESOURCE_MEM out of it... And that's what I wanted to avoid. Maybe
> > unnecessarily?
>
> You are right, this is a bit nasty, it should not attempt to do this.
> Basically the reg parsing logic has a hack to work around apply PowerMac
> firmware that misses some "ranges" properties.
>
> I think we should change the DT parsing code to not create those
> resources if there is a bus that can't be translated.
Well, I actually think the current solution is fine - the default bus is
the platform one, I'm creating a platform device, so the code can assume
that reg is a normal address and create an IORESOURCE_MEM from it. It's
just that my platform device is not memory mapped, so I don't really
want this to happen.
One way of working this around would be not using "simple-bus" as the
parent of my config devices, so that normal of_platform_populate() will
not create them, and then have a simple dcc driver that will do nothing
except for creating platform devices in a custom way.
Paweł
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 2+ messages in thread