crypto: mv_cesa - explicitly define kirkwood and dove compatible strings
authorBoris BREZILLON <boris.brezillon@free-electrons.com>
Thu, 18 Jun 2015 13:46:19 +0000 (15:46 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 19 Jun 2015 14:18:02 +0000 (22:18 +0800)
We are about to add a new driver to support new features like using the
TDMA engine to offload the CPU.
Orion, Dove and Kirkwood platforms are already using the mv_cesa driver,
but Orion SoCs do not embed the TDMA engine, which means we will have to
differentiate them if we want to get TDMA support on Dove and Kirkwood.
In the other hand, the migration from the old driver to the new one is not
something all people are willing to do without first auditing the new
driver.
Hence we have to support the new compatible in the mv_cesa driver so that
new platforms with updated DTs can still attach their crypto engine device
to this driver.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Documentation/devicetree/bindings/crypto/mv_cesa.txt
drivers/crypto/mv_cesa.c

index 13b8fc5ddcf21f9b848601b9e319ebbacbe013b0..c0c35f00335bfe0e66994bff1bfb4540db5dfea3 100644 (file)
@@ -1,7 +1,10 @@
 Marvell Cryptographic Engines And Security Accelerator
 
 Required properties:
-- compatible : should be "marvell,orion-crypto"
+- compatible: should be one of the following string
+             "marvell,orion-crypto"
+             "marvell,kirkwood-crypto"
+             "marvell,dove-crypto"
 - reg: base physical address of the engine and length of memory mapped
        region. Can also contain an entry for the SRAM attached to the CESA,
        but this representation is deprecated and marvell,crypto-srams should
index e31d82c1eebe600f825303c65fbe61437075fe22..5bcd575fa96f1b80d3e9a15cabc2898c79d50fdf 100644 (file)
@@ -1034,7 +1034,7 @@ static int mv_cesa_get_sram(struct platform_device *pdev,
                             &sram_size);
 
        cp->sram_size = sram_size;
-       cp->sram_pool = of_get_named_gen_pool(&pdev->dev.of_node,
+       cp->sram_pool = of_get_named_gen_pool(pdev->dev.of_node,
                                              "marvell,crypto-srams", 0);
        if (cp->sram_pool) {
                cp->sram = gen_pool_dma_alloc(cp->sram_pool, sram_size,
@@ -1197,6 +1197,8 @@ static int mv_remove(struct platform_device *pdev)
 
 static const struct of_device_id mv_cesa_of_match_table[] = {
        { .compatible = "marvell,orion-crypto", },
+       { .compatible = "marvell,kirkwood-crypto", },
+       { .compatible = "marvell,dove-crypto", },
        {}
 };
 MODULE_DEVICE_TABLE(of, mv_cesa_of_match_table);