s390/zfcp: remove pm support from zfcp driver
authorVineeth Vijayan <vneethv@linux.ibm.com>
Mon, 25 May 2020 08:36:42 +0000 (10:36 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 2 Dec 2020 17:19:23 +0000 (18:19 +0100)
As part of removing the power management support from
s390 arch, remove PM callbacks from the scsi/zfcp driver.

Signed-off-by: Vineeth Vijayan <vneethv@linux.ibm.com>
Reviewed-by: Steffen Maier <maier@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
drivers/s390/scsi/zfcp_ccw.c
drivers/s390/scsi/zfcp_dbf.c
drivers/s390/scsi/zfcp_def.h
drivers/s390/scsi/zfcp_ext.h

index d9fd0a41da64ad8cc7bce39e4ba256df7d36b7a7..bdf2cc1ea71395d14f706ed3d27e00f130dcec49 100644 (file)
@@ -194,41 +194,27 @@ static int zfcp_ccw_set_online(struct ccw_device *cdev)
 }
 
 /**
- * zfcp_ccw_offline_sync - shut down adapter and wait for it to finish
+ * zfcp_ccw_set_offline - set_offline function of zfcp driver
  * @cdev: pointer to belonging ccw device
- * @set: Status flags to set.
- * @tag: s390dbf trace record tag
  *
  * This function gets called by the common i/o layer and sets an adapter
  * into state offline.
  */
-static int zfcp_ccw_offline_sync(struct ccw_device *cdev, int set, char *tag)
+static int zfcp_ccw_set_offline(struct ccw_device *cdev)
 {
        struct zfcp_adapter *adapter = zfcp_ccw_adapter_by_cdev(cdev);
 
        if (!adapter)
                return 0;
 
-       zfcp_erp_set_adapter_status(adapter, set);
-       zfcp_erp_adapter_shutdown(adapter, 0, tag);
+       zfcp_erp_set_adapter_status(adapter, 0);
+       zfcp_erp_adapter_shutdown(adapter, 0, "ccsoff1");
        zfcp_erp_wait(adapter);
 
        zfcp_ccw_adapter_put(adapter);
        return 0;
 }
 
-/**
- * zfcp_ccw_set_offline - set_offline function of zfcp driver
- * @cdev: pointer to belonging ccw device
- *
- * This function gets called by the common i/o layer and sets an adapter
- * into state offline.
- */
-static int zfcp_ccw_set_offline(struct ccw_device *cdev)
-{
-       return zfcp_ccw_offline_sync(cdev, 0, "ccsoff1");
-}
-
 /**
  * zfcp_ccw_notify - ccw notify function
  * @cdev: pointer to belonging ccw device
@@ -246,11 +232,6 @@ static int zfcp_ccw_notify(struct ccw_device *cdev, int event)
 
        switch (event) {
        case CIO_GONE:
-               if (atomic_read(&adapter->status) &
-                   ZFCP_STATUS_ADAPTER_SUSPENDED) { /* notification ignore */
-                       zfcp_dbf_hba_basic("ccnigo1", adapter);
-                       break;
-               }
                dev_warn(&cdev->dev, "The FCP device has been detached\n");
                zfcp_erp_adapter_shutdown(adapter, 0, "ccnoti1");
                break;
@@ -260,11 +241,6 @@ static int zfcp_ccw_notify(struct ccw_device *cdev, int event)
                zfcp_erp_adapter_shutdown(adapter, 0, "ccnoti2");
                break;
        case CIO_OPER:
-               if (atomic_read(&adapter->status) &
-                   ZFCP_STATUS_ADAPTER_SUSPENDED) { /* notification ignore */
-                       zfcp_dbf_hba_basic("ccniop1", adapter);
-                       break;
-               }
                dev_info(&cdev->dev, "The FCP device is operational again\n");
                zfcp_erp_set_adapter_status(adapter,
                                            ZFCP_STATUS_COMMON_RUNNING);
@@ -300,28 +276,6 @@ static void zfcp_ccw_shutdown(struct ccw_device *cdev)
        zfcp_ccw_adapter_put(adapter);
 }
 
