26 ways to set a device driver variable from userland

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There are so many ways to set a configuration value in a device driver. I'm wondering
which are "recommended" methods. I'm looking for some sort of guidance when writing a
new driver.  I kinda assume this is a FAQ, but I didn't see it anyway, maybe it should
be added to the FAQ.

OK there might not be 26 ways, but there's a few major ones. I'm thinking in term of
char devices so some of these might not apply to block and network drivers.

(1) ioctl, probably the oldest.
(2) use read/write to a special configuration-only /dev file (e.g. /dev/dvb)
(3) /proc filesystem
(4) sysfs
(5) module load-time command line options.

I understand that flexibility is a good thing, but some guidance would be helpful.

I sorta got the idea that /proc is "out" this year and sysfs is the "in" thing, but
what about the others?  Would you say that (2) should be be discouraged?  Did anyone
tell the DVB people that? Or maybe more is better, that is, a good driver should
allow for ALL of the above! (OK, yeah that was flame bait.)  Should EVERY variable
that can be modified by say sysfs also be settable by insmod command line?

Any guidance would be greatly appreciated,
Rick Niles.






-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux