]> git.baikalelectronics.ru Git - kernel.git/commitdiff
s390/dcssblk: Remove power management support
authorPeter Oberparleiter <oberpar@linux.ibm.com>
Wed, 9 Jun 2021 13:46:17 +0000 (15:46 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Fri, 18 Jun 2021 14:41:20 +0000 (16:41 +0200)
Power management support was removed for s390 with
commit f5b114f6d22e ("s390: remove broken hibernate / power management
support").

Remove leftover dcssblk-related power management code.

Acked-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
drivers/s390/block/dcssblk.c

index da33cb4cba28ebe86f33153b6a8f08458da2f1c3..b92bddddd64db0cd2fcd38a05dcc11b23259a0cf 100644 (file)
@@ -17,7 +17,6 @@
 #include <linux/blkdev.h>
 #include <linux/completion.h>
 #include <linux/interrupt.h>
-#include <linux/platform_device.h>
 #include <linux/pfn_t.h>
 #include <linux/uio.h>
 #include <linux/dax.h>
@@ -993,95 +992,12 @@ dcssblk_check_params(void)
        }
 }
 
-/*
- * Suspend / Resume
- */
-static int dcssblk_freeze(struct device *dev)
-{
-       struct dcssblk_dev_info *dev_info;
-       int rc = 0;
-
-       list_for_each_entry(dev_info, &dcssblk_devices, lh) {
-               switch (dev_info->segment_type) {
-                       case SEG_TYPE_SR:
-                       case SEG_TYPE_ER:
-                       case SEG_TYPE_SC:
-                               if (!dev_info->is_shared)
-                                       rc = -EINVAL;
-                               break;
-                       default:
-                               rc = -EINVAL;
-                               break;
-               }
-               if (rc)
-                       break;
-       }
-       if (rc)
-               pr_err("Suspending the system failed because DCSS device %s "
-                      "is writable\n",
-                      dev_info->segment_name);
-       return rc;
-}
-
-static int dcssblk_restore(struct device *dev)
-{
-       struct dcssblk_dev_info *dev_info;
-       struct segment_info *entry;
-       unsigned long start, end;
-       int rc = 0;
-
-       list_for_each_entry(dev_info, &dcssblk_devices, lh) {
-               list_for_each_entry(entry, &dev_info->seg_list, lh) {
-                       segment_unload(entry->segment_name);
-                       rc = segment_load(entry->segment_name, SEGMENT_SHARED,
-                                         &start, &end);
-                       if (rc < 0) {
-// TODO in_use check ?
-                               segment_warning(rc, entry->segment_name);
-                               goto out_panic;
-                       }
-                       if (start != entry->start || end != entry->end) {
-                               pr_err("The address range of DCSS %s changed "
-                                      "while the system was suspended\n",
-                                      entry->segment_name);
-                               goto out_panic;
-                       }
-               }
-       }
-       return 0;
-out_panic:
-       panic("fatal dcssblk resume error\n");
-}
-
-static int dcssblk_thaw(struct device *dev)
-{
-       return 0;
-}
-
-static const struct dev_pm_ops dcssblk_pm_ops = {
-       .freeze         = dcssblk_freeze,
-       .thaw           = dcssblk_thaw,
-       .restore        = dcssblk_restore,
-};
-
-static struct platform_driver dcssblk_pdrv = {
-       .driver = {
-               .name   = "dcssblk",
-               .pm     = &dcssblk_pm_ops,
-       },
-};
-
-static struct platform_device *dcssblk_pdev;
-
-
 /*
  * The init/exit functions.
  */
 static void __exit
 dcssblk_exit(void)
 {
-       platform_device_unregister(dcssblk_pdev);
-       platform_driver_unregister(&dcssblk_pdrv);
        root_device_unregister(dcssblk_root_dev);
        unregister_blkdev(dcssblk_major, DCSSBLK_NAME);
 }
@@ -1091,22 +1007,9 @@ dcssblk_init(void)
 {
        int rc;
 
-       rc = platform_driver_register(&dcssblk_pdrv);
-       if (rc)
-               return rc;
-
-       dcssblk_pdev = platform_device_register_simple("dcssblk", -1, NULL,
-                                                       0);
-       if (IS_ERR(dcssblk_pdev)) {
-               rc = PTR_ERR(dcssblk_pdev);
-               goto out_pdrv;
-       }
-
        dcssblk_root_dev = root_device_register("dcssblk");
-       if (IS_ERR(dcssblk_root_dev)) {
-               rc = PTR_ERR(dcssblk_root_dev);
-               goto out_pdev;
-       }
+       if (IS_ERR(dcssblk_root_dev))
+               return PTR_ERR(dcssblk_root_dev);
        rc = device_create_file(dcssblk_root_dev, &dev_attr_add);
        if (rc)
                goto out_root;
@@ -1124,10 +1027,7 @@ dcssblk_init(void)
 
 out_root:
        root_device_unregister(dcssblk_root_dev);
-out_pdev:
-       platform_device_unregister(dcssblk_pdev);
-out_pdrv:
-       platform_driver_unregister(&dcssblk_pdrv);
+
        return rc;
 }