Commit 5bd8d2ab authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[media] radio-timb: actually load the requested subdevs

For some reason the tuner and dsp subdevs were never actually loaded.
Added the relevant code to do that.
Also remove bogus calls to video_device_release_empty().
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Cc: Richard Röjfors <richard.rojfors@pelagicore.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 38be65ab
...@@ -126,6 +126,15 @@ static int timbradio_probe(struct platform_device *pdev) ...@@ -126,6 +126,15 @@ static int timbradio_probe(struct platform_device *pdev)
tr->video_dev.v4l2_dev = &tr->v4l2_dev; tr->video_dev.v4l2_dev = &tr->v4l2_dev;
tr->sd_tuner = v4l2_i2c_new_subdev_board(&tr->v4l2_dev,
i2c_get_adapter(pdata->i2c_adapter), pdata->tuner, NULL);
tr->sd_dsp = v4l2_i2c_new_subdev_board(&tr->v4l2_dev,
i2c_get_adapter(pdata->i2c_adapter), pdata->dsp, NULL);
if (tr->sd_tuner == NULL || tr->sd_dsp == NULL)
goto err_video_req;
tr->v4l2_dev.ctrl_handler = tr->sd_dsp->ctrl_handler;
err = video_register_device(&tr->video_dev, VFL_TYPE_RADIO, -1); err = video_register_device(&tr->video_dev, VFL_TYPE_RADIO, -1);
if (err) { if (err) {
dev_err(&pdev->dev, "Error reg video\n"); dev_err(&pdev->dev, "Error reg video\n");
...@@ -138,7 +147,6 @@ static int timbradio_probe(struct platform_device *pdev) ...@@ -138,7 +147,6 @@ static int timbradio_probe(struct platform_device *pdev)
return 0; return 0;
err_video_req: err_video_req:
video_device_release_empty(&tr->video_dev);
v4l2_device_unregister(&tr->v4l2_dev); v4l2_device_unregister(&tr->v4l2_dev);
err: err:
dev_err(&pdev->dev, "Failed to register: %d\n", err); dev_err(&pdev->dev, "Failed to register: %d\n", err);
...@@ -151,10 +159,7 @@ static int timbradio_remove(struct platform_device *pdev) ...@@ -151,10 +159,7 @@ static int timbradio_remove(struct platform_device *pdev)
struct timbradio *tr = platform_get_drvdata(pdev); struct timbradio *tr = platform_get_drvdata(pdev);
video_unregister_device(&tr->video_dev); video_unregister_device(&tr->video_dev);
video_device_release_empty(&tr->video_dev);
v4l2_device_unregister(&tr->v4l2_dev); v4l2_device_unregister(&tr->v4l2_dev);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment