forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/media/platform/sti/delta/delta-v4l2.c
....@@ -385,8 +385,8 @@
385385 struct delta_ctx *ctx = to_ctx(file->private_data);
386386 struct delta_dev *delta = ctx->dev;
387387
388
- strlcpy(cap->driver, DELTA_NAME, sizeof(cap->driver));
389
- strlcpy(cap->card, delta->vdev->name, sizeof(cap->card));
388
+ strscpy(cap->driver, DELTA_NAME, sizeof(cap->driver));
389
+ strscpy(cap->card, delta->vdev->name, sizeof(cap->card));
390390 snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s",
391391 delta->pdev->name);
392392
....@@ -1783,7 +1783,7 @@
17831783 snprintf(vdev->name, sizeof(vdev->name), "%s-%s",
17841784 DELTA_NAME, DELTA_FW_VERSION);
17851785
1786
- ret = video_register_device(vdev, VFL_TYPE_GRABBER, -1);
1786
+ ret = video_register_device(vdev, VFL_TYPE_VIDEO, -1);
17871787 if (ret) {
17881788 dev_err(delta->dev, "%s failed to register video device\n",
17891789 DELTA_PREFIX);
....@@ -1862,7 +1862,7 @@
18621862 if (ret) {
18631863 dev_err(delta->dev, "%s failed to initialize firmware ipc channel\n",
18641864 DELTA_PREFIX);
1865
- goto err;
1865
+ goto err_pm_disable;
18661866 }
18671867
18681868 /* register all available decoders */
....@@ -1876,7 +1876,7 @@
18761876 if (ret) {
18771877 dev_err(delta->dev, "%s failed to register V4L2 device\n",
18781878 DELTA_PREFIX);
1879
- goto err;
1879
+ goto err_pm_disable;
18801880 }
18811881
18821882 delta->work_queue = create_workqueue(DELTA_NAME);
....@@ -1901,6 +1901,8 @@
19011901 destroy_workqueue(delta->work_queue);
19021902 err_v4l2:
19031903 v4l2_device_unregister(&delta->v4l2_dev);
1904
+err_pm_disable:
1905
+ pm_runtime_disable(dev);
19041906 err:
19051907 return ret;
19061908 }