Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Kernel v2.6.12 /drivers/net/irda/irport.c

Filename:/drivers/net/irda/irport.c
Lines Added:95
Lines Deleted:97
Also changed in: (Previous) 2.6.12-rc6  2.6.12-rc5  2.6.12-rc3  2.6.12-rc2  2.6.12-rc1-bk6  2.6.12-rc1-bk5 
(Following) 2.6.14-git2  2.6.14-git3  2.6.14-git4  2.6.14-git5  2.6.14-git6  2.6.14-git7 

Location
[  2.6.12
  [  drivers
    [  net
      [  irda
         o  irport.c

Patch

diff --git a/drivers/net/irda/irport.c b/drivers/net/irda/irport.c
--- a/drivers/net/irda/irport.c
+++ b/drivers/net/irda/irport.c
@@ -87,50 +87,14 @@ static struct net_device_stats *irport_n
 static int irport_change_speed_complete(struct irda_task *task);
 static void irport_timeout(struct net_device *dev);
 
-EXPORT_SYMBOL(irport_open);
-EXPORT_SYMBOL(irport_close);
-EXPORT_SYMBOL(irport_start);
-EXPORT_SYMBOL(irport_stop);
-EXPORT_SYMBOL(irport_interrupt);
-EXPORT_SYMBOL(irport_hard_xmit);
-EXPORT_SYMBOL(irport_timeout);
-EXPORT_SYMBOL(irport_change_speed);
-EXPORT_SYMBOL(irport_net_open);
-EXPORT_SYMBOL(irport_net_close);
+static irqreturn_t irport_interrupt(int irq, void *dev_id,
+                struct pt_regs *regs);
+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);
+static int irport_net_close(struct net_device *dev);
 
-static int __init irport_init(void)
-{
-    int i;
-
-    for (i=0; (io[i] < 2000) && (i < 4); i++) {
-       if (irport_open(i, io[i], irq[i]) != NULL)
-          return 0;
-    }
-   /* 
-    * Maybe something failed, but we can still be usable for FIR drivers 
-    */
-    return 0;
-}
-
-/*
- * Function irport_cleanup ()
- *
- *    Close all configured ports
- *
- */
-static void __exit irport_cleanup(void)
-{
-    int i;
-
-        IRDA_DEBUG( 4, "%s()\n", __FUNCTION__);
-
-   for (i=0; i < 4; i++) {
-       if (dev_self[i])
-          irport_close(dev_self[i]);
-    }
-}
-
-struct irport_cb *
+static struct irport_cb *
 irport_open(int i, unsigned int iobase, unsigned int irq)
 {
    struct net_device *dev;
@@ -150,8 +114,8 @@ irport_open(int i, unsigned int iobase, 
     */
    dev = alloc_irdadev(sizeof(struct irport_cb));
    if (!dev) {
-      ERROR("%s(), can't allocate memory for "
-            "irda device!\n", __FUNCTION__);
+      IRDA_ERROR("%s(), can't allocate memory for "
+            "irda device!\n", __FUNCTION__);
       goto err_out2;
    }
 
@@ -183,8 +147,8 @@ irport_open(int i, unsigned int iobase, 
    self->rx_buff.skb = __dev_alloc_skb(self->rx_buff.truesize,
                    GFP_KERNEL);
    if (self->rx_buff.skb == NULL) {
-      ERROR("%s(), can't allocate memory for "
-            "receive buffer!\n", __FUNCTION__);
+      IRDA_ERROR("%s(), can't allocate memory for "
+            "receive buffer!\n", __FUNCTION__);
       goto err_out3;
    }
    skb_reserve(self->rx_buff.skb, 1);
@@ -204,8 +168,8 @@ irport_open(int i, unsigned int iobase, 
       self->tx_buff.head = (__u8 *) kmalloc(self->tx_buff.truesize, 
                         GFP_KERNEL);
       if (self->tx_buff.head == NULL) {
-         ERROR("%s(), can't allocate memory for "
-               "transmit buffer!\n", __FUNCTION__);
+         IRDA_ERROR("%s(), can't allocate memory for "
+               "transmit buffer!\n", __FUNCTION__);
          goto err_out4;
       }
       memset(self->tx_buff.head, 0, self->tx_buff.truesize);
@@ -234,10 +198,10 @@ irport_open(int i, unsigned int iobase, 
    dev->irq = irq;
 
    if (register_netdev(dev)) {
-      ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
+      IRDA_ERROR("%s(), register_netdev() failed!\n", __FUNCTION__);
       goto err_out5;
    }
-   MESSAGE("IrDA: Registered device %s (irport io=0x%X irq=%d)\n",
+   IRDA_MESSAGE("IrDA: Registered device %s (irport io=0x%X irq=%d)\n",
       dev->name, iobase, irq);
 
    return self;
@@ -254,9 +218,9 @@ irport_open(int i, unsigned int iobase, 
    return NULL;
 }
 
-int irport_close(struct irport_cb *self)
+static int irport_close(struct irport_cb *self)
 {
-   ASSERT(self != NULL, return -1;);
+   IRDA_ASSERT(self != NULL, return -1;);
 
    /* We are not using any dongle anymore! */
    if (self->dongle)
@@ -285,40 +249,40 @@ int irport_close(struct irport_cb *self)
    return 0;
 }
 
-void irport_start(struct irport_cb *self)
+static void irport_stop(struct irport_cb *self)
 {
    int iobase;
 
    iobase = self->io.sir_base;
 
-   irport_stop(self);
-   
    /* We can't lock, we may be called from a FIR driver - Jean II */
 
-   /* Initialize UART */
-   outb(UART_LCR_WLEN8, iobase+UART_LCR);  /* Reset DLAB */
-   outb((UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2), iobase+UART_MCR);
+   /* We are not transmitting any more */
+   self->transmitting = 0;
+
+   /* Reset UART */
+   outb(0, iobase+UART_MCR);
    
-   /* Turn on interrups */
-   outb(UART_IER_RLSI | UART_IER_RDI |UART_IER_THRI, iobase+UART_IER);
+   /* Turn off interrupts */
+   outb(0, iobase+UART_IER);
 }
 
-void irport_stop(struct irport_cb *self)
+static void irport_start(struct irport_cb *self)
 {
    int iobase;
 
    iobase = self->io.sir_base;
 
+   irport_stop(self);
+   
    /* We can't lock, we may be called from a FIR driver - Jean II */
 
-   /* We are not transmitting any more */
-   self->transmitting = 0;
-
-   /* Reset UART */
-   outb(0, iobase+UART_MCR);
+   /* Initialize UART */
+   outb(UART_LCR_WLEN8, iobase+UART_LCR);  /* Reset DLAB */
+   outb((UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2), iobase+UART_MCR);
    
-   /* Turn off interrupts */
-   outb(0, iobase+UART_IER);
+   /* Turn on interrups */
+   outb(UART_IER_RLSI | UART_IER_RDI |UART_IER_THRI, iobase+UART_IER);
 }
 
 /*
@@ -368,7 +332,7 @@ static inline unsigned int irport_get_fc
  *
  * This function should be called with irq off and spin-lock.
  */
-void irport_change_speed(void *priv, __u32 speed)
+static void irport_change_speed(void *priv, __u32 speed)
 {
    struct irport_cb *self = (struct irport_cb *) priv;
    int iobase; 
@@ -376,8 +340,8 @@ void irport_change_speed(void *priv, __u
    unsigned int lcr;    /* Line control reg */
    int divisor;
 
-   ASSERT(self != NULL, return;);
-   ASSERT(speed != 0, return;);
+   IRDA_ASSERT(self != NULL, return;);
+   IRDA_ASSERT(speed != 0, return;);
 
    IRDA_DEBUG(1, "%s(), Setting speed to: %d - iobase=%#x\n",
           __FUNCTION__, speed, self->io.sir_base);
@@ -431,7 +395,7 @@ int __irport_change_speed(struct irda_ta
 
    self = (struct irport_cb *) task->instance;
 
-   ASSERT(self != NULL, return -1;);
+   IRDA_ASSERT(self != NULL, return -1;);
 
    /* Locking notes : this function may be called from irq context with
     * spinlock, via irport_write_wakeup(), or from non-interrupt without
@@ -480,7 +444,7 @@ int __irport_change_speed(struct irda_ta
          irda_task_next_state(task, IRDA_TASK_CHILD_DONE);
       break;
    case IRDA_TASK_CHILD_WAIT:
-      WARNING("%s(), changing speed of dongle timed out!\n", __FUNCTION__);
+      IRDA_WARNING("%s(), changing speed of dongle timed out!\n", __FUNCTION__);
       ret = -1;      
       break;
    case IRDA_TASK_CHILD_DONE:
@@ -490,7 +454,8 @@ int __irport_change_speed(struct irda_ta
       irda_task_next_state(task, IRDA_TASK_DONE);
       break;
    default:
-      ERROR("%s(), unknown state %d\n", __FUNCTION__, task->state);
+      IRDA_ERROR("%s(), unknown state %d\n",
+            __FUNCTION__, task->state);
       irda_task_next_state(task, IRDA_TASK_DONE);
       ret = -1;
       break;
@@ -517,8 +482,8 @@ static int irport_change_speed_complete(
 
    self = (struct irport_cb *) task->instance;
 
-   ASSERT(self != NULL, return -1;);
-   ASSERT(self->netdev != NULL, return -1;);
+   IRDA_ASSERT(self != NULL, return -1;);
+   IRDA_ASSERT(self->netdev != NULL, return -1;);
 
    /* Finished changing speed, so we are not busy any longer */
    /* Signal network layer so it can try to send the frame */
@@ -543,10 +508,10 @@ static void irport_timeout(struct net_de
    unsigned long flags;
 
    self = (struct irport_cb *) dev->priv;
-   ASSERT(self != NULL, return;);
+   IRDA_ASSERT(self != NULL, return;);
    iobase = self->io.sir_base;
    
-   WARNING("%s: transmit timed out, jiffies = %ld, trans_start = %ld\n",
+   IRDA_WARNING("%s: transmit timed out, jiffies = %ld, trans_start = %ld\n",
       dev->name, jiffies, dev->trans_start);
    spin_lock_irqsave(&self->lock, flags);
 
@@ -619,7 +584,7 @@ static void irport_wait_hw_transmitter_f
  *    waits until the next transmitt interrupt, and continues until the
  *    frame is transmitted.
  */
-int irport_hard_xmit(struct sk_buff *skb, struct net_device *dev)
+static int irport_hard_xmit(struct sk_buff *skb, struct net_device *dev)
 {
    struct irport_cb *self;
    unsigned long flags;
@@ -628,10 +593,10 @@ int irport_hard_xmit(struct sk_buff *skb
 
    IRDA_DEBUG(1, "%s()\n", __FUNCTION__);
 
-   ASSERT(dev != NULL, return 0;);
+   IRDA_ASSERT(dev != NULL, return 0;);
    
    self = (struct irport_cb *) dev->priv;
-   ASSERT(self != NULL, return 0;);
+   IRDA_ASSERT(self != NULL, return 0;);
 
    iobase = self->io.sir_base;
 
@@ -728,7 +693,7 @@ static inline void irport_write_wakeup(s
    int iobase;
    unsigned int fcr;
 
-   ASSERT(self != NULL, return;);
+   IRDA_ASSERT(self != NULL, return;);
 
    IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
 
@@ -789,7 +754,7 @@ static inline void irport_receive(struct
    int boguscount = 0;
    int iobase;
 
-   ASSERT(self != NULL, return;);
+   IRDA_ASSERT(self != NULL, return;);
 
    iobase = self->io.sir_base;
 
@@ -814,7 +779,8 @@ static inline void irport_receive(struct
  *
  *    Interrupt handler
  */
-irqreturn_t irport_interrupt(int irq, void *dev_id, struct pt_regs *regs) 
+static irqreturn_t irport_interrupt(int irq, void *dev_id,
+                struct pt_regs *regs) 
 {
    struct net_device *dev = (struct net_device *) dev_id;
    struct irport_cb *self;
@@ -824,7 +790,7 @@ irqreturn_t irport_interrupt(int irq, vo
    int handled = 0;
 
    if (!dev) {
-      WARNING("%s() irq %d for unknown device.\n", __FUNCTION__, irq);
+      IRDA_WARNING("%s() irq %d for unknown device.\n", __FUNCTION__, irq);
       return IRQ_NONE;
    }
    self = (struct irport_cb *) dev->priv;
@@ -861,8 +827,8 @@ irqreturn_t irport_interrupt(int irq, vo
 
       /* Make sure we don't stay here to long */
       if (boguscount++ > 10) {
-         WARNING("%s() irq handler looping : lsr=%02x\n",
-            __FUNCTION__, lsr);
+         IRDA_WARNING("%s() irq handler looping : lsr=%02x\n",
+                 __FUNCTION__, lsr);
          break;
       }
 
@@ -888,7 +854,7 @@ irqreturn_t irport_interrupt(int irq, vo
  *    Network device is taken up. Usually this is done by "ifconfig irda0 up" 
  *   
  */
-int irport_net_open(struct net_device *dev)
+static int irport_net_open(struct net_device *dev)
 {
    struct irport_cb *self;
    int iobase;
@@ -897,7 +863,7 @@ int irport_net_open(struct net_device *d
 
    IRDA_DEBUG(2, "%s()\n", __FUNCTION__);
 
-   ASSERT(dev != NULL, return -1;);
+   IRDA_ASSERT(dev != NULL, return -1;);
    self = (struct irport_cb *) dev->priv;
 
    iobase = self->io.sir_base;
@@ -941,7 +907,7 @@ int irport_net_open(struct net_device *d
  *    Network device is taken down. Usually this is done by 
  *    "ifconfig irda0 down" 
  */
-int irport_net_close(struct net_device *dev)
+static int irport_net_close(struct net_device *dev)
 {
    struct irport_cb *self;
    int iobase;
@@ -949,10 +915,10 @@ int irport_net_close(struct net_device *
 
    IRDA_DEBUG(4, "%s()\n", __FUNCTION__);
 
-   ASSERT(dev != NULL, return -1;);
+   IRDA_ASSERT(dev != NULL, return -1;);
    self = (struct irport_cb *) dev->priv;
 
-   ASSERT(self != NULL, return -1;);
+   IRDA_ASSERT(self != NULL, return -1;);
 
    iobase = self->io.sir_base;
 
@@ -995,7 +961,7 @@ static int irport_set_dtr_rts(struct net
    struct irport_cb *self = dev->priv;
    int iobase;
 
-   ASSERT(self != NULL, return -1;);
+   IRDA_ASSERT(self != NULL, return -1;);
 
    iobase = self->io.sir_base;
 
@@ -1015,7 +981,7 @@ static int irport_raw_write(struct net_d
    int actual = 0;
    int iobase;
 
-   ASSERT(self != NULL, return -1;);
+   IRDA_ASSERT(self != NULL, return -1;);
 
    iobase = self->io.sir_base;
 
@@ -1049,11 +1015,11 @@ static int irport_net_ioctl(struct net_d
    unsigned long flags;
    int ret = 0;
 
-   ASSERT(dev != NULL, return -1;);
+   IRDA_ASSERT(dev != NULL, return -1;);
 
    self = dev->priv;
 
-   ASSERT(self != NULL, return -1;);
+   IRDA_ASSERT(self != NULL, return -1;);
 
    IRDA_DEBUG(2, "%s(), %s, (cmd=0x%X)\n", __FUNCTION__, dev->name, cmd);
    
@@ -1134,6 +1100,38 @@ static struct net_device_stats *irport_n
    return &self->stats;
 }
 
+static int __init irport_init(void)
+{
+    int i;
+
+    for (i=0; (io[i] < 2000) && (i < 4); i++) {
+       if (irport_open(i, io[i], irq[i]) != NULL)
+          return 0;
+    }
+   /* 
+    * Maybe something failed, but we can still be usable for FIR drivers 
+    */
+    return 0;
+}
+
+/*
+ * Function irport_cleanup ()
+ *
+ *    Close all configured ports
+ *
+ */
+static void __exit irport_cleanup(void)
+{
+    int i;
+
+        IRDA_DEBUG( 4, "%s()\n", __FUNCTION__);
+
+   for (i=0; i < 4; i++) {
+       if (dev_self[i])
+          irport_close(dev_self[i]);
+    }
+}
+
 MODULE_PARM(io, "1-4i");
 MODULE_PARM_DESC(io, "Base I/O addresses");
 MODULE_PARM(irq, "1-4i");


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.