s390: remove pm support from console drivers
authorVineeth Vijayan <vneethv@linux.ibm.com>
Mon, 30 Mar 2020 12:36:57 +0000 (14:36 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 2 Dec 2020 17:19:24 +0000 (18:19 +0100)
The power-management functions are unused since the
'commit 394216275c7d ("s390: remove broken hibernate / power management
support")'. Remove the unsued pm functions from the console drivers.

Signed-off-by: Vineeth Vijayan <vneethv@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
drivers/s390/char/con3215.c
drivers/s390/char/con3270.c
drivers/s390/char/raw3270.c
drivers/s390/char/raw3270.h

index d8acabbb1ed3bf6a9f671ea665c96b2c17cc5082..1354c42d95aa8c64f5af51cf1c613a6b6453b3d7 100644 (file)
@@ -289,16 +289,14 @@ static void raw3215_timeout(struct timer_list *t)
 
        spin_lock_irqsave(get_ccwdev_lock(raw->cdev), flags);
        raw->flags &= ~RAW3215_TIMER_RUNS;
-       if (!tty_port_suspended(&raw->port)) {
-               raw3215_mk_write_req(raw);
-               raw3215_start_io(raw);
-               if ((raw->queued_read || raw->queued_write) &&
-                   !(raw->flags & RAW3215_WORKING) &&
-                   !(raw->flags & RAW3215_TIMER_RUNS)) {
-                       raw->timer.expires = RAW3215_TIMEOUT + jiffies;
-                       add_timer(&raw->timer);
-                       raw->flags |= RAW3215_TIMER_RUNS;
-               }
+       raw3215_mk_write_req(raw);
+       raw3215_start_io(raw);
+       if ((raw->queued_read || raw->queued_write) &&
+           !(raw->flags & RAW3215_WORKING) &&
+           !(raw->flags & RAW3215_TIMER_RUNS)) {
+               raw->timer.expires = RAW3215_TIMEOUT + jiffies;
+               add_timer(&raw->timer);
+               raw->flags |= RAW3215_TIMER_RUNS;
        }
        spin_unlock_irqrestore(get_ccwdev_lock(raw->cdev), flags);
 }
@@ -311,7 +309,7 @@ static void raw3215_timeout(struct timer_list *t)
  */
 static inline void raw3215_try_io(struct raw3215_info *raw)
 {
-       if (!tty_port_initialized(&raw->port) || tty_port_suspended(&raw->port))
+       if (!tty_port_initialized(&raw->port))
                return;
        if (raw->queued_read != NULL)
                raw3215_start_io(raw);
@@ -463,26 +461,6 @@ put_tty:
        tty_kref_put(tty);
 }
 
-/*
- * Drop the oldest line from the output buffer.
- */
-static void raw3215_drop_line(struct raw3215_info *raw)
-{
-       int ix;
-       char ch;
-
-       BUG_ON(raw->written != 0);
-       ix = (raw->head - raw->count) & (RAW3215_BUFFER_SIZE - 1);
-       while (raw->count > 0) {
-               ch = raw->buffer[ix];
-               ix = (ix + 1) & (RAW3215_BUFFER_SIZE - 1);
-               raw->count--;
-               if (ch == 0x15)
-                       break;
-       }
-       raw->head = ix;
-}
-
 /*
  * Wait until length bytes are available int the output buffer.
  * Has to be called with the s390irq lock held. Can be called
@@ -491,13 +469,6 @@ static void raw3215_drop_line(struct raw3215_info *raw)
 static void raw3215_make_room(struct raw3215_info *raw, unsigned int length)
 {
        while (RAW3215_BUFFER_SIZE - raw->count < length) {
-               /* While console is frozen for suspend we have no other
-                * choice but to drop message from the buffer to make
-                * room for even more messages. */
-               if (tty_port_suspended(&raw->port)) {
-                       raw3215_drop_line(raw);
-                       continue;
-               }
                /* there might be a request pending */
                raw->flags |= RAW3215_FLUSHING;
                raw3215_mk_write_req(raw);
@@ -763,36 +734,6 @@ static int raw3215_set_offline (struct ccw_device *cdev)
        return 0;
 }
 
