diff options
Diffstat (limited to 'drivers/crypto/caam/ctrl.c')
-rw-r--r-- | drivers/crypto/caam/ctrl.c | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c index afa3b38a35..24a01ca094 100644 --- a/drivers/crypto/caam/ctrl.c +++ b/drivers/crypto/caam/ctrl.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * CAAM control-plane driver backend * Controller-level driver, kernel property detection, initialization @@ -25,6 +26,12 @@ bool caam_little_end; EXPORT_SYMBOL(caam_little_end); +bool caam_imx = true; +EXPORT_SYMBOL(caam_imx); + +size_t caam_ptr_sz = 4; +EXPORT_SYMBOL(caam_ptr_sz); + /* * Descriptor to instantiate RNG State Handle 0 in normal mode and * load the JDKEK, TDKEK and TDSK registers @@ -74,7 +81,7 @@ static void build_instantiation_desc(u32 *desc, int handle, int do_sk) * - -ENODEV if the DECO couldn't be acquired * - -EAGAIN if an error occurred while executing the descriptor */ -static inline int run_descriptor_deco0(struct device_d *ctrldev, u32 *desc, +static inline int run_descriptor_deco0(struct device *ctrldev, u32 *desc, u32 *status) { struct caam_drv_private *ctrlpriv = ctrldev->priv; @@ -170,7 +177,7 @@ static inline int run_descriptor_deco0(struct device_d *ctrldev, u32 *desc, * f.i. there was a RNG hardware error due to not "good enough" * entropy being aquired. */ -static int instantiate_rng(struct device_d *ctrldev, int state_handle_mask, +static int instantiate_rng(struct device *ctrldev, int state_handle_mask, int gen_sk) { struct caam_drv_private *ctrlpriv = ctrldev->priv; @@ -221,7 +228,7 @@ static int instantiate_rng(struct device_d *ctrldev, int state_handle_mask, return ret; } -static void caam_remove(struct device_d *dev) +static void caam_remove(struct device *dev) { struct caam_drv_private *ctrlpriv = dev->priv; @@ -240,7 +247,7 @@ static void caam_remove(struct device_d *dev) * @pdev - pointer to the platform device * @ent_delay - Defines the length (in system clocks) of each entropy sample. */ -static void kick_trng(struct device_d *ctrldev, int ent_delay) +static void kick_trng(struct device *ctrldev, int ent_delay) { struct caam_drv_private *ctrlpriv = ctrldev->priv; struct caam_ctrl __iomem *ctrl; @@ -349,7 +356,7 @@ static int caam_get_era(struct caam_ctrl __iomem *ctrl) } /* Probe routine for CAAM top (controller) level */ -static int caam_probe(struct device_d *dev) +static int caam_probe(struct device *dev) { int ret, ring, rspec, gen_sk, ent_delay = RTSDCTL_ENT_DLY_MIN; u64 caam_id; @@ -365,7 +372,7 @@ static int caam_probe(struct device_d *dev) dev->priv = ctrlpriv; ctrlpriv->pdev = dev; - nprop = dev->device_node; + nprop = dev->of_node; ctrlpriv->caam_ipg = clk_get(dev, "ipg"); if (IS_ERR(ctrlpriv->caam_ipg)) { @@ -524,14 +531,14 @@ static int caam_probe(struct device_d *dev) of_device_is_compatible(np, "fsl,sec4.0-job-ring")) rspec++; - ctrlpriv->jrpdev = xzalloc(sizeof(struct device_d *) * rspec); + ctrlpriv->jrpdev = xzalloc(sizeof(struct device *) * rspec); ring = 0; ctrlpriv->total_jobrs = 0; for_each_available_child_of_node(nprop, np) { if (of_device_is_compatible(np, "fsl,sec-v4.0-job-ring") || of_device_is_compatible(np, "fsl,sec4.0-job-ring")) { - struct device_d *jrdev; + struct device *jrdev; jrdev = of_platform_device_create(np, dev); if (!jrdev) @@ -688,8 +695,9 @@ static __maybe_unused struct of_device_id caam_match[] = { }, {}, }; +MODULE_DEVICE_TABLE(of, caam_match); -static struct driver_d caam_driver = { +static struct driver caam_driver = { .name = "caam", .probe = caam_probe, .of_compatible = DRV_OF_COMPAT(caam_match), |