[PATCH] mpc52xx-psc-spi: refactor probe and remove to make use of of_register_spi_devices()
Wolfram Sang
w.sang at pengutronix.de
Tue Nov 3 00:14:27 EST 2009
Hi Grant,
> the patch referenced above is a little ugly. Adding the call should
Agreed. I just referenced it to show there are more people wanting this
feature.
> be really simple. I've drafted a patch to do only that step and
> attached it to this mail. If this one works for you, then I'll merge
> it immediately into -next.
One minor comment, but works in general:
Acked-by: Wolfram Sang <w.sang at pengutronix.de>
> 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?
> From 7629d40dc343ff216b752d5c68654dc9d30f0c91 Mon Sep 17 00:00:00 2001
> From: Grant Likely <grant.likely at secretlab.ca>
> Date: Sat, 31 Oct 2009 17:49:38 -0600
> Subject: [PATCH] spi/mpc5200: Register SPI devices described in device tree
>
> Add call to of_register_spi_devices() to register SPI devices described
> in the OF device tree.
>
> Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
> ---
> drivers/spi/mpc52xx_psc_spi.c | 8 +++++++-
> 1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/spi/mpc52xx_psc_spi.c b/drivers/spi/mpc52xx_psc_spi.c
> index 1b74d5c..b445464 100644
> --- a/drivers/spi/mpc52xx_psc_spi.c
> +++ b/drivers/spi/mpc52xx_psc_spi.c
> @@ -17,6 +17,7 @@
> #include <linux/errno.h>
> #include <linux/interrupt.h>
> #include <linux/of_platform.h>
> +#include <linux/of_spi.h>
> #include <linux/workqueue.h>
> #include <linux/completion.h>
> #include <linux/io.h>
> @@ -464,6 +465,7 @@ static int __init mpc52xx_psc_spi_of_probe(struct of_device *op,
> const u32 *regaddr_p;
> u64 regaddr64, size64;
> s16 id = -1;
> + int rc;
>
> regaddr_p = of_get_address(op->node, 0, &size64, NULL);
> if (!regaddr_p) {
> @@ -485,8 +487,12 @@ static int __init mpc52xx_psc_spi_of_probe(struct of_device *op,
> id = *psc_nump + 1;
> }
>
> - 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.
> + of_register_spi_devices(dev_get_drvdata(&op->dev), op->node);
> +
> + return rc;
> }
>
> static int __exit mpc52xx_psc_spi_of_remove(struct of_device *op)
> --
> 1.6.3.3
>
Regards,
Wolfram
--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20091102/c4ff63de/attachment.pgp>
More information about the Linuxppc-dev
mailing list