-static int raw3215_pm_stop(struct ccw_device *cdev)
-{
-       struct raw3215_info *raw;
-       unsigned long flags;
-
-       /* Empty the output buffer, then prevent new I/O. */
-       raw = dev_get_drvdata(&cdev->dev);
-       spin_lock_irqsave(get_ccwdev_lock(raw->cdev), flags);
-       raw3215_make_room(raw, RAW3215_BUFFER_SIZE);
-       tty_port_set_suspended(&raw->port, 1);
-       spin_unlock_irqrestore(get_ccwdev_lock(raw->cdev), flags);
-       return 0;
-}
-
-static int raw3215_pm_start(struct ccw_device *cdev)
-{
-       struct raw3215_info *raw;
-       unsigned long flags;
-
-       /* Allow I/O again and flush output buffer. */
-       raw = dev_get_drvdata(&cdev->dev);
-       spin_lock_irqsave(get_ccwdev_lock(raw->cdev), flags);
-       tty_port_set_suspended(&raw->port, 0);
-       raw->flags |= RAW3215_FLUSHING;
-       raw3215_try_io(raw);
-       raw->flags &= ~RAW3215_FLUSHING;
-       spin_unlock_irqrestore(get_ccwdev_lock(raw->cdev), flags);
-       return 0;
-}
-
 static struct ccw_device_id raw3215_id[] = {
        { CCW_DEVICE(0x3215, 0) },
        { /* end of list */ },
@@ -808,9 +749,6 @@ static struct ccw_driver raw3215_ccw_driver = {
        .remove         = &raw3215_remove,
        .set_online     = &raw3215_set_online,
        .set_offline    = &raw3215_set_offline,
-       .freeze         = &raw3215_pm_stop,
-       .thaw           = &raw3215_pm_start,
-       .restore        = &raw3215_pm_start,
        .int_class      = IRQIO_C15,
 };
 
@@ -858,11 +796,6 @@ static void con3215_flush(void)
        unsigned long flags;
 
        raw = raw3215[0];  /* console 3215 is the first one */
-       if (tty_port_suspended(&raw->port))
-               /* The console is still frozen for suspend. */
-               if (ccw_device_force_console(raw->cdev))
-                       /* Forcing didn't work, no panic message .. */
-                       return;
        spin_lock_irqsave(get_ccwdev_lock(raw->cdev), flags);
        raw3215_make_room(raw, RAW3215_BUFFER_SIZE);
        spin_unlock_irqrestore(get_ccwdev_lock(raw->cdev), flags);
index e17364e13d2f71ec289a47f6a79f7c56ae85b264..e21962c0fd9486b81a0d9bb3e88faa20afa70a35 100644 (file)
@@ -544,7 +544,6 @@ con3270_flush(void)
        cp = condev;
        if (!cp->view.dev)
                return;
-       raw3270_pm_unfreeze(&cp->view);
        raw3270_activate_view(&cp->view);
        spin_lock_irqsave(&cp->view.lock, flags);
        con3270_wait_write(cp);
index 63a41b16876102a8f1210396f1970d0d5e77df18..646ec796bb83b66e12481ba4ff349e977fc1b35a 100644 (file)
@@ -67,7 +67,6 @@ struct raw3270 {
 #define RAW3270_FLAGS_14BITADDR        0       /* 14-bit buffer addresses */
 #define RAW3270_FLAGS_BUSY     1       /* Device busy, leave it alone */
 #define RAW3270_FLAGS_CONSOLE  2       /* Device is the console. */
-#define RAW3270_FLAGS_FROZEN   3       /* set if 3270 is frozen for suspend */
 
 /* Semaphore to protect global data of raw3270 (devices, views, etc). */
 static DEFINE_MUTEX(raw3270_mutex);
@@ -260,8 +259,7 @@ raw3270_view_active(struct raw3270_view *view)
 {
        struct raw3270 *rp = view->dev;
 
-       return rp && rp->view == view &&
-               !test_bit(RAW3270_FLAGS_FROZEN, &rp->flags);
+       return rp && rp->view == view;
 }
 
 int
@@ -273,8 +271,7 @@ raw3270_start(struct raw3270_view *view, struct raw3270_request *rq)
 
        spin_lock_irqsave(get_ccwdev_lock(view->dev->cdev), flags);
        rp = view->dev;
-       if (!rp || rp->view != view ||
-           test_bit(RAW3270_FLAGS_FROZEN, &rp->flags))
+       if (!rp || rp->view != view)
                rc = -EACCES;
        else if (!raw3270_state_ready(rp))
                rc = -EBUSY;
@@ -291,8 +288,7 @@ raw3270_start_locked(struct raw3270_view *view, struct raw3270_request *rq)
        int rc;
 
        rp = view->dev;
-       if (!rp || rp->view != view ||
-           test_bit(RAW3270_FLAGS_FROZEN, &rp->flags))
+       if (!rp || rp->view != view)
                rc = -EACCES;
        else if (!raw3270_state_ready(rp))
                rc = -EBUSY;
@@ -629,8 +625,7 @@ raw3270_reset(struct raw3270_view *view)
        int rc;
 
        rp = view->dev;
-       if (!rp || rp->view != view ||
-           test_bit(RAW3270_FLAGS_FROZEN, &rp->flags))
+       if (!rp || rp->view != view)
                rc = -EACCES;
        else if (!raw3270_state_ready(rp))
                rc = -EBUSY;
@@ -854,8 +849,6 @@ raw3270_activate_view(struct raw3270_view *view)
                rc = 0;
        else if (!raw3270_state_ready(rp))
                rc = -EBUSY;
-       else if (test_bit(RAW3270_FLAGS_FROZEN, &rp->flags))
-               rc = -EACCES;
        else {
                oldview = NULL;
                if (rp->view && rp->view->fn->deactivate) {
@@ -903,8 +896,7 @@ raw3270_deactivate_view(struct raw3270_view *view)
                list_del_init(&view->list);
                list_add_tail(&view->list, &rp->view_list);
                /* Try to activate another view. */
-               if (raw3270_state_ready(rp) &&
-                   !test_bit(RAW3270_FLAGS_FROZEN, &rp->flags)) {
+               if (raw3270_state_ready(rp)) {
                        list_for_each_entry(view, &rp->view_list, list) {
                                rp->view = view;
                                if (view->fn->activate(view) == 0)
@@ -999,8 +991,7 @@ raw3270_del_view(struct raw3270_view *view)
                rp->view = NULL;
        }
        list_del_init(&view->list);
-       if (!rp->view && raw3270_state_ready(rp) &&
-           !test_bit(RAW3270_FLAGS_FROZEN, &rp->flags)) {
+       if (!rp->view && raw3270_state_ready(rp)) {
                /* Try to activate another view. */
                list_for_each_entry(nv, &rp->view_list, list) {
                        if (nv->fn->activate(nv) == 0) {
@@ -1215,60 +1206,6 @@ raw3270_set_offline (struct ccw_device *cdev)
        return 0;
 }
 
-static int raw3270_pm_stop(struct ccw_device *cdev)
-{
-       struct raw3270 *rp;
-       struct raw3270_view *view;
-       unsigned long flags;
-
-       rp = dev_get_drvdata(&cdev->dev);
-       if (!rp)
-               return 0;
-       spin_lock_irqsave(get_ccwdev_lock(rp->cdev), flags);
-       if (rp->view && rp->view->fn->deactivate)
-               rp->view->fn->deactivate(rp->view);
-       if (!test_bit(RAW3270_FLAGS_CONSOLE, &rp->flags)) {
-               /*
-                * Release tty and fullscreen for all non-console
-                * devices.
-                */
-               list_for_each_entry(view, &rp->view_list, list) {
-                       if (view->fn->release)
-                               view->fn->release(view);
-               }
-       }
-       set_bit(RAW3270_FLAGS_FROZEN, &rp->flags);
-       spin_unlock_irqrestore(get_ccwdev_lock(rp->cdev), flags);
-       return 0;
-}
-
-static int raw3270_pm_start(struct ccw_device *cdev)
-{
-       struct raw3270 *rp;
-       unsigned long flags;
-
-       rp = dev_get_drvdata(&cdev->dev);
-       if (!rp)
-               return 0;
-       spin_lock_irqsave(get_ccwdev_lock(rp->cdev), flags);
-       clear_bit(RAW3270_FLAGS_FROZEN, &rp->flags);
-       if (rp->view && rp->view->fn->activate)
-               rp->view->fn->activate(rp->view);
-       spin_unlock_irqrestore(get_ccwdev_lock(rp->cdev), flags);
-       return 0;
-}
-
-void raw3270_pm_unfreeze(struct raw3270_view *view)
-{
-#ifdef CONFIG_TN3270_CONSOLE
-       struct raw3270 *rp;
-
-       rp = view->dev;
-       if (rp && test_bit(RAW3270_FLAGS_FROZEN, &rp->flags))
-               ccw_device_force_console(rp->cdev);
-#endif
-}
-
 static struct ccw_device_id raw3270_id[] = {
        { CCW_DEVICE(0x3270, 0) },
        { CCW_DEVICE(0x3271, 0) },
@@ -1294,9 +1231,6 @@ static struct ccw_driver raw3270_ccw_driver = {
        .remove         = &raw3270_remove,
        .set_online     = &raw3270_set_online,
        .set_offline    = &raw3270_set_offline,
-       .freeze         = &raw3270_pm_stop,
-       .thaw           = &raw3270_pm_start,
-       .restore        = &raw3270_pm_start,
        .int_class      = IRQIO_C70,
 };
 
index 8d979e0ee6054eb3a68c77980c4de40acfd81b31..c6645167cd2bf2ae2d84d15fe27e6f1391dbb774 100644 (file)
@@ -199,7 +199,6 @@ struct raw3270_notifier {
 
 int raw3270_register_notifier(struct raw3270_notifier *);
 void raw3270_unregister_notifier(struct raw3270_notifier *);
-void raw3270_pm_unfreeze(struct raw3270_view *);
 
 /*
  * Little memory allocator for string objects.