Date: Thu, 03 Jun 2004 09:29:54 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: des@des.no Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/fxp if_fxp.c if_fxpvar.h Message-ID: <20040603.092954.114645644.imp@bsdimp.com> In-Reply-To: <xzp7juo8y8r.fsf@dwp.des.no> References: <xzpy8n5knp1.fsf@dwp.des.no> <20040603.091250.82990500.imp@bsdimp.com> <xzp7juo8y8r.fsf@dwp.des.no>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <xzp7juo8y8r.fsf@dwp.des.no> des@des.no (Dag-Erling Sm=F8rgrav) writes: : "M. Warner Losh" <imp@bsdimp.com> writes: : > des@des.no (Dag-Erling Sm=F8rgrav) writes: : > : Scott Long <scottl@freebsd.org> writes: : > : This should be fairly easy to do. I'll try to come up with some : > : patches. : > How about an API? How does the driver deal with the global/instanc= e : > variable split? If I set dev.fxp.gerbil to 1 and dev.fxp.1.gerbil = to : > 23? Is that order dependent? : = : that's up to the driver author to decide. That's why I want to know the API the driver will use so that it can be judged as sufficient or not. I also think we should have some kind of default design pattern. It would also be good to have some hook to the boot loader tunables as well. This is easy to do for static ones, but non-static ones need some glue to make it happen. : so far, what I think I'll do is give each devclass its own context an= d : node, and place each device's node below the devclass's node, so you : get : = : dev.fxp.foo : dev.fxp.fxp0.%desc : dev.fxp.fxp0.%driver : dev.fxp.fxp0.%location : dev.fxp.fxp0.bar : = : you can't have the driver be the parent, because some devices have no= : driver (but they all have a class), and I want to use dev.fxp.fxp0 : instead of dev.fxp.0 on the off chance that there might be multiple : devices in a class with the same unit number but different names. That can't happen. If it does, I want other things to break as well so we notice when it does. I'd rather see symetry with the hints mechanism. Although it is safe to assume that people have written drivers with numbers in them. We have tsc2011, tsc2050, etc for some of the modules that we do and this has worked since 3.x at least. These names will work either way with your way or my way, but I wanted to point it out. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040603.092954.114645644.imp>