]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/net/pcnet.c
Merge branch 'patman' of git://git.denx.de/u-boot-x86
[karo-tx-uboot.git] / drivers / net / pcnet.c
index a4f02141063621588bd4ca837b5e7e36563091c6..c028a44a9ecab332d46353ffe27746116da37f50 100644 (file)
 #include <common.h>
 #include <malloc.h>
 #include <net.h>
+#include <netdev.h>
 #include <asm/io.h>
 #include <pci.h>
 
-#if 0
 #define        PCNET_DEBUG_LEVEL       0       /* 0=off, 1=init, 2=rx/tx */
-#endif
 
-#if PCNET_DEBUG_LEVEL > 0
-#define        PCNET_DEBUG1(fmt,args...)       printf (fmt ,##args)
-#if PCNET_DEBUG_LEVEL > 1
-#define        PCNET_DEBUG2(fmt,args...)       printf (fmt ,##args)
-#else
-#define PCNET_DEBUG2(fmt,args...)
-#endif
-#else
-#define PCNET_DEBUG1(fmt,args...)
-#define PCNET_DEBUG2(fmt,args...)
-#endif
+#define PCNET_DEBUG1(fmt,args...)      \
+       debug_cond(PCNET_DEBUG_LEVEL > 0, fmt ,##args)
+#define PCNET_DEBUG2(fmt,args...)      \
+       debug_cond(PCNET_DEBUG_LEVEL > 1, fmt ,##args)
 
 #if !defined(CONF_PCNET_79C973) && defined(CONF_PCNET_79C975)
 #error "Macro for PCnet chip version is not defined!"
@@ -149,8 +141,7 @@ static int pcnet_check (struct eth_device *dev)
 }
 
 static int pcnet_init (struct eth_device *dev, bd_t * bis);
-static int pcnet_send (struct eth_device *dev, volatile void *packet,
-                      int length);
+static int pcnet_send(struct eth_device *dev, void *packet, int length);
 static int pcnet_recv (struct eth_device *dev);
 static void pcnet_halt (struct eth_device *dev);
 static int pcnet_probe (struct eth_device *dev, bd_t * bis, int dev_num);
@@ -186,6 +177,11 @@ int pcnet_initialize (bd_t * bis)
                 * Allocate and pre-fill the device structure.
                 */
                dev = (struct eth_device *) malloc (sizeof *dev);
+               if (!dev) {
+                       printf("pcnet: Can not allocate memory\n");
+                       break;
+               }
+               memset(dev, 0, sizeof(*dev));
                dev->priv = (void *) devbusfn;
                sprintf (dev->name, "pcnet#%d", dev_nr);
 
@@ -418,8 +414,7 @@ static int pcnet_init (struct eth_device *dev, bd_t * bis)
        return 0;
 }
 
-static int pcnet_send (struct eth_device *dev, volatile void *packet,
-                      int pkt_len)
+static int pcnet_send(struct eth_device *dev, void *packet, int pkt_len)
 {
        int i, status;
        struct pcnet_tx_head *entry = &lp->tx_ring[lp->cur_tx];