static int raw3215_set_offline (struct ccw_device *cdev) { struct raw3215_info *raw; raw = dev_get_drvdata(&cdev->dev); if (!raw) return -ENODEV; raw3215_shutdown(raw); return 0; }
/* * tty3215_close() * * This routine is called when the 3215 tty is closed. We wait * for the remaining request to be completed. Then we clean up. */ static void tty3215_close(struct tty_struct *tty, struct file * filp) { raw3215_info *raw; raw = (raw3215_info *) tty->driver_data; if (raw == NULL || tty->count > 1) return; tty->closing = 1; /* Shutdown the terminal */ raw3215_shutdown(raw); tty->closing = 0; raw->tty = NULL; }
static int raw3215_set_offline (struct ccw_device *cdev) { struct raw3215_info *raw; raw = cdev->dev.driver_data; if (!raw) return -ENODEV; raw3215_shutdown(raw); return 0; }
/* * tty3215_close() * * This routine is called when the 3215 tty is closed. We wait * for the remaining request to be completed. Then we clean up. */ static void tty3215_close(struct tty_struct *tty, struct file * filp) { struct raw3215_info *raw; raw = (struct raw3215_info *) tty->driver_data; if (raw == NULL || tty->count > 1) return; tty->closing = 1; /* Shutdown the terminal */ raw3215_shutdown(raw); tasklet_kill(&raw->tlet); tty->closing = 0; tty_port_tty_set(&raw->port, NULL); }