crypto: nx - remove pSeries NX 'status' field
authorDan Streetman <ddstreet@ieee.org>
Wed, 22 Jul 2015 18:26:32 +0000 (14:26 -0400)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 23 Jul 2015 10:14:30 +0000 (18:14 +0800)
Remove the 'status' field from the pSeries NX driver data.

The 'status' field isn't used by the driver at all; it simply checks the
devicetree status node at initialization, and returns success if 'okay'
and failure otherwise.

Signed-off-by: Dan Streetman <ddstreet@ieee.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/nx/nx-842-pseries.c

index fc59520003574196ed75d7b7e00710ad7328ae19..b3758779dc3ed1449c38371966bd8630fb25ca25 100644 (file)
@@ -99,11 +99,6 @@ struct nx842_workmem {
 #define NX842_HW_PAGE_SIZE     (4096)
 #define NX842_HW_PAGE_MASK     (~(NX842_HW_PAGE_SIZE-1))
 
-enum nx842_status {
-       UNAVAILABLE,
-       AVAILABLE
-};
-
 struct ibm_nx842_counters {
        atomic64_t comp_complete;
        atomic64_t comp_failed;
@@ -121,7 +116,6 @@ static struct nx842_devdata {
        unsigned int max_sg_len;
        unsigned int max_sync_size;
        unsigned int max_sync_sg;
-       enum nx842_status status;
 } __rcu *devdata;
 static DEFINE_SPINLOCK(devdata_mutex);
 
@@ -537,48 +531,36 @@ static int nx842_OF_set_defaults(struct nx842_devdata *devdata)
                devdata->max_sync_size = 0;
                devdata->max_sync_sg = 0;
                devdata->max_sg_len = 0;
-               devdata->status = UNAVAILABLE;
                return 0;
        } else
                return -ENOENT;
 }
 
 /**
- * nx842_OF_upd_status -- Update the device info from OF status prop
+ * nx842_OF_upd_status -- Check the device info from OF status prop
  *
  * The status property indicates if the accelerator is enabled.  If the
  * device is in the OF tree it indicates that the hardware is present.
  * The status field indicates if the device is enabled when the status
  * is 'okay'.  Otherwise the device driver will be disabled.
  *
- * @devdata - struct nx842_devdata to update
  * @prop - struct property point containing the maxsyncop for the update
  *
  * Returns:
  *  0 - Device is available
  *  -ENODEV - Device is not available
  */
-static int nx842_OF_upd_status(struct nx842_devdata *devdata,
-                                       struct property *prop) {
-       int ret = 0;
+static int nx842_OF_upd_status(struct property *prop)
+{
        const char *status = (const char *)prop->value;
 
-       if (!strncmp(status, "okay", (size_t)prop->length)) {
-               devdata->status = AVAILABLE;
-       } else {
-               /*
-                * Caller will log that the device is disabled, so only
-                * output if there is an unexpected status.
-                */
-               if (strncmp(status, "disabled", (size_t)prop->length)) {
-                       dev_info(devdata->dev, "%s: status '%s' is not 'okay'\n",
-                               __func__, status);
-               }
-               devdata->status = UNAVAILABLE;
-               ret = -ENODEV;
-       }
+       if (!strncmp(status, "okay", (size_t)prop->length))
+               return 0;
+       if (!strncmp(status, "disabled", (size_t)prop->length))
+               return -ENODEV;
+       dev_info(devdata->dev, "%s: unknown status '%s'\n", __func__, status);
 
-       return ret;
+       return -EINVAL;
 }
 
 /**
@@ -784,7 +766,7 @@ static int nx842_OF_upd(struct property *new_prop)
                goto out;
 
        /* Perform property updates */
-       ret = nx842_OF_upd_status(new_devdata, status);
+       ret = nx842_OF_upd_status(status);
        if (ret)
                goto error_out;
 
@@ -1100,7 +1082,6 @@ static int __init nx842_pseries_init(void)
                pr_err("Could not allocate memory for device data\n");
                return -ENOMEM;
        }
-       new_devdata->status = UNAVAILABLE;
        RCU_INIT_POINTER(devdata, new_devdata);
 
        ret = vio_register_driver(&nx842_vio_driver);