Kernel 2.6.37-git10 build failure: cassini.c

Subsystems: networking drivers, the rest

4 messages, 3 authors, 2011-01-14 · open the first message on its own page

Kernel 2.6.37-git10 build failure: cassini.c

From: Anca Emanuel <hidden>
Date: 2011-01-14 08:09:53

drivers/net/cassini.c: In function ‘cas_get_vpd_info’:
drivers/net/cassini.c:3358: error: implicit declaration of function
‘of_get_property’
drivers/net/cassini.c:3358: warning: assignment makes pointer from
integer without a cast
drivers/net/cassini.c: In function ‘cas_init_one’:
drivers/net/cassini.c:5035: error: implicit declaration of function
‘pci_device_to_OF_node’
drivers/net/cassini.c:5035: warning: assignment makes pointer from
integer without a cast
make[3]: *** [drivers/net/cassini.o] Error 1
make[2]: *** [drivers/net] Error 2


The first part can be solved with:
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c
index 7206ab2..fe3795e 100644
--- a/drivers/net/cassini.c
+++ b/drivers/net/cassini.c
@@ -94,6 +94,7 @@
 #include <linux/tcp.h>
 #include <linux/mutex.h>
 #include <linux/firmware.h>
+#include <linux/of.h>

 #include <net/checksum.h>

Re: Kernel 2.6.37-git10 build failure: cassini.c

From: Anca Emanuel <hidden>
Date: 2011-01-14 16:02:37

On Fri, Jan 14, 2011 at 10:09 AM, Anca Emanuel [off-list ref] wrote:
quoted hunk
drivers/net/cassini.c: In function ‘cas_get_vpd_info’:
drivers/net/cassini.c:3358: error: implicit declaration of function
‘of_get_property’
drivers/net/cassini.c:3358: warning: assignment makes pointer from
integer without a cast
drivers/net/cassini.c: In function ‘cas_init_one’:
drivers/net/cassini.c:5035: error: implicit declaration of function
‘pci_device_to_OF_node’
drivers/net/cassini.c:5035: warning: assignment makes pointer from
integer without a cast
make[3]: *** [drivers/net/cassini.o] Error 1
make[2]: *** [drivers/net] Error 2


The first part can be solved with:
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c
index 7206ab2..fe3795e 100644
--- a/drivers/net/cassini.c
+++ b/drivers/net/cassini.c
@@ -94,6 +94,7 @@
 #include <linux/tcp.h>
 #include <linux/mutex.h>
 #include <linux/firmware.h>
+#include <linux/of.h>

 #include <net/checksum.h>
The second part it's a little bit harder, because:
http://lxr.linux.no/linux+v2.6.37/+search=pci_device_to_OF_node
there is no generic function, only microblaze, powerpc and sparc are
there as users.

Still not solved in git11.
I'm testing this from x86, Ubuntu 10.10 standard config.

Re: Kernel 2.6.37-git10 build failure: cassini.c

From: David Miller <davem@davemloft.net>
Date: 2011-01-14 20:40:45

From: Anca Emanuel <redacted>
Date: Fri, 14 Jan 2011 10:09:43 +0200
drivers/net/cassini.c: In function ‘cas_get_vpd_info’:
drivers/net/cassini.c:3358: error: implicit declaration of function
‘of_get_property’
drivers/net/cassini.c:3358: warning: assignment makes pointer from
integer without a cast
drivers/net/cassini.c: In function ‘cas_init_one’:
drivers/net/cassini.c:5035: error: implicit declaration of function
‘pci_device_to_OF_node’
drivers/net/cassini.c:5035: warning: assignment makes pointer from
integer without a cast
make[3]: *** [drivers/net/cassini.o] Error 1
make[2]: *** [drivers/net] Error 2
This is the fix I'll be using:

--------------------
cassini: Fix build bustage on x86.

Unfortunately, not all CONFIG_OF platforms provide
pci_device_to_OF_node().

