Skip to content

Commit

Permalink
crypto: nx - remove pSeries NX 'status' field
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
ddstreet authored and herbertx committed Jul 23, 2015
1 parent 039af96 commit 90fd73f
Showing 1 changed file with 10 additions and 29 deletions.
39 changes: 10 additions & 29 deletions drivers/crypto/nx/nx-842-pseries.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);

Expand Down Expand Up @@ -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;
}

/**
Expand Down Expand Up @@ -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;

Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 90fd73f

Please sign in to comment.