summaryrefslogtreecommitdiff
path: root/drivers/crypto
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2020-07-13 11:34:25 +0300
committerHerbert Xu <herbert@gondor.apana.org.au>2020-07-23 10:34:17 +0300
commitfd92028e4c0cbbe498cc622369baff6b395e88e6 (patch)
tree6eaa18b8f826ec20dad890ee25897ab25a9f18b2 /drivers/crypto
parentd2c8ac187fc922e73930a1b2f6a211e27f595d01 (diff)
downloadlinux-fd92028e4c0cbbe498cc622369baff6b395e88e6.tar.xz
crypto: sa2ul - add device links to child devices
The child devices for sa2ul (like the RNG) have hard dependency towards the parent, they can't function without the parent enabled. Add device link for this purpose so that the dependencies are taken care of properly. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/sa2ul.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/crypto/sa2ul.c b/drivers/crypto/sa2ul.c
index fb4c0aba9048..ebcdffcdb686 100644
--- a/drivers/crypto/sa2ul.c
+++ b/drivers/crypto/sa2ul.c
@@ -2302,6 +2302,15 @@ err_dma_tx:
return ret;
}
+static int sa_link_child(struct device *dev, void *data)
+{
+ struct device *parent = data;
+
+ device_link_add(dev, parent, DL_FLAG_AUTOPROBE_CONSUMER);
+
+ return 0;
+}
+
static int sa_ul_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
@@ -2352,6 +2361,8 @@ static int sa_ul_probe(struct platform_device *pdev)
if (ret)
goto release_dma;
+ device_for_each_child(&pdev->dev, &pdev->dev, sa_link_child);
+
return 0;
release_dma: