root/dev/puc/lpt_puc.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. lpt_puc_probe
  2. lpt_puc_attach
  3. lpt_puc_detach

    1 /*      $OpenBSD: lpt_puc.c,v 1.4 2006/07/31 11:06:36 mickey Exp $      */
    2 /*      $NetBSD: lpt_puc.c,v 1.1 1998/06/26 18:52:41 cgd Exp $  */
    3 
    4 /*
    5  * Copyright (c) 1998 Christopher G. Demetriou.  All rights reserved.
    6  *
    7  * Redistribution and use in source and binary forms, with or without
    8  * modification, are permitted provided that the following conditions
    9  * are met:
   10  * 1. Redistributions of source code must retain the above copyright
   11  *    notice, this list of conditions and the following disclaimer.
   12  * 2. Redistributions in binary form must reproduce the above copyright
   13  *    notice, this list of conditions and the following disclaimer in the
   14  *    documentation and/or other materials provided with the distribution.
   15  * 3. All advertising materials mentioning features or use of this software
   16  *    must display the following acknowledgement:
   17  *      This product includes software developed by Christopher G. Demetriou
   18  *      for the NetBSD Project.
   19  * 4. The name of the author may not be used to endorse or promote products
   20  *    derived from this software without specific prior written permission
   21  *
   22  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   23  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   24  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   25  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   26  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   27  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   28  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   29  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   30  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   31  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   32  */
   33 
   34 /*
   35  * Machine-independent parallel port ('lpt') driver attachment to "PCI 
   36  * Universal Communications" controller driver.
   37  *
   38  * Author: Christopher G. Demetriou, May 17, 1998.
   39  */
   40 
   41 #include <sys/types.h>
   42 #include <sys/param.h>
   43 #include <sys/systm.h>
   44 #include <sys/device.h>
   45 
   46 #include <machine/bus.h>
   47 
   48 #include <dev/pci/pucvar.h>
   49 #include <dev/ic/lptreg.h>
   50 #include <dev/ic/lptvar.h>
   51 
   52 int     lpt_puc_probe(struct device *, void *, void *);
   53 void    lpt_puc_attach(struct device *, struct device *, void *);
   54 int     lpt_puc_detach(struct device *, int);
   55 
   56 struct cfattach lpt_puc_ca = {
   57         sizeof(struct lpt_softc), lpt_puc_probe, lpt_puc_attach, lpt_puc_detach
   58 };
   59 
   60 int
   61 lpt_puc_probe(parent, match, aux)
   62         struct device *parent;
   63         void *match, *aux;
   64 {
   65         struct puc_attach_args *aa = aux;
   66 
   67         /*
   68          * Locators already matched, just check the type.
   69          */
   70         if (aa->type != PUC_PORT_TYPE_LPT)
   71                 return (0);
   72 
   73         return (1);
   74 }
   75 
   76 void
   77 lpt_puc_attach(parent, self, aux)
   78         struct device *parent, *self;
   79         void *aux;
   80 {
   81         struct lpt_softc *sc = (void *)self;
   82         struct puc_attach_args *aa = aux;
   83         const char *intrstr;
   84 
   85         sc->sc_iot = aa->t;
   86         sc->sc_ioh = aa->h;
   87 
   88         intrstr = aa->intr_string(aa);
   89         sc->sc_ih = aa->intr_establish(aa, IPL_TTY, lptintr, sc,
   90             sc->sc_dev.dv_xname);
   91         if (sc->sc_ih == NULL) {
   92                 printf(": couldn't establish interrupt");
   93                 if (intrstr != NULL)
   94                         printf(" at %s", intrstr);
   95                 printf("\n");
   96                 return;
   97         }
   98         printf(": interrupting at %s", intrstr);
   99 
  100         sc->sc_state = 0;
  101 
  102         lpt_attach_common(sc);
  103 }
  104 
  105 int
  106 lpt_puc_detach(struct device *self, int flags)
  107 {
  108 
  109         /* cardbus_intr_disestablish(psc->sc_cc, psc->sc_cf, csc->cc_ih); */
  110 
  111         return (0);
  112 }

/* [<][>][^][v][top][bottom][index][help] */