Change the test to CONFIG_SPARC for now to deal with
the build regressions.

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 drivers/net/cassini.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c
index 7206ab2..3437613 100644
--- a/drivers/net/cassini.c
+++ b/drivers/net/cassini.c
@@ -3203,7 +3203,7 @@ static int cas_get_vpd_info(struct cas *cp, unsigned char *dev_addr,
 	int phy_type = CAS_PHY_MII_MDIO0; /* default phy type */
 	int mac_off  = 0;
 
-#if defined(CONFIG_OF)
+#if defined(CONFIG_SPARC)
 	const unsigned char *addr;
 #endif
 
@@ -3354,7 +3354,7 @@ use_random_mac_addr:
 	if (found & VPD_FOUND_MAC)
 		goto done;
 
-#if defined(CONFIG_OF)
+#if defined(CONFIG_SPARC)
 	addr = of_get_property(cp->of_node, "local-mac-address", NULL);
 	if (addr != NULL) {
 		memcpy(dev_addr, addr, 6);
@@ -5031,7 +5031,7 @@ static int __devinit cas_init_one(struct pci_dev *pdev,
 	cp->msg_enable = (cassini_debug < 0) ? CAS_DEF_MSG_ENABLE :
 	  cassini_debug;
 
-#if defined(CONFIG_OF)
+#if defined(CONFIG_SPARC)
 	cp->of_node = pci_device_to_OF_node(pdev);
 #endif
 
-- 
1.7.3.4

Re: Kernel 2.6.37-git10 build failure: cassini.c

From: Grant Likely <hidden>
Date: 2011-01-14 21:01:40

2011/1/14 David Miller [off-list ref]:
From: Anca Emanuel <redacted>
Date: Fri, 14 Jan 2011 10:09:43 +0200
quoted
drivers/net/cassini.c: In function ‘cas_get_vpd_info’:
drivers/net/cassini.c:3358: error: implicit declaration of function
‘of_get_property’
drivers/net/cassini.c:3358: warning: assignment makes pointer from
integer without a cast
drivers/net/cassini.c: In function ‘cas_init_one’:
drivers/net/cassini.c:5035: error: implicit declaration of function
‘pci_device_to_OF_node’
drivers/net/cassini.c:5035: warning: assignment makes pointer from
integer without a cast
make[3]: *** [drivers/net/cassini.o] Error 1
make[2]: *** [drivers/net] Error 2
This is the fix I'll be using:

--------------------
cassini: Fix build bustage on x86.

Unfortunately, not all CONFIG_OF platforms provide
pci_device_to_OF_node().

Change the test to CONFIG_SPARC for now to deal with
the build regressions.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Grant Likely <redacted>

pci_device_to_OF_node() will probably become available for all
CONFIG_OF users in 2.6.39.  In the meantime, I agree with this
solution.

g.
quoted hunk
---
 drivers/net/cassini.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c
index 7206ab2..3437613 100644
--- a/drivers/net/cassini.c
+++ b/drivers/net/cassini.c
@@ -3203,7 +3203,7 @@ static int cas_get_vpd_info(struct cas *cp, unsigned char *dev_addr,
       int phy_type = CAS_PHY_MII_MDIO0; /* default phy type */
       int mac_off  = 0;

-#if defined(CONFIG_OF)
+#if defined(CONFIG_SPARC)
       const unsigned char *addr;
 #endif
@@ -3354,7 +3354,7 @@ use_random_mac_addr:
       if (found & VPD_FOUND_MAC)
               goto done;

-#if defined(CONFIG_OF)
+#if defined(CONFIG_SPARC)
       addr = of_get_property(cp->of_node, "local-mac-address", NULL);
       if (addr != NULL) {
               memcpy(dev_addr, addr, 6);
@@ -5031,7 +5031,7 @@ static int __devinit cas_init_one(struct pci_dev *pdev,
       cp->msg_enable = (cassini_debug < 0) ? CAS_DEF_MSG_ENABLE :
         cassini_debug;

-#if defined(CONFIG_OF)
+#if defined(CONFIG_SPARC)
       cp->of_node = pci_device_to_OF_node(pdev);
 #endif

--
1.7.3.4


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help