[PATCH] mpc52xx-psc-spi: refactor probe and remove to make use of of_register_spi_devices()
Grant Likely
grant.likely at secretlab.ca
Tue Nov 3 03:08:31 EST 2009
On Mon, Nov 2, 2009 at 6:14 AM, Wolfram Sang <w.sang at pengutronix.de> wrote:
>> Also, I'm resistant to changing the probe layout on this driver at
>> this time. With the work being done to generalize the OF support
>> code, there is a strong possibility that of_platform will be
>> deprecated in favor of going back to using the platform bus directly
>> (just like how OF support works for i2c, spi, etc). I'd rather not
>> refactor the driver until I'm certain of the direction that things are
>> going to go.
>
> And this was possibly the best answer I could get \o/ Sounds really promising,
> is there somewhere a discussion about how OF-generalization could happen?
It has been discussed on-and-off on the mailing list and on IRC.
There are 2 major problems that need to be solved before it can be
done:
1. Figure out how to do OF-style driver probing with the platform bus.
I could use the same heuristic as used by i2c & spi, but that
approach isn't very scalable, and doesn't handle backwards
compatibility very well.
2. Figure out the best way to extract platform data from the device
tree without having a huge impact on the device drivers. The adapter
code still driver specific, so it needs to be part of the device
driver itself, but I want to establish a pattern which does not
require major surgery to platform drivers in order to add OF support.
>> - return mpc52xx_psc_spi_do_probe(&op->dev, (u32)regaddr64, (u32)size64,
>> + rc = mpc52xx_psc_spi_do_probe(&op->dev, (u32)regaddr64, (u32)size64,
>> irq_of_parse_and_map(op->node, 0), id);
>> + if (!rc)
>
> A matter of taste, maybe: I'd prefer
>
> if (rc == 0)
>
> as (!ptr) is often used for catching errors with pointers, but here it is the
> 'all went OK'-path.
Okay, I'll change this. Thanks for the feedback.
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
More information about the Linuxppc-dev
mailing list