]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/skfp/skfddi.c
Merge branch 'upstream-jeff' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
[linux-2.6-omap-h63xx.git] / drivers / net / skfp / skfddi.c
index 8e4d18440a5695ebe17acd66f1052cf0b6683739..a2b092bb3626b63a35ac44bec9ab6b2049242b19 100644 (file)
@@ -101,7 +101,7 @@ static const char * const boot_msg =
 static int skfp_driver_init(struct net_device *dev);
 static int skfp_open(struct net_device *dev);
 static int skfp_close(struct net_device *dev);
-static irqreturn_t skfp_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+static irqreturn_t skfp_interrupt(int irq, void *dev_id);
 static struct net_device_stats *skfp_ctl_get_stats(struct net_device *dev);
 static void skfp_ctl_set_multicast_list(struct net_device *dev);
 static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev);
@@ -260,9 +260,7 @@ static int skfp_init_one(struct pci_dev *pdev,
        dev->set_multicast_list = &skfp_ctl_set_multicast_list;
        dev->set_mac_address = &skfp_ctl_set_mac_address;
        dev->do_ioctl = &skfp_ioctl;
-       dev->header_cache_update = NULL;        /* not supported */
 
-       SET_MODULE_OWNER(dev);
        SET_NETDEV_DEV(dev, &pdev->dev);
 
        /* Initialize board structure with bus-specific info */
@@ -497,7 +495,7 @@ static int skfp_open(struct net_device *dev)
 
        PRINTK(KERN_INFO "entering skfp_open\n");
        /* Register IRQ - support shared interrupts by passing device ptr */
-       err = request_irq(dev->irq, (void *) skfp_interrupt, IRQF_SHARED,
+       err = request_irq(dev->irq, skfp_interrupt, IRQF_SHARED,
                          dev->name, dev);
        if (err)
                return err;
@@ -593,7 +591,6 @@ static int skfp_close(struct net_device *dev)
  * Arguments:
  *   irq        - interrupt vector
  *   dev_id     - pointer to device information
- *       regs   - pointer to registers structure
  *
  * Functional Description:
  *   This routine calls the interrupt processing routine for this adapter.  It
@@ -615,17 +612,12 @@ static int skfp_close(struct net_device *dev)
  *   Interrupts are disabled, then reenabled at the adapter.
  */
 
-irqreturn_t skfp_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+irqreturn_t skfp_interrupt(int irq, void *dev_id)
 {
-       struct net_device *dev = (struct net_device *) dev_id;
+       struct net_device *dev = dev_id;
        struct s_smc *smc;      /* private board structure pointer */
        skfddi_priv *bp;
 
-       if (dev == NULL) {
-               printk("%s: irq %d for unknown device\n", dev->name, irq);
-               return IRQ_NONE;
-       }
-
        smc = netdev_priv(dev);
        bp = &smc->os;
 
@@ -1652,7 +1644,7 @@ void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
                // Get RIF length from Routing Control (RC) field.
                cp = virt + FDDI_MAC_HDR_LEN;   // Point behind MAC header.
 
-               ri = ntohs(*((unsigned short *) cp));
+               ri = ntohs(*((__be16 *) cp));
                RifLength = ri & FDDI_RCF_LEN_MASK;
                if (len < (int) (FDDI_MAC_HDR_LEN + RifLength)) {
                        printk("fddi: Invalid RIF.\n");
@@ -1686,7 +1678,6 @@ void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd,
        rxd->rxd_os.skb = NULL;
        skb_trim(skb, len);
        skb->protocol = fddi_type_trans(skb, bp->dev);
-       skb->dev = bp->dev;     /* pass up device pointer */
 
        netif_rx(skb);
        bp->dev->last_rx = jiffies;
@@ -1944,7 +1935,7 @@ int mac_drv_rx_init(struct s_smc *smc, int len, int fc,
        }
        skb_reserve(skb, 3);
        skb_put(skb, len);
-       memcpy(skb->data, look_ahead, len);
+       skb_copy_to_linear_data(skb, look_ahead, len);
 
        // deliver frame to system
        skb->protocol = fddi_type_trans(skb, smc->os.dev);