[systemd-devel] systemd inquiry
markh at compro.net
Tue Apr 10 13:55:42 PDT 2012
On 04/10/2012 10:52 AM, Kay Sievers wrote:
> On Tue, Apr 10, 2012 at 16:26, Mark Hounschell<markh at compro.net> wrote:
>> On 04/10/2012 09:10 AM, Kay Sievers wrote:
>>> We do not support any kernel device driver which does not create the
>>> device nodes on its own from inside the kernel. Such drivers cause
>>> problems and will fail for various non-interesting reasons. You really
>>> must hook up the kernel driver to register the devices with the kernel
>>> driver-core; it's just a few lines to add.
>> Ya, I've thought about this. We have actually converted all our drivers to
>> do this in kernel. This one is actually a 3rd party driver that we've had to
>> maintain because the original mfgr no longer does. Even though they still
>> make the cards. Anyway, I suspect this type of issue won't just go away
>> because of what your saying here so the info that Colin is giving is very
>> useful to me and others may also find it useful. For the sake of myself I
>> will be attempting to use what Colin has suggested, but then also maybe
>> reevaluate fixing up the driver. It just uses so many device nodes that I
>> would rather it all be done in user land. Earlier I said around 30 device
>> nodes per card but it is actually around 180 per card with many different
>> majors and minors. Forcing the kernel module to implement this would for
>> sure be a very messy thing.
> No, not at all.
> You register cdevs (or blockdevs) in the kernel anyway, otherwise the
> userspace-created nodes would not do anything when you open them. At
> the very same time you register the cdev (blockdev) minor you just
> register the node (with struct device) in the kernel. It's just a few
> lines on top of what you do anyway.
> There is no general problem to create 100s or 1000s of nodes per device.
Yes, I understand what has to be done to the driver to make it create
it's own device nodes as I've already done the conversion on all our
other drivers I maintain. I've decided to go ahead and do the conversion
to this one also, at least for the device nodes I actually need. %99 of
them, I don't need or use. I'll post the results when I'm done.
Thanks and Regards
More information about the systemd-devel