Date: Sat, 16 Jul 2005 21:09:41 -0700 From: Nate Lawson <nate@root.org> To: "M. Warner Losh" <imp@bsdimp.com> Cc: freebsd-current@freebsd.org, harrycoin@qconline.com Subject: Re: mss.c pcm fix to ' attach returned 6 ' load failure for v5.x acpi and up Message-ID: <42D9DA05.1020806@root.org> In-Reply-To: <20050716.131701.124866666.imp@bsdimp.com> References: <20050716.113059.82101301.imp@bsdimp.com> <4.3.2.7.2.20050716124022.01f08460@mail.qconline.com> <20050716.125824.48530425.imp@bsdimp.com> <20050716.131701.124866666.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
M. Warner Losh wrote: > <the refs are wrong for this reply> > Nate writes: > >>I really think the driver is broken and the API is fine for this. I >>don't like the hack of returning a random CID for checks against the >>HID. Drivers down the road may come to rely on this and then every BIOS >>that has a different order for CIDs becomes a potential breakage point. > > > They alredy do rely on this. When they support pnp, they call the > ISA_PNP_PROBE routine. When they don't then your observation doesn't > matter because the order of the IDs doesn't matter: their non-zeroness > does. > > >>Drivers should not rely on isa_get_logicalid() to determine a boolean >>"is PNP?" > > > Actually, that's the interface. We have to follow it, even if you > think it is stupid. It is how we do things. When we don't have a > logicalid, we return 0. When drivers don't support pnp devices, it > uses the existance of a non-zero pnpid to know the device isn't for > them. It has been this way since 3.0. > > Warner Rather than John's addition of returning an arbitrary CID, can we return ~0 or some other obviously invalid HID so that drivers don't start depending on the order of CIDs? -- Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42D9DA05.1020806>