diff options
Diffstat (limited to 'drivers/crypto/caam/ctrl.c')
| -rw-r--r-- | drivers/crypto/caam/ctrl.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c index c5f61c55d92..77557ebcd33 100644 --- a/drivers/crypto/caam/ctrl.c +++ b/drivers/crypto/caam/ctrl.c @@ -98,6 +98,12 @@ static int caam_probe(struct platform_device *pdev)  	rspec = 0;  	for_each_compatible_node(np, NULL, "fsl,sec-v4.0-job-ring")  		rspec++; +	if (!rspec) { +		/* for backward compatible with device trees */ +		for_each_compatible_node(np, NULL, "fsl,sec4.0-job-ring") +			rspec++; +	} +  	ctrlpriv->jrdev = kzalloc(sizeof(struct device *) * rspec, GFP_KERNEL);  	if (ctrlpriv->jrdev == NULL) {  		iounmap(&topregs->ctrl); @@ -111,6 +117,13 @@ static int caam_probe(struct platform_device *pdev)  		ctrlpriv->total_jobrs++;  		ring++;  	} +	if (!ring) { +		for_each_compatible_node(np, NULL, "fsl,sec4.0-job-ring") { +			caam_jr_probe(pdev, np, ring); +			ctrlpriv->total_jobrs++; +			ring++; +		} +	}  	/* Check to see if QI present. If so, enable */  	ctrlpriv->qi_present = !!(rd_reg64(&topregs->ctrl.perfmon.comp_parms) & @@ -226,6 +239,9 @@ static struct of_device_id caam_match[] = {  	{  		.compatible = "fsl,sec-v4.0",  	}, +	{ +		.compatible = "fsl,sec4.0", +	},  	{},  };  MODULE_DEVICE_TABLE(of, caam_match);  |