* Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]
@ 2009-06-11 1:56 ` Subrata Modak
0 siblings, 0 replies; 13+ messages in thread
From: Subrata Modak @ 2009-06-11 1:56 UTC (permalink / raw)
To: Stephen Rothwell, netdev, Li Yang
Cc: Sachin P Sant, Linuxppc-dev, Linux-Next, Linux-Kernel,
Balbir Singh
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 <subrata@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
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]
2009-06-11 1:56 ` Subrata Modak
(?)
@ 2009-06-11 2:03 ` Michael Ellerman
-1 siblings, 0 replies; 13+ messages in thread
From: Michael Ellerman @ 2009-06-11 2:03 UTC (permalink / raw)
To: subrata
Cc: Sachin P Sant, Stephen Rothwell, netdev, Linux-Kernel,
Linuxppc-dev, Linux-Next, Li Yang, Balbir Singh
[-- Attachment #1.1: Type: text/plain, Size: 940 bytes --]
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 <subrata@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
[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
[-- Attachment #2: Type: text/plain, Size: 150 bytes --]
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]
@ 2009-06-11 2:03 ` Michael Ellerman
0 siblings, 0 replies; 13+ messages in thread
From: Michael Ellerman @ 2009-06-11 2:03 UTC (permalink / raw)
To: subrata
Cc: Stephen Rothwell, netdev, Li Yang, Sachin P Sant, Linuxppc-dev,
Linux-Next, Linux-Kernel, Balbir Singh
[-- Attachment #1: Type: text/plain, Size: 940 bytes --]
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 <subrata@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
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]
@ 2009-06-11 2:03 ` Michael Ellerman
0 siblings, 0 replies; 13+ messages in thread
From: Michael Ellerman @ 2009-06-11 2:03 UTC (permalink / raw)
To: subrata
Cc: Sachin P Sant, Stephen Rothwell, netdev, Linux-Kernel,
Linuxppc-dev, Linux-Next, Li Yang, Balbir Singh
[-- Attachment #1: Type: text/plain, Size: 940 bytes --]
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 <subrata@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
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]
2009-06-11 1:56 ` Subrata Modak
@ 2009-06-11 2:22 ` Tony Breeds
-1 siblings, 0 replies; 13+ messages in thread
From: Tony Breeds @ 2009-06-11 2:22 UTC (permalink / raw)
To: Subrata Modak
Cc: Stephen Rothwell, netdev, Li Yang, Sachin P Sant, Linuxppc-dev,
Linux-Next, Linux-Kernel, Balbir Singh
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 <subrata@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
^ permalink raw reply related [flat|nested] 13+ messages in thread* Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]
@ 2009-06-11 2:22 ` Tony Breeds
0 siblings, 0 replies; 13+ messages in thread
From: Tony Breeds @ 2009-06-11 2:22 UTC (permalink / raw)
To: Subrata Modak
Cc: Sachin P Sant, Stephen Rothwell, netdev, Linux-Kernel,
Linuxppc-dev, Linux-Next, Li Yang, Balbir Singh
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 <subrata@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
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]
2009-06-11 1:56 ` Subrata Modak
@ 2009-06-11 2:28 ` Nathan Lynch
-1 siblings, 0 replies; 13+ messages in thread
From: Nathan Lynch @ 2009-06-11 2:28 UTC (permalink / raw)
To: subrata
Cc: Stephen Rothwell, netdev, Li Yang, Sachin P Sant, Linuxppc-dev,
Linux-Next, Linux-Kernel, Balbir Singh
Subrata Modak <subrata@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 <subrata@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.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] Re:[BUILD FAILURE 04/04] Next June 04:PPC64 randconfig [drivers/net/ucc_geth.o]
@ 2009-06-11 2:28 ` Nathan Lynch
0 siblings, 0 replies; 13+ messages in thread
From: Nathan Lynch @ 2009-06-11 2:28 UTC (permalink / raw)
To: subrata
Cc: Sachin P Sant, Stephen Rothwell, netdev, Linux-Kernel,
Linuxppc-dev, Linux-Next, Li Yang, Balbir Singh
Subrata Modak <subrata@linux.vnet.ibm.com> writes:
> On Thu, 2009-06-11 at 11:05 +1000, Stephen Rothwell wrote:
>> Hi Subrata,
>>=20
>> On Wed, 10 Jun 2009 23:13:23 +0530 Subrata Modak <subrata@linux.vnet.ibm=
.com> wrote:
>> >
>> > /* Find the TBI PHY. If it's not there, we don't support SGMII */
>> > - ph =3D of_get_property(np, "tbi-handle", NULL);
>> > + ph =3D (phandle *)of_get_property(np, "tbi-handle", NULL);
>>=20
>> 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 =E2=80=98ucc_geth_probe=E2=80=99:
> 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.
^ permalink raw reply [flat|nested] 13+ messages in thread