mcd.c (1197) | mcd.c (1237) |
---|---|
1/* 2 * Copyright 1993 by Holger Veit (data part) 3 * Copyright 1993 by Brian Moore (audio part) 4 * Changes Copyright 1993 by Gary Clark II 5 * 6 * Rewrote probe routine to work on newer Mitsumi drives. 7 * Additional changes (C) 1994 by Jordan K. Hubbard 8 * --- 25 unchanged lines hidden (view full) --- 34 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 35 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 36 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 37 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 40 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 * | 1/* 2 * Copyright 1993 by Holger Veit (data part) 3 * Copyright 1993 by Brian Moore (audio part) 4 * Changes Copyright 1993 by Gary Clark II 5 * 6 * Rewrote probe routine to work on newer Mitsumi drives. 7 * Additional changes (C) 1994 by Jordan K. Hubbard 8 * --- 25 unchanged lines hidden (view full) --- 34 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 35 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 36 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 37 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 38 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 39 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 40 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 * |
42 * $Id: mcd.c,v 1.9 1994/02/07 15:46:22 davidg Exp $ | 42 * $Id: mcd.c,v 1.10 1994/02/22 08:44:28 rgrimes Exp $ |
43 */ 44static char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore"; 45 46#include "mcd.h" 47#if NMCD > 0 48#include "types.h" 49#include "param.h" 50#include "systm.h" --- 43 unchanged lines hidden (view full) --- 94#define MCDMBXBSY 0x0200 /* local mbx is busy */ 95 96/* status */ 97#define MCDAUDIOBSY MCD_ST_AUDIOBSY /* playing audio */ 98#define MCDDSKCHNG MCD_ST_DSKCHNG /* sensed change of disk */ 99#define MCDDSKIN MCD_ST_DSKIN /* sensed disk in drive */ 100#define MCDDOOROPEN MCD_ST_DOOROPEN /* sensed door open */ 101 | 43 */ 44static char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore"; 45 46#include "mcd.h" 47#if NMCD > 0 48#include "types.h" 49#include "param.h" 50#include "systm.h" --- 43 unchanged lines hidden (view full) --- 94#define MCDMBXBSY 0x0200 /* local mbx is busy */ 95 96/* status */ 97#define MCDAUDIOBSY MCD_ST_AUDIOBSY /* playing audio */ 98#define MCDDSKCHNG MCD_ST_DSKCHNG /* sensed change of disk */ 99#define MCDDSKIN MCD_ST_DSKIN /* sensed disk in drive */ 100#define MCDDOOROPEN MCD_ST_DOOROPEN /* sensed door open */ 101 |
102#define MCDEXISTS 0x0030 /* A real Mitsumi drive */ 103 |
|
102/* toc */ 103#define MCD_MAXTOCS 104 /* from the Linux driver */ 104#define MCD_LASTPLUS1 170 /* special toc entry */ 105 106struct mcd_mbx { 107 short unit; 108 short port; 109 short retry; --- 487 unchanged lines hidden (view full) --- 597 } 598 599 /* Get status */ 600 outb(port+MCD_DATA, MCD_CMDGETSTAT); 601 if (!twiddle_thumbs(port, unit, 1000000, "getting status")) { 602 return 0; /* Timeout */ 603 } 604 status = inb(port+MCD_DATA); | 104/* toc */ 105#define MCD_MAXTOCS 104 /* from the Linux driver */ 106#define MCD_LASTPLUS1 170 /* special toc entry */ 107 108struct mcd_mbx { 109 short unit; 110 short port; 111 short retry; --- 487 unchanged lines hidden (view full) --- 599 } 600 601 /* Get status */ 602 outb(port+MCD_DATA, MCD_CMDGETSTAT); 603 if (!twiddle_thumbs(port, unit, 1000000, "getting status")) { 604 return 0; /* Timeout */ 605 } 606 status = inb(port+MCD_DATA); |
605 | 607 if (status != MCDEXISTS) 608 return 0; /* Not actually a Mitsumi drive here */ |
606 /* Get version information */ 607 outb(port+MCD_DATA, MCD_CMDCONTINFO); 608 for (j = 0; j < 3; j++) { 609 if (!twiddle_thumbs(port, unit, 3000, "getting version info")) { 610 return 0; 611 } 612 stbytes[j] = (inb(port+MCD_DATA) & 0xFF); 613 } --- 711 unchanged lines hidden --- | 609 /* Get version information */ 610 outb(port+MCD_DATA, MCD_CMDCONTINFO); 611 for (j = 0; j < 3; j++) { 612 if (!twiddle_thumbs(port, unit, 3000, "getting version info")) { 613 return 0; 614 } 615 stbytes[j] = (inb(port+MCD_DATA) & 0xFF); 616 } --- 711 unchanged lines hidden --- |