On Mon, Sep 03, 2012 at 01:58:04PM +0200, Linus Walleij wrote: > On Mon, Sep 3, 2012 at 1:32 PM, Lee Jones <lee.jones@xxxxxxxxxx> wrote: > > > No, this is wrong. Platform data should not override DT. > > > > If DT is enabled and passed, it should have highest priority. > > Oh is that so. :) > Rob: do we have a clear consensus on this? Then we should document > it in Documentation/devicetree/usage-model.txt. > > (That document isn't part of the binding I believe, so we could define > Linux-specific behaviours in it.) > > I always thought it was the other way around, that pdata took priority. > > Usecase: hardcoded bootloader passer erroneous DT to a platform. > No way out. What to do? Override with pdata. > > Yours, > Linus Walleij Hmmm... I see your point, but this won't work. When booting DT booting take a different path and no platform data is passed. We can't boot DT AND register devices with platform data or else we will double probe every device. The only way to pass pdata when booting with DT is with AUX_DATA() and that's a hack to get around things we don't have support for yet. Up until now that has been DMA bindings, clock and pinctrl names and call-backs. If DT is corrupt or missing the kernel will boot using platform data, but np will always be NULL, so we don't have the problem you were alluding to above. Let me know if I didn't explain that well enough and I will have another go. -- Lee Jones Linaro ST-Ericsson Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html