Messages in this thread | | | Date | Wed, 1 Feb 2006 16:44:44 +0100 | From | Aritz Bastida <> | Subject | Re: Right way to configure a driver? (sysfs, ioctl, proc, configfs,....) |
| |
> > Can't we just somewhat merge all the duplicated functionality between procfs, > > sysfs and configfs... > > What "duplicated functionality"? They all do different, unique things. > > Patches are always welcome... > > thanks, > > greg k-h >
May be not "duplicated functionality", but _yes_ lots of ways to do the same thing. I know, that's the magic with Linux, that there are different ways to achieve the same goal, but in an effort to write standard, generic, readable code, some ways should be preferred over others.
As I said in previous messages, my driver is a kind of virtual network device (imagine something like "snull" in LDD3) and my question was: what would be the right way to configure it? I know, i know, there is not a unique question for that, but I'm sure at least there are suggestions. Some years ago, maybe there was no alternative other than using system calls or ioctls, but the spectrum is a lot wider now.
I try to resume here the different ways that could be used, and their original purpose:
* IOCTLS: as far as I know, this is deprecated for new drivers, although it will still be there for a long time because of backward compatibility. * PROCFS: it has been used a lot apart from export process information, but it seems that finally this is moving toward some new filesystems (sysfs,configfs). * SYSFS: this is to export system information * CONFIGFS: this is to configure kernel modules/subsystems. This is new to me, and don't have it (at least by default) in my Linux 2.6.15 box (guess it will be in the menuconfig somewhere :P). * NETLINK: As far as I know this is used for configuring network devices, routers, firewalls, ...
I guess that, with what I know now (sure more than when I started this thread), the right ways could be either configfs or netlink. For my purposes netlink would be more convenient (since the communication link is bidirectional), but I still don't know if you guys think that this method is all right.
Bye Aritz - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |