V4L/DVB (9133): v4l: disconnect kernel number from minor
authorHans Verkuil <hverkuil@xs4all.nl>
Sat, 4 Oct 2008 11:36:54 +0000 (08:36 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 12 Oct 2008 11:37:16 +0000 (09:37 -0200)
commitdd89601d47e2eeab7c17b25f2549444751bcffe4
treeda21e8b17e49d175f5b8cbd14a772bf00f7fb63a
parente86a93dc3c870c412592c1f298c1425d80c58c6e
V4L/DVB (9133): v4l: disconnect kernel number from minor

The v4l core creates four different video devices (video, vbi, radio, vtx)
and each has its own range of minor numbers. However, modern devices keep
increasing the number of devices that they need so a maximum of 64 video
devices will not be enough in the future. In addition this scheme makes
it very hard to add new device types.

This patch disconnects the kernel number allocation (e.g. video0, video1,
etc.) from the actual minor number (just pick the first free minor).

This allows for much more flexibility in the future. However, it does
require the use of udev. For those who cannot use udev a new CONFIG option
was created that changes the allocation scheme back to the old behavior.

Thanks to Greg KH for suggesting this approach during the 2008 LPC.

In addition, several bugs were fixed in the ivtv and cx18 drivers: these
drivers try to allocate specific kernel numbers but that scheme contained
a bug which caused what should have been e.g. video17 to appear as e.g.
video2.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/Kconfig
drivers/media/video/cx18/cx18-driver.c
drivers/media/video/cx18/cx18-streams.c
drivers/media/video/em28xx/em28xx-video.c
drivers/media/video/ivtv/ivtv-driver.c
drivers/media/video/ivtv/ivtv-streams.c
drivers/media/video/v4l2-dev.c
include/media/v4l2-dev.h