crypto: nx - remove pSeries NX 'status' field
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>
This commit is contained in:
parent
039af9675f
commit
90fd73f912
1 changed files with 10 additions and 29 deletions
|
@ -99,11 +99,6 @@ struct nx842_workmem {
|
||||||
#define NX842_HW_PAGE_SIZE (4096)
|
#define NX842_HW_PAGE_SIZE (4096)
|
||||||
#define NX842_HW_PAGE_MASK (~(NX842_HW_PAGE_SIZE-1))
|
#define NX842_HW_PAGE_MASK (~(NX842_HW_PAGE_SIZE-1))
|
||||||
|
|
||||||
enum nx842_status {
|
|
||||||
UNAVAILABLE,
|
|
||||||
AVAILABLE
|
|
||||||
};
|
|
||||||
|
|
||||||
struct ibm_nx842_counters {
|
struct ibm_nx842_counters {
|
||||||
atomic64_t comp_complete;
|
atomic64_t comp_complete;
|
||||||
atomic64_t comp_failed;
|
atomic64_t comp_failed;
|
||||||
|
@ -121,7 +116,6 @@ static struct nx842_devdata {
|
||||||
unsigned int max_sg_len;
|
unsigned int max_sg_len;
|
||||||
unsigned int max_sync_size;
|
unsigned int max_sync_size;
|
||||||
unsigned int max_sync_sg;
|
unsigned int max_sync_sg;
|
||||||
enum nx842_status status;
|
|
||||||
} __rcu *devdata;
|
} __rcu *devdata;
|
||||||
static DEFINE_SPINLOCK(devdata_mutex);
|
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_size = 0;
|
||||||
devdata->max_sync_sg = 0;
|
devdata->max_sync_sg = 0;
|
||||||
devdata->max_sg_len = 0;
|
devdata->max_sg_len = 0;
|
||||||
devdata->status = UNAVAILABLE;
|
|
||||||
return 0;
|
return 0;
|
||||||
} else
|
} else
|
||||||
return -ENOENT;
|
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
|
* The status property indicates if the accelerator is enabled. If the
|
||||||
* device is in the OF tree it indicates that the hardware is present.
|
* 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
|
* The status field indicates if the device is enabled when the status
|
||||||
* is 'okay'. Otherwise the device driver will be disabled.
|
* 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
|
* @prop - struct property point containing the maxsyncop for the update
|
||||||
*
|
*
|
||||||
* Returns:
|
* Returns:
|
||||||
* 0 - Device is available
|
* 0 - Device is available
|
||||||
* -ENODEV - Device is not available
|
* -ENODEV - Device is not available
|
||||||
*/
|
*/
|
||||||
static int nx842_OF_upd_status(struct nx842_devdata *devdata,
|
static int nx842_OF_upd_status(struct property *prop)
|
||||||
struct property *prop) {
|
{
|
||||||
int ret = 0;
|
|
||||||
const char *status = (const char *)prop->value;
|
const char *status = (const char *)prop->value;
|
||||||
|
|
||||||
if (!strncmp(status, "okay", (size_t)prop->length)) {
|
if (!strncmp(status, "okay", (size_t)prop->length))
|
||||||
devdata->status = AVAILABLE;
|
return 0;
|
||||||
} else {
|
if (!strncmp(status, "disabled", (size_t)prop->length))
|
||||||
/*
|
return -ENODEV;
|
||||||
* Caller will log that the device is disabled, so only
|
dev_info(devdata->dev, "%s: unknown status '%s'\n", __func__, status);
|
||||||
* 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -784,7 +766,7 @@ static int nx842_OF_upd(struct property *new_prop)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
/* Perform property updates */
|
/* Perform property updates */
|
||||||
ret = nx842_OF_upd_status(new_devdata, status);
|
ret = nx842_OF_upd_status(status);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto error_out;
|
goto error_out;
|
||||||
|
|
||||||
|
@ -1100,7 +1082,6 @@ static int __init nx842_pseries_init(void)
|
||||||
pr_err("Could not allocate memory for device data\n");
|
pr_err("Could not allocate memory for device data\n");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
new_devdata->status = UNAVAILABLE;
|
|
||||||
RCU_INIT_POINTER(devdata, new_devdata);
|
RCU_INIT_POINTER(devdata, new_devdata);
|
||||||
|
|
||||||
ret = vio_register_driver(&nx842_vio_driver);
|
ret = vio_register_driver(&nx842_vio_driver);
|
||||||
|
|
Loading…
Reference in a new issue