aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/platform
diff options
context:
space:
mode:
authorGravatar Hans Verkuil <hans.verkuil@cisco.com> 2016-11-25 06:23:34 -0200
committerGravatar Mauro Carvalho Chehab <mchehab@s-opensource.com> 2016-11-29 12:07:17 -0200
commitf51e80804f084de269954d875c0892b081b7df3c (patch)
treecc8711c8323e5ff7fb69599b7dc2aa88c9fd438e /drivers/media/platform
parent[media] uvcvideo: freeing an error pointer (diff)
downloadlinux-f51e80804f084de269954d875c0892b081b7df3c.tar.gz
linux-f51e80804f084de269954d875c0892b081b7df3c.tar.bz2
linux-f51e80804f084de269954d875c0892b081b7df3c.zip
[media] cec: pass parent device in register(), not allocate()
The cec_allocate_adapter function doesn't need the parent device, only the cec_register_adapter function needs it. Drop the cec_devnode parent field, since devnode.dev.parent can be used instead. This change makes the framework consistent with other frameworks where the parent device is not used until the device is registered. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/platform')
-rw-r--r--drivers/media/platform/vivid/vivid-cec.c3
-rw-r--r--drivers/media/platform/vivid/vivid-cec.h1
-rw-r--r--drivers/media/platform/vivid/vivid-core.c9
3 files changed, 5 insertions, 8 deletions
diff --git a/drivers/media/platform/vivid/vivid-cec.c b/drivers/media/platform/vivid/vivid-cec.c
index f9f878b8e0a7..cb4933592a3c 100644
--- a/drivers/media/platform/vivid/vivid-cec.c
+++ b/drivers/media/platform/vivid/vivid-cec.c
@@ -216,7 +216,6 @@ static const struct cec_adap_ops vivid_cec_adap_ops = {
struct cec_adapter *vivid_cec_alloc_adap(struct vivid_dev *dev,
unsigned int idx,
- struct device *parent,
bool is_source)
{
char name[sizeof(dev->vid_out_dev.name) + 2];
@@ -227,5 +226,5 @@ struct cec_adapter *vivid_cec_alloc_adap(struct vivid_dev *dev,
is_source ? dev->vid_out_dev.name : dev->vid_cap_dev.name,
idx);
return cec_allocate_adapter(&vivid_cec_adap_ops, dev,
- name, caps, 1, parent);
+ name, caps, 1);
}
diff --git a/drivers/media/platform/vivid/vivid-cec.h b/drivers/media/platform/vivid/vivid-cec.h
index 97892afa6b3b..3926b1422777 100644
--- a/drivers/media/platform/vivid/vivid-cec.h
+++ b/drivers/media/platform/vivid/vivid-cec.h
@@ -20,7 +20,6 @@
#ifdef CONFIG_VIDEO_VIVID_CEC
struct cec_adapter *vivid_cec_alloc_adap(struct vivid_dev *dev,
unsigned int idx,
- struct device *parent,
bool is_source);
void vivid_cec_bus_free_work(struct vivid_dev *dev);
diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c
index b8ef836766df..51e37812ec98 100644
--- a/drivers/media/platform/vivid/vivid-core.c
+++ b/drivers/media/platform/vivid/vivid-core.c
@@ -1167,12 +1167,12 @@ static int vivid_create_instance(struct platform_device *pdev, int inst)
if (in_type_counter[HDMI]) {
struct cec_adapter *adap;
- adap = vivid_cec_alloc_adap(dev, 0, &pdev->dev, false);
+ adap = vivid_cec_alloc_adap(dev, 0, false);
ret = PTR_ERR_OR_ZERO(adap);
if (ret < 0)
goto unreg_dev;
dev->cec_rx_adap = adap;
- ret = cec_register_adapter(adap);
+ ret = cec_register_adapter(adap, &pdev->dev);
if (ret < 0) {
cec_delete_adapter(adap);
dev->cec_rx_adap = NULL;
@@ -1222,13 +1222,12 @@ static int vivid_create_instance(struct platform_device *pdev, int inst)
if (dev->output_type[i] != HDMI)
continue;
dev->cec_output2bus_map[i] = bus_cnt;
- adap = vivid_cec_alloc_adap(dev, bus_cnt,
- &pdev->dev, true);
+ adap = vivid_cec_alloc_adap(dev, bus_cnt, true);
ret = PTR_ERR_OR_ZERO(adap);
if (ret < 0)
goto unreg_dev;
dev->cec_tx_adap[bus_cnt] = adap;
- ret = cec_register_adapter(adap);
+ ret = cec_register_adapter(adap, &pdev->dev);
if (ret < 0) {
cec_delete_adapter(adap);
dev->cec_tx_adap[bus_cnt] = NULL;