The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/mcd/mcdvar.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * $FreeBSD$
    3  */
    4 
    5 struct mcd_mbx {
    6         short           retry;
    7         short           nblk;
    8         int             sz;
    9         u_long          skip;
   10         struct bio *    bp;
   11         short           count;
   12         short           mode;
   13 };
   14 
   15 struct mcd_data {
   16         short                   type;
   17         char *                  name;
   18         short                   config;
   19         short                   flags;
   20         u_char                  read_command;
   21         short                   status;
   22         int                     blksize;
   23         u_long                  disksize;
   24         int                     partflags;
   25         int                     openflags;
   26         struct mcd_volinfo      volinfo;   
   27         struct mcd_qchninfo     toc[MCD_MAXTOCS]; 
   28         short                   audio_status;
   29         short                   curr_mode;
   30         struct mcd_read2        lastpb;
   31         short                   debug;
   32         struct bio_queue_head   head;        /* head of bio queue */
   33         struct mcd_mbx          mbx;
   34 };
   35 
   36 struct mcd_softc {
   37         device_t                dev;
   38         struct cdev *mcd_dev_t;
   39         int                     debug;
   40 
   41         struct resource *       port;
   42         int                     port_rid;
   43         int                     port_type;
   44         bus_space_tag_t         port_bst;
   45         bus_space_handle_t      port_bsh;
   46 
   47         struct resource *       irq;
   48         int                     irq_rid;
   49         int                     irq_type;
   50         void *                  irq_ih;
   51 
   52         struct resource *       drq;
   53         int                     drq_rid;
   54         int                     drq_type;
   55 
   56         struct mtx              mtx;
   57 
   58         struct callout_handle   ch;
   59         int                     ch_state;
   60         struct mcd_mbx *        ch_mbxsave;
   61 
   62         struct mcd_data         data;
   63 };
   64 
   65 #define MCD_LOCK(_sc)           splx(&(_sc)->mtx
   66 #define MCD_UNLOCK(_sc)         splx(&(_sc)->mtx
   67 
   68 #define MCD_READ(_sc, _reg) \
   69         bus_space_read_1(_sc->port_bst, _sc->port_bsh, _reg)
   70 #define MCD_WRITE(_sc, _reg, _val) \
   71         bus_space_write_1(_sc->port_bst, _sc->port_bsh, _reg, _val)
   72 
   73 int     mcd_probe       (struct mcd_softc *);
   74 int     mcd_attach      (struct mcd_softc *);

Cache object: 1a6f0006e96ddcb714c679fc73cb7415


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.