-static int zfcp_ccw_suspend(struct ccw_device *cdev)
-{
-       zfcp_ccw_offline_sync(cdev, ZFCP_STATUS_ADAPTER_SUSPENDED, "ccsusp1");
-       return 0;
-}
-
-static int zfcp_ccw_thaw(struct ccw_device *cdev)
-{
-       /* trace records for thaw and final shutdown during suspend
-          can only be found in system dump until the end of suspend
-          but not after resume because it's based on the memory image
-          right after the very first suspend (freeze) callback */
-       zfcp_ccw_activate(cdev, 0, "ccthaw1");
-       return 0;
-}
-
-static int zfcp_ccw_resume(struct ccw_device *cdev)
-{
-       zfcp_ccw_activate(cdev, ZFCP_STATUS_ADAPTER_SUSPENDED, "ccresu1");
-       return 0;
-}
-
 struct ccw_driver zfcp_ccw_driver = {
        .driver = {
                .owner  = THIS_MODULE,
@@ -334,7 +288,4 @@ struct ccw_driver zfcp_ccw_driver = {
        .set_offline = zfcp_ccw_set_offline,
        .notify      = zfcp_ccw_notify,
        .shutdown    = zfcp_ccw_shutdown,
-       .freeze      = zfcp_ccw_suspend,
-       .thaw        = zfcp_ccw_thaw,
-       .restore     = zfcp_ccw_resume,
 };
index 673e42defb91a8a6b3d0f867f73f292adb2a0d96..ca473b36890507aa43808dc446e9242f54ca1a8e 100644 (file)
@@ -263,31 +263,6 @@ void zfcp_dbf_hba_def_err(struct zfcp_adapter *adapter, u64 req_id, u16 scount,
        spin_unlock_irqrestore(&dbf->pay_lock, flags);
 }
 
-/**
- * zfcp_dbf_hba_basic - trace event for basic adapter events
- * @tag: identifier for event
- * @adapter: pointer to struct zfcp_adapter
- */
-void zfcp_dbf_hba_basic(char *tag, struct zfcp_adapter *adapter)
-{
-       struct zfcp_dbf *dbf = adapter->dbf;
-       struct zfcp_dbf_hba *rec = &dbf->hba_buf;
-       static int const level = 1;
-       unsigned long flags;
-
-       if (unlikely(!debug_level_enabled(dbf->hba, level)))
-               return;
-
-       spin_lock_irqsave(&dbf->hba_lock, flags);
-       memset(rec, 0, sizeof(*rec));
-
-       memcpy(rec->tag, tag, ZFCP_DBF_TAG_LEN);
-       rec->id = ZFCP_DBF_HBA_BASIC;
-
-       debug_event(dbf->hba, level, rec, sizeof(*rec));
-       spin_unlock_irqrestore(&dbf->hba_lock, flags);
-}
-
 static void zfcp_dbf_set_common(struct zfcp_dbf_rec *rec,
                                struct zfcp_adapter *adapter,
                                struct zfcp_port *port,
index da8a5ceb615cc7379cd3dd646f183c7448943c63..5069b555c6c1330e3d0a8fa5188030c266c7e1d4 100644 (file)
@@ -70,7 +70,6 @@
 #define ZFCP_STATUS_ADAPTER_SIOSL_ISSUED       0x00000004
 #define ZFCP_STATUS_ADAPTER_XCONFIG_OK         0x00000008
 #define ZFCP_STATUS_ADAPTER_HOST_CON_INIT      0x00000010
-#define ZFCP_STATUS_ADAPTER_SUSPENDED          0x00000040
 #define ZFCP_STATUS_ADAPTER_ERP_PENDING                0x00000100
 #define ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED     0x00000200
 #define ZFCP_STATUS_ADAPTER_DATA_DIV_ENABLED   0x00000400
index 3ef5d74331c3062413ce49d7b2b5d2bcc60e5022..fdac6350c579da2ecee7080fee71e7d2f3899d39 100644 (file)
@@ -49,7 +49,6 @@ extern void zfcp_dbf_hba_fsf_fces(char *tag, const struct zfcp_fsf_req *req,
                                  u32 fc_security_new);
 extern void zfcp_dbf_hba_bit_err(char *, struct zfcp_fsf_req *);
 extern void zfcp_dbf_hba_def_err(struct zfcp_adapter *, u64, u16, void **);
-extern void zfcp_dbf_hba_basic(char *, struct zfcp_adapter *);
 extern void zfcp_dbf_san_req(char *, struct zfcp_fsf_req *, u32);
 extern void zfcp_dbf_san_res(char *, struct zfcp_fsf_req *);
 extern void zfcp_dbf_san_in_els(char *, struct zfcp_fsf_req *);