Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Apr 1998 07:22:26 +0200 (MET DST)
From:      Luigi Rizzo <luigi@labinfo.iet.unipi.it>
To:        archie@whistle.com (Archie Cobbs)
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: PnP driver question
Message-ID:  <199804100522.HAA07607@labinfo.iet.unipi.it>
In-Reply-To: <199804092038.NAA29720@bubba.whistle.com> from "Archie Cobbs" at Apr 9, 98 01:38:18 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> Need a little help understanding how to write a PnP aware device driver.
> 
> Suppose I have a PnP card that I want to do a self-test on before
> claiming that it's been officially detected. Since the attach() routine
> in struct pnp_device returns NULL, then this has to be done in the
> probe routine, right?
> 
> In order to talk to the card to do the self-test, I have to set
> the PnP params and enable the card during the probe routine... 
> 
> My question is.. is this safe? Is this this right way to proceed?
> 
> I'm wondering because in Luigi's paper "PnP support in FreeBSD",
> the example has a very simple probe routine (which just compares the
> unqiue identifiers), while the attach routine does all the initialization
> work.

i am not quite sure if mine is the correct way. However, after some
thinking, i took the following decisions:
  - the probe routines should avoid changing the configuration of
    PnP devices, since this belongs elsewhere. Pragmatically,
    I do not enable anything, but allow a driver to disable resources
    that the driver does not use (e.g. in the case of audio driver, all
    the synth/midi stuff for which i currently have no support.

  - the probe routine, for non-pnp devices, just tries to figure out if
    the device is there and it is properly configured. Since PnP tells
    you all of this, there is little to be done in the probe routine,
    so the only thing is to check the PnP id

  - the attach routine does all the initialization. Unfortunately
    there is no check on the return code from the isa attach routine,
    so you cannot report up if the attach fails...

	cheers
	luigi
-----------------------------+--------------------------------------
Luigi Rizzo                  |  Dip. di Ingegneria dell'Informazione
email: luigi@iet.unipi.it    |  Universita' di Pisa
tel: +39-50-568533           |  via Diotisalvi 2, 56126 PISA (Italy)
fax: +39-50-568522           |  http://www.iet.unipi.it/~luigi/
_____________________________|______________________________________

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199804100522.HAA07607>