diff --git a/examples/tty/tty.c b/examples/tty/tty.c index 4d47a490..e5b4d520 100644 --- a/examples/tty/tty.c +++ b/examples/tty/tty.c @@ -233,7 +233,11 @@ static void __exit cleanup_mini_module(void) { printk(KERN_INFO PFX "Stopping...\n"); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) + timer_delete_sync(&timer); +#else del_timer_sync(&timer); +#endif free_serial_devices(); diff --git a/tty/module.c b/tty/module.c index 2b7b22bb..12ad1e7e 100644 --- a/tty/module.c +++ b/tty/module.c @@ -292,7 +292,11 @@ static int ec_tty_init(ec_tty_t *t, int minor, static void ec_tty_clear(ec_tty_t *tty) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) + timer_delete_sync(&tty->timer); +#else del_timer_sync(&tty->timer); +#endif tty_unregister_device(tty_driver, tty->minor); } @@ -367,10 +371,14 @@ static void ec_tty_wakeup(struct timer_list *t) static void ec_tty_wakeup(unsigned long data) #endif { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) + ec_tty_t *tty = timer_container_of(tty, t, timer); +#else #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0) ec_tty_t *tty = from_timer(tty, t, timer); #else ec_tty_t *tty = (ec_tty_t *) data; +#endif #endif size_t to_recv;