Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]

2009-06-10 Thread Stephen Rothwell
Hi Subrata,

On Wed, 10 Jun 2009 23:13:23 +0530 Subrata Modak subr...@linux.vnet.ibm.com 
wrote:

   /* Find the TBI PHY.  If it's not there, we don't support SGMII */
 - ph = of_get_property(np, tbi-handle, NULL);
 + ph = (phandle *)of_get_property(np, tbi-handle, NULL);

You don't need this cast because of_get_property() returns void *.

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/


pgptwCCllXQeJ.pgp
Description: PGP signature
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]

2009-06-10 Thread Subrata Modak
On Thu, 2009-06-11 at 11:05 +1000, Stephen Rothwell wrote:
 Hi Subrata,
 
 On Wed, 10 Jun 2009 23:13:23 +0530 Subrata Modak subr...@linux.vnet.ibm.com 
 wrote:
 
  /* Find the TBI PHY.  If it's not there, we don't support SGMII */
  -   ph = of_get_property(np, tbi-handle, NULL);
  +   ph = (phandle *)of_get_property(np, tbi-handle, NULL);
 
 You don't need this cast because of_get_property() returns void *.

Stephen,

True. But without this gcc complains:

CC [M]  drivers/net/ucc_geth.o
drivers/net/ucc_geth.c: In function ‘ucc_geth_probe’:
drivers/net/ucc_geth.c:3824: warning: assignment discards qualifiers
from pointer target type

Else gcc just builds fine:

CC [M]  drivers/net/ucc_geth.o

This is an just an extra caution to fix both the build and warning
regression(s).

Regards--
Subrata

 

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]

2009-06-10 Thread Michael Ellerman
On Thu, 2009-06-11 at 07:26 +0530, Subrata Modak wrote:
 On Thu, 2009-06-11 at 11:05 +1000, Stephen Rothwell wrote:
  Hi Subrata,
  
  On Wed, 10 Jun 2009 23:13:23 +0530 Subrata Modak 
  subr...@linux.vnet.ibm.com wrote:
  
 /* Find the TBI PHY.  If it's not there, we don't support SGMII */
   - ph = of_get_property(np, tbi-handle, NULL);
   + ph = (phandle *)of_get_property(np, tbi-handle, NULL);
  
  You don't need this cast because of_get_property() returns void *.
 
 Stephen,
 
 True. But without this gcc complains:
 
 CC [M]  drivers/net/ucc_geth.o
 drivers/net/ucc_geth.c: In function ‘ucc_geth_probe’:
 drivers/net/ucc_geth.c:3824: warning: assignment discards qualifiers from 
 pointer target type
   ^^^

And what does that warning actually mean?

Your cast actually introduces a bug.

cheers


signature.asc
Description: This is a digitally signed message part
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]

2009-06-10 Thread Tony Breeds
On Thu, Jun 11, 2009 at 07:26:04AM +0530, Subrata Modak wrote:
 On Thu, 2009-06-11 at 11:05 +1000, Stephen Rothwell wrote:
  Hi Subrata,
  
  On Wed, 10 Jun 2009 23:13:23 +0530 Subrata Modak 
  subr...@linux.vnet.ibm.com wrote:
  
 /* Find the TBI PHY.  If it's not there, we don't support SGMII */
   - ph = of_get_property(np, tbi-handle, NULL);
   + ph = (phandle *)of_get_property(np, tbi-handle, NULL);
  
  You don't need this cast because of_get_property() returns void *.
 
 Stephen,
 
 True. But without this gcc complains:
 
 CC [M]  drivers/net/ucc_geth.o
 drivers/net/ucc_geth.c: In function ‘ucc_geth_probe’:
 drivers/net/ucc_geth.c:3824: warning: assignment discards qualifiers
 from pointer target type
 
 Else gcc just builds fine:
 
 CC [M]  drivers/net/ucc_geth.o
 
 This is an just an extra caution to fix both the build and warning
 regression(s).

ph needs to be const.

I think the following untested (and hence un-signed-off-by) patch is closer,
however I also think that the whole SGMII setup code could use the various OF
helper functions better :)

diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index e2f2e91..796253d 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -3603,6 +3603,7 @@ static int ucc_geth_probe(struct of_device* ofdev, const 
struct of_device_id *ma
struct resource res;
struct device_node *phy;
int err, ucc_num, max_speed = 0;
+   const phandle *ph;
const u32 *fixed_link;
const unsigned int *prop;
const char *sprop;
@@ -3821,7 +3822,7 @@ static int ucc_geth_probe(struct of_device* ofdev, const 
struct of_device_id *ma
/* Find the TBI PHY.  If it's not there, we don't support SGMII */
ph = of_get_property(np, tbi-handle, NULL);
if (ph) {
-   struct device_node *tbi = of_find_node_by_phandle(*ph);
+   struct device_node *tbi = of_find_node_by_phandle(*ph), *mdio;
struct of_device *ofdev;
struct mii_bus *bus;
const unsigned int *id;

Yours Tony
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]

2009-06-10 Thread Nathan Lynch
Subrata Modak subr...@linux.vnet.ibm.com writes:

 On Thu, 2009-06-11 at 11:05 +1000, Stephen Rothwell wrote:
 Hi Subrata,
 
 On Wed, 10 Jun 2009 23:13:23 +0530 Subrata Modak 
 subr...@linux.vnet.ibm.com wrote:
 
 /* Find the TBI PHY.  If it's not there, we don't support SGMII */
  -  ph = of_get_property(np, tbi-handle, NULL);
  +  ph = (phandle *)of_get_property(np, tbi-handle, NULL);
 
 You don't need this cast because of_get_property() returns void *.

 Stephen,

 True. But without this gcc complains:

 CC [M]  drivers/net/ucc_geth.o
 drivers/net/ucc_geth.c: In function ‘ucc_geth_probe’:
 drivers/net/ucc_geth.c:3824: warning: assignment discards qualifiers
 from pointer target type

ph should be declared const phandle *.  Look at other uses of
of_get_property.

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev