fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / net / irda / irport.c
index 44efd49..3098960 100644 (file)
@@ -87,8 +87,7 @@ static struct net_device_stats *irport_net_get_stats(struct net_device *dev);
 static int irport_change_speed_complete(struct irda_task *task);
 static void irport_timeout(struct net_device *dev);
 
-static irqreturn_t irport_interrupt(int irq, void *dev_id,
-                                   struct pt_regs *regs);
+static irqreturn_t irport_interrupt(int irq, void *dev_id);
 static int irport_hard_xmit(struct sk_buff *skb, struct net_device *dev);
 static void irport_change_speed(void *priv, __u32 speed);
 static int irport_net_open(struct net_device *dev);
@@ -165,7 +164,7 @@ irport_open(int i, unsigned int iobase, unsigned int irq)
        
        /* Allocate memory if needed */
        if (self->tx_buff.truesize > 0) {
-               self->tx_buff.head = (__u8 *) kmalloc(self->tx_buff.truesize, 
+               self->tx_buff.head = kmalloc(self->tx_buff.truesize,
                                                      GFP_KERNEL);
                if (self->tx_buff.head == NULL) {
                        IRDA_ERROR("%s(), can't allocate memory for "
@@ -761,25 +760,20 @@ static inline void irport_receive(struct irport_cb *self)
 }
 
 /*
- * Function irport_interrupt (irq, dev_id, regs)
+ * Function irport_interrupt (irq, dev_id)
  *
  *    Interrupt handler
  */
-static irqreturn_t irport_interrupt(int irq, void *dev_id,
-                                   struct pt_regs *regs) 
+static irqreturn_t irport_interrupt(int irq, void *dev_id) 
 {
-       struct net_device *dev = (struct net_device *) dev_id;
+       struct net_device *dev = dev_id;
        struct irport_cb *self;
        int boguscount = 0;
        int iobase;
        int iir, lsr;
        int handled = 0;
 
-       if (!dev) {
-               IRDA_WARNING("%s() irq %d for unknown device.\n", __FUNCTION__, irq);
-               return IRQ_NONE;
-       }
-       self = (struct irport_cb *) dev->priv;
+       self = dev->priv;
 
        spin_lock(&self->lock);
 
@@ -1090,7 +1084,7 @@ static int __init irport_init(void)
 {
        int i;
 
-       for (i=0; (io[i] < 2000) && (i < 4); i++) {
+       for (i=0; (io[i] < 2000) && (i < ARRAY_SIZE(dev_self)); i++) {
                if (irport_open(i, io[i], irq[i]) != NULL)
                        return 0;
        }
@@ -1112,7 +1106,7 @@ static void __exit irport_cleanup(void)
 
         IRDA_DEBUG( 4, "%s()\n", __FUNCTION__);
 
-       for (i=0; i < 4; i++) {
+       for (i=0; i < ARRAY_SIZE(dev_self); i++) {
                if (dev_self[i])
                        irport_close(dev_self[i]);
        }