• 出现原因:

    内核启动时,usb摄像头识别比mipi摄像头快的话就会占用**/dev/video0**这个设备描述

  • 解决办法:

    将usb设备分配的设备号迁移至**/dev/video32+,让usb注册的video设备全部改成在32**之后

  • 修改过程

路径:

/kernel/drivers/media/usb/uvc/uvc_driver.c

/kernel/drivers/media/usb/uvc/uvcvideo.h

uvc_driver.c:2119

- ret = video_register_device(vdev, VFL_TYPE_VIDEO, -1);
+ ret = video_register_device(vdev, VFL_TYPE_VIDEO, UVC_VIDEO_NODE_NR);

uvcvideo.h

+ /* Reserve /dev/video0-31 for on-board devices (MIPI rkcif etc.).
+  * USB UVC cameras always register from nr 32 upward, so the MIPI
+  * camera keeps /dev/video0 regardless of probe order. */
+ #define UVC_VIDEO_NODE_NR		32
+

防止重复打印

/kernel/drivers/media/platform/rockchip/cif/capture.c

4455 - v4l2_info(&dev->v4l2_dev, "%s %d, state %d, curr_buf %p, next_buf %p\n",
4455 + v4l2_dbg(3, rkcif_debug, &dev->v4l2_dev,
4456 + 		"%s %d, state %d, curr_buf %p, next_buf %p\n",