diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0008-crypto-caam-use-devres-to-populate-platform-devices.patch b/target/linux/layerscape/patches-5.4/804-crypto-0008-crypto-caam-use-devres-to-populate-platform-devices.patch
new file mode 100644
index 0000000..c3a8ba2
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0008-crypto-caam-use-devres-to-populate-platform-devices.patch
@@ -0,0 +1,96 @@
+From 7200bc3a88315a59e7094bf111c7816f0298923f Mon Sep 17 00:00:00 2001
+From: Andrey Smirnov <andrew.smirnov@gmail.com>
+Date: Tue, 22 Oct 2019 08:30:12 -0700
+Subject: [PATCH] crypto: caam - use devres to populate platform devices
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use devres to de-initialize the RNG and drop explicit de-initialization
+code in caam_remove().
+
+Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
+Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
+Cc: Chris Healy <cphealy@gmail.com>
+Cc: Lucas Stach <l.stach@pengutronix.de>
+Cc: Horia Geantă <horia.geanta@nxp.com>
+Cc: Herbert Xu <herbert@gondor.apana.org.au>
+Cc: Iuliana Prodan <iuliana.prodan@nxp.com>
+Cc: linux-crypto@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+(cherry picked from commit 1a1c4f004444ebb962a02b7fc6d534e0f2ed9acb)
+---
+ drivers/crypto/caam/ctrl.c | 26 +++-----------------------
+ 1 file changed, 3 insertions(+), 23 deletions(-)
+
+--- a/drivers/crypto/caam/ctrl.c
++++ b/drivers/crypto/caam/ctrl.c
+@@ -321,20 +321,6 @@ static int instantiate_rng(struct device
+ 	return ret;
+ }
+ 
+-static int caam_remove(struct platform_device *pdev)
+-{
+-	struct device *ctrldev;
+-	struct caam_drv_private *ctrlpriv;
+-
+-	ctrldev = &pdev->dev;
+-	ctrlpriv = dev_get_drvdata(ctrldev);
+-
+-	/* Remove platform devices under the crypto node */
+-	of_platform_depopulate(ctrldev);
+-
+-	return 0;
+-}
+-
+ /*
+  * kick_trng - sets the various parameters for enabling the initialization
+  *	       of the RNG4 block in CAAM
+@@ -759,7 +745,7 @@ static int caam_probe(struct platform_de
+ #endif
+ 	}
+ 
+-	ret = of_platform_populate(nprop, caam_match, NULL, dev);
++	ret = devm_of_platform_populate(dev);
+ 	if (ret) {
+ 		dev_err(dev, "JR platform devices creation error\n");
+ 		return ret;
+@@ -781,8 +767,7 @@ static int caam_probe(struct platform_de
+ 	/* If no QI and no rings specified, quit and go home */
+ 	if ((!ctrlpriv->qi_present) && (!ctrlpriv->total_jobrs)) {
+ 		dev_err(dev, "no queues configured, terminating\n");
+-		ret = -ENOMEM;
+-		goto caam_remove;
++		return -ENOMEM;
+ 	}
+ 
+ 	if (ctrlpriv->era < 10)
+@@ -845,7 +830,7 @@ static int caam_probe(struct platform_de
+ 		} while ((ret == -EAGAIN) && (ent_delay < RTSDCTL_ENT_DLY_MAX));
+ 		if (ret) {
+ 			dev_err(dev, "failed to instantiate RNG");
+-			goto caam_remove;
++			return ret;
+ 		}
+ 		/*
+ 		 * Set handles init'ed by this module as the complement of the
+@@ -919,10 +904,6 @@ static int caam_probe(struct platform_de
+ 			    &ctrlpriv->ctl_tdsk_wrap);
+ #endif
+ 	return 0;
+-
+-caam_remove:
+-	caam_remove(pdev);
+-	return ret;
+ }
+ 
+ static struct platform_driver caam_driver = {
+@@ -931,7 +912,6 @@ static struct platform_driver caam_drive
+ 		.of_match_table = caam_match,
+ 	},
+ 	.probe       = caam_probe,
+-	.remove      = caam_remove,
+ };
+ 
+ module_platform_driver(caam_driver);
