[TRIVIAL] Patch to for Cyclades ISA serial board under 2.6

From: John Stoffel
Date: Wed Aug 27 2003 - 12:34:30 EST



Quick patch to get my 8 port Cyclades Cyclom-Y ISA card to work under
2.6.0-test3 and higher:

--- linux-2.6.0-test3/drivers/char/cyclades.c Sat Aug 9 00:33:22 2003
+++ linux-2.6.0-test1-mm2/drivers/char/cyclades.c Tue Jul 22 23:19:19 2003
@@ -867,6 +867,7 @@
static int cyz_issue_cmd(struct cyclades_card *, uclong, ucchar, uclong);
#ifdef CONFIG_ISA
static unsigned detect_isa_irq (volatile ucchar *);
+spinlock_t isa_card_lock = SPIN_LOCK_UNLOCKED;
#endif /* CONFIG_ISA */

static int cyclades_get_proc_info(char *, char **, off_t , int , int *, void *;
@@ -1050,14 +1051,14 @@
udelay(5000L);

/* Enable the Tx interrupts on the CD1400 */
- save_flags(flags); cli();
+ spin_lock_irqsave(&isa_card_lock,flags);
cy_writeb((u_long)address + (CyCAR<<index), 0);
cyy_issue_cmd(address, CyCHAN_CTL|CyENB_XMTR, index);

cy_writeb((u_long)address + (CyCAR<<index), 0);
cy_writeb((u_long)address + (CySRER<<index),
cy_readb(address + (CySRER<<index)) | CyTxRdy);
- restore_flags(flags);
+ spin_unlock_irqrestore(&isa_card_lock, flags);

/* Wait ... */
udelay(5000L);
@@ -5665,7 +5666,7 @@
cy_cleanup_module(void)
{
int i;
- int e1;
+ int e1, e2;
unsigned long flags;

#ifndef CONFIG_CYZ_INTR
@@ -5675,13 +5676,10 @@
}
#endif /* CONFIG_CYZ_INTR */

- save_flags(flags); cli();
-
if ((e1 = tty_unregister_driver(cy_serial_driver)))
printk("cyc: failed to unregister Cyclades serial driver(%d)\n",
e1);

- restore_flags(flags);
put_tty_driver(cy_serial_driver);

for (i = 0; i < NR_CARDS; i++) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/