[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>
This commit is contained in:

committed by
Mauro Carvalho Chehab

parent
cf2113ca56
commit
f51e80804f
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user