[PATCH] Convert cm206 to a tasklet

From: Matthew Wilcox (willy@debian.org)
Date: Thu Jun 20 2002 - 10:10:17 EST


Removes CM206_BH (patch approved by maintainer).
Deletes the no-longer-used BH entries from the enum. Explicit numbers
added so as not to destroy binary compatibility needlessly.

diff -urNX dontdiff linux-2.5.23/drivers/cdrom/cm206.c linux-2.5.23-imm/drivers/cdrom/cm206.c
--- linux-2.5.23/drivers/cdrom/cm206.c Mon Jun 17 04:49:04 2002
+++ linux-2.5.23-imm/drivers/cdrom/cm206.c Thu Jun 20 07:58:09 2002
@@ -345,6 +345,8 @@
         }
 }
 
+static struct tasklet_struct cm206_tasklet;
+
 /* The interrupt handler. When the cm260 generates an interrupt, very
    much care has to be taken in reading out the registers in the right
    order; in case of a receive_buffer_full interrupt, first the
@@ -432,7 +434,7 @@
         if (cd->background
             && (cd->adapter_last - cd->adapter_first == cd->max_sectors
                 || cd->fifo_overflowed))
- mark_bh(CM206_BH); /* issue a stop read command */
+ tasklet_schedule(&cm206_tasklet); /* issue a stop read command */
         stats(interrupt);
 }
 
@@ -701,7 +703,7 @@
    4 c_stop waits for receive_buffer_full: 0xff
 */
 
-void cm206_bh(void)
+static void cm206_tasklet_func(unsigned long ignore)
 {
         debug(("bh: %d\n", cd->background));
         switch (cd->background) {
@@ -745,6 +747,8 @@
         }
 }
 
+static DECLARE_TASKLET(cm206_tasklet, cm206_tasklet_func, 0);
+
 /* This command clears the dsb_possible_media_change flag, so we must
  * retain it.
  */
@@ -1503,7 +1507,6 @@
         blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), do_cm206_request,
                        &cm206_lock);
         blk_queue_hardsect_size(BLK_DEFAULT_QUEUE(MAJOR_NR), 2048);
- init_bh(CM206_BH, cm206_bh);
 
         memset(cd, 0, sizeof(*cd)); /* give'm some reasonable value */
         cd->sector_last = -1; /* flag no data buffered */
diff -urNX dontdiff linux-2.5.23/include/linux/interrupt.h linux-2.5.23-imm/include/linux/interrupt.h
--- linux-2.5.23/include/linux/interrupt.h Thu Jun 6 06:57:51 2002
+++ linux-2.5.23-imm/include/linux/interrupt.h Thu Jun 20 08:01:04 2002
@@ -28,20 +28,17 @@
    
 enum {
         TIMER_BH = 0,
- TQUEUE_BH,
- DIGI_BH,
- SERIAL_BH,
- RISCOM8_BH,
- SPECIALIX_BH,
- AURORA_BH,
- ESP_BH,
- SCSI_BH,
- IMMEDIATE_BH,
- CYCLADES_BH,
- CM206_BH,
- JS_BH,
- MACSERIAL_BH,
- ISICOM_BH
+ TQUEUE_BH = 1,
+ DIGI_BH = 2,
+ SERIAL_BH = 3,
+ RISCOM8_BH = 4,
+ SPECIALIX_BH = 5,
+ AURORA_BH = 6,
+ ESP_BH = 7,
+ IMMEDIATE_BH = 9,
+ CYCLADES_BH = 10,
+ MACSERIAL_BH = 13,
+ ISICOM_BH = 14
 };
 
 #include <asm/hardirq.h>

-- 
Revolutions do not require corporate support.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jun 23 2002 - 22:00:22 EST