BNX2X: open
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 18 Feb 2015 03:55:58 +0000 (22:55 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 2 Mar 2015 16:59:10 +0000 (11:59 -0500)
nic_load still panics.

kern/drivers/net/bnx2x/akaros_compat.h
kern/drivers/net/bnx2x/bnx2x_cmn.c
kern/drivers/net/bnx2x/bnx2x_cmn.h
kern/drivers/net/bnx2x/bnx2x_dev.c
kern/drivers/net/bnx2x/bnx2x_main.c

index cb11ea7..f989067 100644 (file)
@@ -199,6 +199,8 @@ typedef int pm_message_t;
        printk(fmt, ##__VA_ARGS__)
 #define netdev_err(dev, fmt, ...) \
        printk(fmt, ##__VA_ARGS__)
+#define netdev_info(dev, fmt, ...) \
+       printk(fmt, ##__VA_ARGS__)
 #define dev_err(dev, fmt, ...) \
        printk(fmt, ##__VA_ARGS__)
 #define dev_info(dev, fmt, ...) \
@@ -584,6 +586,7 @@ static inline void *pci_resource_end(struct pci_device *dev, int bir)
 #define is_valid_ether_addr(...) (TRUE)
 
 #define EPROBE_DEFER 1
+
 /* Could spatch this:
        if (!(pci_resource_flags(pdev, 0) & IORESOURCE_MEM)) {
        to:
index 1a69746..d623f47 100644 (file)
@@ -3212,11 +3212,10 @@ panic("Not implemented");
 #endif
 }
 
+#if 0 // AKAROS_PORT
 int bnx2x_set_power_state(struct bnx2x *bp, pci_power_t state)
 {
        uint16_t pmcsr;
-panic("Not implemented");
-#if 0 // AKAROS_PORT
 
        /* If there is no power capability, silently succeed */
        if (!bp->pdev->pm_cap) {
@@ -3265,8 +3264,8 @@ panic("Not implemented");
                return -EINVAL;
        }
        return 0;
-#endif
 }
+#endif
 
 /*
  * net_device service functions
index c074d72..8170eb4 100644 (file)
@@ -457,7 +457,8 @@ void bnx2x_dcbx_init(struct bnx2x *bp, bool update_shmem);
  *
  * Currently only D0 and D3hot are supported.
  */
-int bnx2x_set_power_state(struct bnx2x *bp, pci_power_t state);
+//int bnx2x_set_power_state(struct bnx2x *bp, pci_power_t state);
+#define bnx2x_set_power_state(...)
 
 /**
  * bnx2x_update_max_mf_config - update MAX part of MF configuration in HW.
index 43f3138..bb47583 100644 (file)
@@ -32,6 +32,7 @@ extern const struct pci_device_id *
 extern int bnx2x_init_one(struct ether *dev, struct bnx2x *bp,
                           struct pci_device *pdev,
                           const struct pci_device_id *ent);
+extern int bnx2x_open(struct ether *dev);
 
 spinlock_t bnx2x_tq_lock = SPINLOCK_INITIALIZER;
 TAILQ_HEAD(bnx2x_tq, bnx2x);
@@ -314,6 +315,7 @@ static int bnx2x_reset(struct bnx2x *ctlr)
        int ctrl, i, pause, r, swdpio, txcw;
 
        bnx2x_init_one(ctlr->edev, ctlr, ctlr->pcidev, ctlr->pci_id);
+       bnx2x_open(ctlr->edev);
        /* despite the name, we attach at reset time.  BXE attach has a lot of
         * mmio mappings that have to happen at boot (in akaros), instead of during
         * devether's attach (at runtime) */
index 15c56cf..5aea655 100644 (file)
@@ -12236,10 +12236,8 @@ static int bnx2x_init_bp(struct bnx2x *bp)
  */
 
 /* called with rtnl_lock */
-static int bnx2x_open(struct ether *dev)
+int bnx2x_open(struct ether *dev)
 {
-panic("Not implemented");
-#if 0 // AKAROS_PORT
        struct bnx2x *bp = netdev_priv(dev);
        int rc;
 
@@ -12304,7 +12302,6 @@ panic("Not implemented");
        if (rc)
                return rc;
        return 0;
-#endif
 }
 
 /* called with rtnl_lock */