diff options
author | Álvaro Fernández Rojas <noltari@gmail.com> | 2020-05-28 19:08:55 +0200 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2020-05-28 19:12:43 +0200 |
commit | 77e97abf129c5028385dd72587eabab68db0d954 (patch) | |
tree | fc52a8c2ba346da77281f00538a1eb6de49deb5d /target/linux/bcm27xx/patches-5.4/950-0305-staging-bcm2835-codec-Pass-driver-context-to-create-.patch | |
parent | 5d3a0c6b26144eb5d62515b99613b5ad8dbdc717 (diff) | |
download | upstream-77e97abf129c5028385dd72587eabab68db0d954.tar.gz upstream-77e97abf129c5028385dd72587eabab68db0d954.tar.bz2 upstream-77e97abf129c5028385dd72587eabab68db0d954.zip |
bcm27xx: update to latest patches from RPi foundation
Also removes random module and switches to new bcm2711 thermal driver.
Boot tested on RPi 4B v1.1 4G.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0305-staging-bcm2835-codec-Pass-driver-context-to-create-.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0305-staging-bcm2835-codec-Pass-driver-context-to-create-.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0305-staging-bcm2835-codec-Pass-driver-context-to-create-.patch b/target/linux/bcm27xx/patches-5.4/950-0305-staging-bcm2835-codec-Pass-driver-context-to-create-.patch new file mode 100644 index 0000000000..a0b86db2d6 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0305-staging-bcm2835-codec-Pass-driver-context-to-create-.patch @@ -0,0 +1,61 @@ +From aebdaf3bf7931e42b6787d1f1554de03e84422c7 Mon Sep 17 00:00:00 2001 +From: Kieran Bingham <kieran.bingham@ideasonboard.com> +Date: Wed, 20 Mar 2019 11:35:26 +0000 +Subject: [PATCH] staging: bcm2835-codec: Pass driver context to create + entities + +Pass the bcm2835_codec_driver driver context directly into the +bcm2835_codec_create() so that it can be used to store driver global +state. Pass the struct platform_device *pdev by adding it to the driver +global state. + +Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> +--- + .../bcm2835-codec/bcm2835-v4l2-codec.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c ++++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +@@ -457,6 +457,8 @@ struct bcm2835_codec_ctx { + }; + + struct bcm2835_codec_driver { ++ struct platform_device *pdev; ++ + struct bcm2835_codec_dev *encode; + struct bcm2835_codec_dev *decode; + struct bcm2835_codec_dev *isp; +@@ -2587,10 +2589,11 @@ destroy_component: + return ret; + } + +-static int bcm2835_codec_create(struct platform_device *pdev, ++static int bcm2835_codec_create(struct bcm2835_codec_driver *drv, + struct bcm2835_codec_dev **new_dev, + enum bcm2835_codec_role role) + { ++ struct platform_device *pdev = drv->pdev; + struct bcm2835_codec_dev *dev; + struct video_device *vfd; + int video_nr; +@@ -2711,15 +2714,17 @@ static int bcm2835_codec_probe(struct pl + if (!drv) + return -ENOMEM; + +- ret = bcm2835_codec_create(pdev, &drv->decode, DECODE); ++ drv->pdev = pdev; ++ ++ ret = bcm2835_codec_create(drv, &drv->decode, DECODE); + if (ret) + goto out; + +- ret = bcm2835_codec_create(pdev, &drv->encode, ENCODE); ++ ret = bcm2835_codec_create(drv, &drv->encode, ENCODE); + if (ret) + goto out; + +- ret = bcm2835_codec_create(pdev, &drv->isp, ISP); ++ ret = bcm2835_codec_create(drv, &drv->isp, ISP); + if (ret) + goto out; + |