* [PATCH] spi: spi-mpc512x-psc: don't use obsolet cell-index property @ 2012-12-21 14:43 Anatolij Gustschin [not found] ` <1356100981-18685-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Anatolij Gustschin @ 2012-12-21 14:43 UTC (permalink / raw) To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Use unique PSCx register base offset to obtain the SPI PSC number used for SPI bus id. Signed-off-by: Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> --- drivers/spi/spi-mpc512x-psc.c | 17 +++++++++++------ 1 files changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/spi/spi-mpc512x-psc.c b/drivers/spi/spi-mpc512x-psc.c index 0a1e39e..844d68f 100644 --- a/drivers/spi/spi-mpc512x-psc.c +++ b/drivers/spi/spi-mpc512x-psc.c @@ -523,16 +523,21 @@ static int __devinit mpc512x_psc_spi_of_probe(struct platform_device *op) /* get PSC id (0..11, used by port_config) */ if (op->dev.platform_data == NULL) { - const u32 *psc_nump; + u32 reg; + int err; - psc_nump = of_get_property(op->dev.of_node, "cell-index", NULL); - if (!psc_nump || *psc_nump > 11) { - dev_err(&op->dev, "mpc512x_psc_spi: Device node %s " - "has invalid cell-index property\n", + err = of_property_read_u32(op->dev.of_node, "reg", ®); + if (err) { + dev_err(&op->dev, "Can't read reg property: %d\n", err); + return err; + } + + id = (reg & 0xf00) >> 8; + if (id > 11) { + dev_err(&op->dev, "node %s has invalid reg property\n", op->dev.of_node->full_name); return -EINVAL; } - id = *psc_nump; } return mpc512x_psc_spi_do_probe(&op->dev, (u32) regaddr64, (u32) size64, -- 1.7.7.6 ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1356100981-18685-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org>]
* Re: [PATCH] spi: spi-mpc512x-psc: don't use obsolet cell-index property [not found] ` <1356100981-18685-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org> @ 2012-12-21 14:48 ` Grant Likely 2012-12-21 19:29 ` Grant Likely 0 siblings, 1 reply; 7+ messages in thread From: Grant Likely @ 2012-12-21 14:48 UTC (permalink / raw) To: Anatolij Gustschin; +Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f On Fri, Dec 21, 2012 at 2:43 PM, Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> wrote: > Use unique PSCx register base offset to obtain the > SPI PSC number used for SPI bus id. > > Signed-off-by: Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> Don't do this. If you really want to assign a specific bus number, then use a property in /aliases. cell-index has been deprecated a very long time ago now. g. > --- > drivers/spi/spi-mpc512x-psc.c | 17 +++++++++++------ > 1 files changed, 11 insertions(+), 6 deletions(-) > > diff --git a/drivers/spi/spi-mpc512x-psc.c b/drivers/spi/spi-mpc512x-psc.c > index 0a1e39e..844d68f 100644 > --- a/drivers/spi/spi-mpc512x-psc.c > +++ b/drivers/spi/spi-mpc512x-psc.c > @@ -523,16 +523,21 @@ static int __devinit mpc512x_psc_spi_of_probe(struct platform_device *op) > > /* get PSC id (0..11, used by port_config) */ > if (op->dev.platform_data == NULL) { > - const u32 *psc_nump; > + u32 reg; > + int err; > > - psc_nump = of_get_property(op->dev.of_node, "cell-index", NULL); > - if (!psc_nump || *psc_nump > 11) { > - dev_err(&op->dev, "mpc512x_psc_spi: Device node %s " > - "has invalid cell-index property\n", > + err = of_property_read_u32(op->dev.of_node, "reg", ®); > + if (err) { > + dev_err(&op->dev, "Can't read reg property: %d\n", err); > + return err; > + } > + > + id = (reg & 0xf00) >> 8; > + if (id > 11) { > + dev_err(&op->dev, "node %s has invalid reg property\n", > op->dev.of_node->full_name); > return -EINVAL; > } > - id = *psc_nump; > } > > return mpc512x_psc_spi_do_probe(&op->dev, (u32) regaddr64, (u32) size64, > -- > 1.7.7.6 > -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] spi: spi-mpc512x-psc: don't use obsolet cell-index property 2012-12-21 14:48 ` Grant Likely @ 2012-12-21 19:29 ` Grant Likely 2013-01-10 23:12 ` Anatolij Gustschin ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Grant Likely @ 2012-12-21 19:29 UTC (permalink / raw) To: Anatolij Gustschin; +Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f On Fri, 21 Dec 2012 14:48:38 +0000, Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> wrote: > On Fri, Dec 21, 2012 at 2:43 PM, Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> wrote: > > Use unique PSCx register base offset to obtain the > > SPI PSC number used for SPI bus id. > > > > Signed-off-by: Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> > > Don't do this. If you really want to assign a specific bus number, > then use a property in /aliases. cell-index has been deprecated a very > long time ago now. Ummm.. I really should read patches before I reply to them. I see you're removing cell-index, not adding it back in. It is fine. Aliases would be a more generic solution though. Would this following change work for you? Try it out and let me know. g. --- diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 84c2861..de9f6ee 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -983,6 +983,9 @@ int spi_register_master(struct spi_master *master) if (master->num_chipselect == 0) return -EINVAL; + if ((master->bus_num < 0) && master->dev.of_node) + master->bus_num = of_alias_get_id(master->dev.of_node, "spi"); + /* convention: dynamically assigned bus IDs count down from the max */ if (master->bus_num < 0) { /* FIXME switch to an IDR based scheme, something like ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] spi: spi-mpc512x-psc: don't use obsolet cell-index property 2012-12-21 19:29 ` Grant Likely @ 2013-01-10 23:12 ` Anatolij Gustschin 2013-01-10 23:26 ` [PATCH v2] " Anatolij Gustschin 2013-01-11 0:05 ` Anatolij Gustschin 2 siblings, 0 replies; 7+ messages in thread From: Anatolij Gustschin @ 2013-01-10 23:12 UTC (permalink / raw) To: Grant Likely; +Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Hi Grant, On Fri, 21 Dec 2012 19:29:14 +0000 Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> wrote: > On Fri, 21 Dec 2012 14:48:38 +0000, Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> wrote: > > On Fri, Dec 21, 2012 at 2:43 PM, Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> wrote: > > > Use unique PSCx register base offset to obtain the > > > SPI PSC number used for SPI bus id. > > > > > > Signed-off-by: Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> > > > > Don't do this. If you really want to assign a specific bus number, > > then use a property in /aliases. cell-index has been deprecated a very > > long time ago now. > > Ummm.. I really should read patches before I reply to them. I see you're > removing cell-index, not adding it back in. It is fine. > > Aliases would be a more generic solution though. Would this following > change work for you? Try it out and let me know. Sorry for delay. I've tried it now, it doesn't work. The mpc5121 psc spi driver also needs to get/enable psc clock of the used psc controller. It uses psc bus number to generate psc clock name string and to get and enable this clock, so I need to set the bus number in the driver. I'll use of_alias_get_id() in the the psc spi driver. Thanks, Anatolij ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2] spi: spi-mpc512x-psc: don't use obsolet cell-index property 2012-12-21 19:29 ` Grant Likely 2013-01-10 23:12 ` Anatolij Gustschin @ 2013-01-10 23:26 ` Anatolij Gustschin 2013-01-11 0:05 ` Anatolij Gustschin 2 siblings, 0 replies; 7+ messages in thread From: Anatolij Gustschin @ 2013-01-10 23:26 UTC (permalink / raw) To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Remove deprecated cell-index property and use spi alias to obtain the SPI PSC number used for SPI bus id. Signed-off-by: Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> --- v2: - use of_alias_get_id() to get spi bus number drivers/spi/spi-mpc512x-psc.c | 16 +++++----------- 1 files changed, 5 insertions(+), 11 deletions(-) diff --git a/drivers/spi/spi-mpc512x-psc.c b/drivers/spi/spi-mpc512x-psc.c index cb3a310..88e5441 100644 --- a/drivers/spi/spi-mpc512x-psc.c +++ b/drivers/spi/spi-mpc512x-psc.c @@ -522,17 +522,11 @@ static int mpc512x_psc_spi_of_probe(struct platform_device *op) regaddr64 = of_translate_address(op->dev.of_node, regaddr_p); /* get PSC id (0..11, used by port_config) */ - if (op->dev.platform_data == NULL) { - const u32 *psc_nump; - - psc_nump = of_get_property(op->dev.of_node, "cell-index", NULL); - if (!psc_nump || *psc_nump > 11) { - dev_err(&op->dev, "mpc512x_psc_spi: Device node %s " - "has invalid cell-index property\n", - op->dev.of_node->full_name); - return -EINVAL; - } - id = *psc_nump; + id = of_alias_get_id(op->dev.of_node, "spi"); + if (id < 0) { + dev_err(&op->dev, "no alias id for %s\n", + op->dev.of_node->full_name); + return id; } return mpc512x_psc_spi_do_probe(&op->dev, (u32) regaddr64, (u32) size64, -- 1.7.5.4 ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2] spi: spi-mpc512x-psc: don't use obsolet cell-index property 2012-12-21 19:29 ` Grant Likely 2013-01-10 23:12 ` Anatolij Gustschin 2013-01-10 23:26 ` [PATCH v2] " Anatolij Gustschin @ 2013-01-11 0:05 ` Anatolij Gustschin [not found] ` <1357862748-14130-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org> 2 siblings, 1 reply; 7+ messages in thread From: Anatolij Gustschin @ 2013-01-11 0:05 UTC (permalink / raw) To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f; +Cc: Anatolij Gustschin Remove deprecated cell-index property and use spi alias to obtain the SPI PSC number used for SPI bus id. Signed-off-by: Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> --- v2: - use of_alias_get_id() to get spi bus number drivers/spi/spi-mpc512x-psc.c | 16 +++++----------- 1 files changed, 5 insertions(+), 11 deletions(-) diff --git a/drivers/spi/spi-mpc512x-psc.c b/drivers/spi/spi-mpc512x-psc.c index cb3a310..88e5441 100644 --- a/drivers/spi/spi-mpc512x-psc.c +++ b/drivers/spi/spi-mpc512x-psc.c @@ -522,17 +522,11 @@ static int mpc512x_psc_spi_of_probe(struct platform_device *op) regaddr64 = of_translate_address(op->dev.of_node, regaddr_p); /* get PSC id (0..11, used by port_config) */ - if (op->dev.platform_data == NULL) { - const u32 *psc_nump; - - psc_nump = of_get_property(op->dev.of_node, "cell-index", NULL); - if (!psc_nump || *psc_nump > 11) { - dev_err(&op->dev, "mpc512x_psc_spi: Device node %s " - "has invalid cell-index property\n", - op->dev.of_node->full_name); - return -EINVAL; - } - id = *psc_nump; + id = of_alias_get_id(op->dev.of_node, "spi"); + if (id < 0) { + dev_err(&op->dev, "no alias id for %s\n", + op->dev.of_node->full_name); + return id; } return mpc512x_psc_spi_do_probe(&op->dev, (u32) regaddr64, (u32) size64, -- 1.7.5.4 ------------------------------------------------------------------------------ Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ^ permalink raw reply related [flat|nested] 7+ messages in thread
[parent not found: <1357862748-14130-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org>]
* Re: [PATCH v2] spi: spi-mpc512x-psc: don't use obsolet cell-index property [not found] ` <1357862748-14130-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org> @ 2013-02-05 14:09 ` Grant Likely 0 siblings, 0 replies; 7+ messages in thread From: Grant Likely @ 2013-02-05 14:09 UTC (permalink / raw) To: Anatolij Gustschin, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Cc: Anatolij Gustschin On Fri, 11 Jan 2013 01:05:48 +0100, Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> wrote: > Remove deprecated cell-index property and use spi alias to > obtain the SPI PSC number used for SPI bus id. > > Signed-off-by: Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org> > --- > v2: > - use of_alias_get_id() to get spi bus number > Applied, thanks. g. > drivers/spi/spi-mpc512x-psc.c | 16 +++++----------- > 1 files changed, 5 insertions(+), 11 deletions(-) > > diff --git a/drivers/spi/spi-mpc512x-psc.c b/drivers/spi/spi-mpc512x-psc.c > index cb3a310..88e5441 100644 > --- a/drivers/spi/spi-mpc512x-psc.c > +++ b/drivers/spi/spi-mpc512x-psc.c > @@ -522,17 +522,11 @@ static int mpc512x_psc_spi_of_probe(struct platform_device *op) > regaddr64 = of_translate_address(op->dev.of_node, regaddr_p); > > /* get PSC id (0..11, used by port_config) */ > - if (op->dev.platform_data == NULL) { > - const u32 *psc_nump; > - > - psc_nump = of_get_property(op->dev.of_node, "cell-index", NULL); > - if (!psc_nump || *psc_nump > 11) { > - dev_err(&op->dev, "mpc512x_psc_spi: Device node %s " > - "has invalid cell-index property\n", > - op->dev.of_node->full_name); > - return -EINVAL; > - } > - id = *psc_nump; > + id = of_alias_get_id(op->dev.of_node, "spi"); > + if (id < 0) { > + dev_err(&op->dev, "no alias id for %s\n", > + op->dev.of_node->full_name); > + return id; > } > > return mpc512x_psc_spi_do_probe(&op->dev, (u32) regaddr64, (u32) size64, > -- > 1.7.5.4 > -- Grant Likely, B.Sc, P.Eng. Secret Lab Technologies, Ltd. ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-02-05 14:09 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-12-21 14:43 [PATCH] spi: spi-mpc512x-psc: don't use obsolet cell-index property Anatolij Gustschin [not found] ` <1356100981-18685-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org> 2012-12-21 14:48 ` Grant Likely 2012-12-21 19:29 ` Grant Likely 2013-01-10 23:12 ` Anatolij Gustschin 2013-01-10 23:26 ` [PATCH v2] " Anatolij Gustschin 2013-01-11 0:05 ` Anatolij Gustschin [not found] ` <1357862748-14130-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org> 2013-02-05 14:09 ` Grant Likely
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).