--- serial.c.orig Tue Feb 26 04:37:57 2002 +++ serial.c Fri Sep 27 14:32:21 2002 @@ -95,7 +95,7 @@ #include #include -#undef SERIAL_PARANOIA_CHECK +#define SERIAL_PARANOIA_CHECK /* #undef SERIAL_PARANOIA_CHECK:有効にします */ #define CONFIG_SERIAL_NOPAUSE_IO #define SERIAL_DO_RESTART @@ -129,13 +129,13 @@ #endif /* Set of debugging defines */ - -#undef SERIAL_DEBUG_INTR -#undef SERIAL_DEBUG_OPEN -#undef SERIAL_DEBUG_FLOW -#undef SERIAL_DEBUG_RS_WAIT_UNTIL_SENT -#undef SERIAL_DEBUG_PCI +#define DBG_PRINT printk /* 今回追加したprintkの定義を区別しています */ +#define SERIAL_DEBUG_INTR /* #undef SERIAL_DEBUG_INTR:有効にします */ +#define SERIAL_DEBUG_OPEN /* #undef SERIAL_DEBUG_OPEN:有効にします */ +#define SERIAL_DEBUG_FLOW /* #undef SERIAL_DEBUG_FLOW:有効にします */ +#define SERIAL_DEBUG_RS_WAIT_UNTIL_SENT /* #undef SERIAL_DEBUG_RS_WAIT_UNTIL_SENT */ #undef SERIAL_DEBUG_AUTOCONF +#define SERIAL_DEBUG_AUTOCONF /* #undef SERIAL_DEBUG_AUTOCONF:有効にします */ /* Sanity checks */ @@ -494,6 +494,7 @@ struct async_struct *info = (struct async_struct *)tty->driver_data; unsigned long flags; + DBG_PRINT("**enter: rs_stop\n"); /* rs_stop()の入口 */ if (serial_paranoia_check(info, tty->device, "rs_stop")) return; @@ -507,13 +508,15 @@ serial_icr_write(info, UART_ACR, info->ACR); } restore_flags(flags); + DBG_PRINT("**exit: rs_stop\n"); /* rs_stop()の出口 */ } static void rs_start(struct tty_struct *tty) { struct async_struct *info = (struct async_struct *)tty->driver_data; unsigned long flags; - + + DBG_PRINT("**enter: rs_start\n"); /* rs_start()の入口 */ if (serial_paranoia_check(info, tty->device, "rs_start")) return; @@ -529,6 +532,7 @@ serial_icr_write(info, UART_ACR, info->ACR); } restore_flags(flags); + DBG_PRINT("**exit: rs_start\n"); /* rs_start()の出口 */ } /* @@ -1718,6 +1722,8 @@ info->timeout = ((info->xmit_fifo_size*HZ*bits*quot) / baud_base); info->timeout += HZ/50; /* Add .02 seconds of slop */ + DBG_PRINT("**Divisor = %04x\n", quot); /* 設定するDivisor値の表示 */ + /* Set up FIFO's */ if (uart_config[info->state->type].flags & UART_USE_FIFO) { if ((info->state->baud_base / quot) < 2400) @@ -5352,6 +5358,8 @@ int i; struct serial_state * state; + DBG_PRINT("**enter: rs_init()\n"); /* rs_init()の入口 */ + init_bh(SERIAL_BH, do_serial_bh); init_timer(&serial_timer); serial_timer.function = rs_timer; @@ -5510,6 +5518,9 @@ #ifdef ENABLE_SERIAL_PNP probe_serial_pnp(); #endif + + DBG_PRINT("**exit: rs_init()\n"); /* rs_init()の出口 */ + return 0; } @@ -5679,7 +5690,8 @@ int i; struct async_struct *info; - /* printk("Unloading %s: version %s\n", serial_name, serial_version); */ + printk("Unloading %s: version %s\n", serial_name, serial_version); + DBG_PRINT("**enter: rs_fini()\n"); /* rs_fini()の入口 */ del_timer_sync(&serial_timer); save_flags(flags); cli(); remove_bh(SERIAL_BH); @@ -5732,6 +5744,7 @@ if (serial_pci_driver.name[0]) pci_unregister_driver (&serial_pci_driver); #endif + DBG_PRINT("**exit: rs_fini()\n"); /* rs_fini()の出口 */ } module_init(rs_init);