Michael Hunold wrote:
not exactly correct, you can still let the kernel automatically generate free major/minor pairs by passing major 0 to the registration routine.Hello Irek, On 06/25/04 08:56, Irek Defee wrote:It is strange that this issue has been downgraded comparing to kernel
2.4. For me it’s a huge factor not to upgrade to 2.6:).
The "problem" is that devfs in 2.4 has the "feature" that a device node is not tightly coupled to a major/minor pair. So if you select devfs-only support for DVB, then you can register as many adapters as you want.
This feature of devfs has been considered to be broken, so in 2.6 this
has been removed.
Because of this, we now only have 1 major and 256 minor numbers, limiting the number of DVB adapters with our current numbering scheme to 4 adapters.wrong, too.
So this is not the fault of the DVB developers.
:) not of all of them...
this would mean changing the public API due to major/minor reallocation and would require an entirely new API version, so that's probably better left for v4.But I would suggest to developers to take this into account and provide
direct plug-and-play support for more than 4 cards. 6 PCI slots is the
maximum amount in PC motherboards which also have on-board network
adapter. Thus, it is natural to think that high-end installations
may include 6 cards. Then, there are also more exotic server boards
with several PCI buses and they could take more than 6 cards which
could also be considered.
There are several possible solutions:
1) dev_t in 2.6 has now 32 bit (12 bit for the major and 20 bit for the minor number). See http://lwn.net/Articles/49684/. If we use this, users need to have an up-to-date glibc probably, at least they need a new mknod to create the device nodes properly.
2) Re-organize the device numbering, so that more adapters fit into 256 minor numbers. This would require non-devfs users to re-create their device nodes and would probably confuse many users.
dito.
sounds like a dirty hack and may introduce another couple of some hundret lines of hardly readable code in the dvbdev.[hc] files which are basically obsolete and don't do anything more than working around design flaws in the public device allocation APIs.3) Allocate another major number and handle adapters 5-8 there.