Commit d08ea7f2 authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Linus Torvalds

[PATCH] Convert cm206 to a tasklet

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.
parent 0334a4e2
......@@ -345,6 +345,8 @@ inline void clear_ur(void)
}
}
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 @@ static void cm206_interrupt(int sig, void *dev_id, struct pt_regs *regs)
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 @@ int read_sector(int start)
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 @@ void cm206_bh(void)
}
}
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 @@ int __init cm206_init(void)
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 */
......
......@@ -28,20 +28,17 @@ struct irqaction {
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>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment