Date: Sun, 05 Aug 2001 17:17:16 +0100 From: Brian Somers <brian@Awfulhak.org> To: Dima Dorfman <dima@unixfreak.org> Cc: Brian Somers <brian@Awfulhak.org>, arch@FreeBSD.ORG, brian@freebsd-services.com, brian@freebsd-services.com Subject: Re: Library routine to load a kld if it already isn't Message-ID: <200108051617.f75GHGu44097@hak.lan.Awfulhak.org> In-Reply-To: Message from Dima Dorfman <dima@unixfreak.org> of "Sun, 05 Aug 2001 09:06:01 PDT." <20010805160606.C985F3E35@bazooka.unixfreak.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> Brian Somers <brian@Awfulhak.org> writes: > > > Programs that control a certain driver or set of drivers (e.g., > > > ifconfig, ccdconfig, mdconfig) attempt to load the module they'll be > > > working with if it isn't already present. They do it in different > > > ways, and the most correct way (i.e., the one that handles the most > > > cases properly) is liable to change if the kld subsystem ever changes. > > > I propose to add a library routine, kldmaybeload(3), that will check > > > if a certain module is present in the kernel, and load it if it isn't. > > > This will cut down on duplicated code, and may save some headaches > > > later if the kld interface changes. > > > > > > Sharball of the implementation and man page is attached (extract into > > > src/lib/libc/gen). Comments? Suggestions? > > > > This is normally done with: > > > > if (modfind("module") == -1 && ID0kldload("module") == -1) > > errx(); > > > > I don't think it's a good idea to change this. > > Only it's wrong in some cases. Some modules will have a bus attached > to their name, such as "pci/if_fxp", and modfind() won't find them > unless you give the full name. If it were just the simpler cases as > above, I probably wouldn't propose this; it's them more complex cases > where this would help. Hmm, what's the reasoning behind this. Is one of these an miibus based fxp and the other not ? If so, is the plan to deprecate one ? I find this bizarre - there's no trace of anything about this in NOTES or fxp(4). Nonetheless, shouldn't modfind() be made capable of doing it's job properly (finding "pci/if_fxp" if that's what's really required) ? -- Brian <brian@freebsd-services.com> <brian@Awfulhak.org> http://www.freebsd-services.com/ <brian@[uk.]FreeBSD.org> Don't _EVER_ lose your sense of humour ! <brian@[uk.]OpenBSD.org> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200108051617.f75GHGu44097>