[media] davinci: VPIF: fix module loading, init errors
Fix problems with automatic module loading by adding MODULE_ALIAS. Also fix various load-time errors cause by incorrect or not present platform_data. Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
Родитель
e3bb3cddd1
Коммит
bff782d78a
|
@ -32,6 +32,9 @@
|
|||
MODULE_DESCRIPTION("TI DaVinci Video Port Interface driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
#define VPIF_DRIVER_NAME "vpif"
|
||||
MODULE_ALIAS("platform:" VPIF_DRIVER_NAME);
|
||||
|
||||
#define VPIF_CH0_MAX_MODES 22
|
||||
#define VPIF_CH1_MAX_MODES 2
|
||||
#define VPIF_CH2_MAX_MODES 15
|
||||
|
@ -466,7 +469,7 @@ static const struct dev_pm_ops vpif_pm = {
|
|||
|
||||
static struct platform_driver vpif_driver = {
|
||||
.driver = {
|
||||
.name = "vpif",
|
||||
.name = VPIF_DRIVER_NAME,
|
||||
.pm = vpif_pm_ops,
|
||||
},
|
||||
.remove = vpif_remove,
|
||||
|
|
|
@ -41,6 +41,7 @@ module_param(debug, int, 0644);
|
|||
MODULE_PARM_DESC(debug, "Debug level 0-1");
|
||||
|
||||
#define VPIF_DRIVER_NAME "vpif_capture"
|
||||
MODULE_ALIAS("platform:" VPIF_DRIVER_NAME);
|
||||
|
||||
/* global variables */
|
||||
static struct vpif_device vpif_obj = { {NULL} };
|
||||
|
@ -643,6 +644,10 @@ static int vpif_input_to_subdev(
|
|||
|
||||
vpif_dbg(2, debug, "vpif_input_to_subdev\n");
|
||||
|
||||
if (!chan_cfg)
|
||||
return -1;
|
||||
if (input_index >= chan_cfg->input_count)
|
||||
return -1;
|
||||
subdev_name = chan_cfg->inputs[input_index].subdev_name;
|
||||
if (!subdev_name)
|
||||
return -1;
|
||||
|
@ -681,6 +686,9 @@ static int vpif_set_input(
|
|||
if (sd_index >= 0) {
|
||||
sd = vpif_obj.sd[sd_index];
|
||||
subdev_info = &vpif_cfg->subdev_info[sd_index];
|
||||
} else {
|
||||
/* no subdevice, no input to setup */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* first setup input path from sub device to vpif */
|
||||
|
@ -1426,6 +1434,11 @@ static __init int vpif_probe(struct platform_device *pdev)
|
|||
int res_idx = 0;
|
||||
int i, err;
|
||||
|
||||
if (!pdev->dev.platform_data) {
|
||||
dev_warn(&pdev->dev, "Missing platform data. Giving up.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
vpif_dev = &pdev->dev;
|
||||
|
||||
err = initialize_vpif();
|
||||
|
|
|
@ -42,6 +42,7 @@ module_param(debug, int, 0644);
|
|||
MODULE_PARM_DESC(debug, "Debug level 0-1");
|
||||
|
||||
#define VPIF_DRIVER_NAME "vpif_display"
|
||||
MODULE_ALIAS("platform:" VPIF_DRIVER_NAME);
|
||||
|
||||
/* Is set to 1 in case of SDTV formats, 2 in case of HDTV formats. */
|
||||
static int ycmux_mode;
|
||||
|
@ -1244,6 +1245,11 @@ static __init int vpif_probe(struct platform_device *pdev)
|
|||
int res_idx = 0;
|
||||
int i, err;
|
||||
|
||||
if (!pdev->dev.platform_data) {
|
||||
dev_warn(&pdev->dev, "Missing platform data. Giving up.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
vpif_dev = &pdev->dev;
|
||||
err = initialize_vpif();
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче