Deleted Added
full compact
mcd.c (13866) mcd.c (13874)
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 * Changes Copyright (C) 1994-1995 by Andrey A. Chernov, Moscow, Russia
6 *
7 * Rewrote probe routine to work on newer Mitsumi drives.
8 * Additional changes (C) 1994 by Jordan K. Hubbard

--- 26 unchanged lines hidden (view full) ---

35 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
36 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
37 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
38 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
39 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
40 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
41 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42 *
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 * Changes Copyright (C) 1994-1995 by Andrey A. Chernov, Moscow, Russia
6 *
7 * Rewrote probe routine to work on newer Mitsumi drives.
8 * Additional changes (C) 1994 by Jordan K. Hubbard

--- 26 unchanged lines hidden (view full) ---

35 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
36 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
37 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
38 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
39 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
40 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
41 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42 *
43 * $Id: mcd.c,v 1.67 1996/02/02 21:18:02 ache Exp $
43 * $Id: mcd.c,v 1.68 1996/02/02 22:08:28 ache Exp $
44 */
45static char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore";
46
47#include "mcd.h"
48#if NMCD > 0
49#include <sys/types.h>
50#include <sys/param.h>
51#include <sys/systm.h>

--- 66 unchanged lines hidden (view full) ---

118
119/* toc */
120#define MCD_MAXTOCS 104 /* from the Linux driver */
121#define MCD_LASTPLUS1 170 /* special toc entry */
122
123#define MCD_TYPE_UNKNOWN 0
124#define MCD_TYPE_LU002S 1
125#define MCD_TYPE_LU005S 2
44 */
45static char COPYRIGHT[] = "mcd-driver (C)1993 by H.Veit & B.Moore";
46
47#include "mcd.h"
48#if NMCD > 0
49#include <sys/types.h>
50#include <sys/param.h>
51#include <sys/systm.h>

--- 66 unchanged lines hidden (view full) ---

118
119/* toc */
120#define MCD_MAXTOCS 104 /* from the Linux driver */
121#define MCD_LASTPLUS1 170 /* special toc entry */
122
123#define MCD_TYPE_UNKNOWN 0
124#define MCD_TYPE_LU002S 1
125#define MCD_TYPE_LU005S 2
126#define MCD_TYPE_FX001 3
127#define MCD_TYPE_FX001D 4
126#define MCD_TYPE_LU006S 3
127#define MCD_TYPE_FX001 4
128#define MCD_TYPE_FX001D 5
128
129struct mcd_mbx {
130 short unit;
131 short port;
132 short retry;
133 short nblk;
134 int sz;
135 u_long skip;

--- 663 unchanged lines hidden (view full) ---

799 return 0;
800 if (stbytes[2] >= 4 || stbytes[1] != 'M') {
801 outb(port+MCD_CTRL, M_PICKLE);
802 mcd_data[unit].flags |= MCDNEWMODEL;
803 }
804 mcd_data[unit].read_command = MCD_CMDSINGLESPEEDREAD;
805 switch (stbytes[1]) {
806 case 'M':
129
130struct mcd_mbx {
131 short unit;
132 short port;
133 short retry;
134 short nblk;
135 int sz;
136 u_long skip;

--- 663 unchanged lines hidden (view full) ---

800 return 0;
801 if (stbytes[2] >= 4 || stbytes[1] != 'M') {
802 outb(port+MCD_CTRL, M_PICKLE);
803 mcd_data[unit].flags |= MCDNEWMODEL;
804 }
805 mcd_data[unit].read_command = MCD_CMDSINGLESPEEDREAD;
806 switch (stbytes[1]) {
807 case 'M':
807 if (mcd_data[unit].flags & MCDNEWMODEL) {
808 if (stbytes[2] <= 2) {
809 mcd_data[unit].type = MCD_TYPE_LU002S;
810 mcd_data[unit].name = "Mitsumi LU002S";
811 } else if (stbytes[2] <= 5) {
808 mcd_data[unit].type = MCD_TYPE_LU005S;
809 mcd_data[unit].name = "Mitsumi LU005S";
810 } else {
812 mcd_data[unit].type = MCD_TYPE_LU005S;
813 mcd_data[unit].name = "Mitsumi LU005S";
814 } else {
811 mcd_data[unit].type = MCD_TYPE_LU002S;
812 mcd_data[unit].name = "Mitsumi LU002S";
815 mcd_data[unit].type = MCD_TYPE_LU006S;
816 mcd_data[unit].name = "Mitsumi LU006S";
813 }
814 break;
815 case 'F':
816 mcd_data[unit].type = MCD_TYPE_FX001;
817 mcd_data[unit].name = "Mitsumi FX001";
818 break;
819 case 'D':
820 mcd_data[unit].type = MCD_TYPE_FX001D;

--- 537 unchanged lines hidden (view full) ---

1358 struct mcd_data *cd = mcd_data + unit;
1359 int r;
1360
1361 if ((r = mcd_volinfo(unit)) != 0)
1362 return r;
1363
1364 th->starting_track = bcd2bin(cd->volinfo.trk_low);
1365 th->ending_track = bcd2bin(cd->volinfo.trk_high);
817 }
818 break;
819 case 'F':
820 mcd_data[unit].type = MCD_TYPE_FX001;
821 mcd_data[unit].name = "Mitsumi FX001";
822 break;
823 case 'D':
824 mcd_data[unit].type = MCD_TYPE_FX001D;

--- 537 unchanged lines hidden (view full) ---

1362 struct mcd_data *cd = mcd_data + unit;
1363 int r;
1364
1365 if ((r = mcd_volinfo(unit)) != 0)
1366 return r;
1367
1368 th->starting_track = bcd2bin(cd->volinfo.trk_low);
1369 th->ending_track = bcd2bin(cd->volinfo.trk_high);
1366 th->len = sizeof(struct ioc_toc_header) +
1367 (th->ending_track - th->starting_track + 1) *
1368 sizeof(struct cd_toc_entry) + 6 /* ??? */;
1370 th->len = 2 * sizeof(u_char) /* start & end tracks */ +
1371 (th->ending_track + 1 - th->starting_track + 1) *
1372 sizeof(struct cd_toc_entry);
1369
1370 return 0;
1371}
1372
1373static int
1374mcd_read_toc(int unit)
1375{
1376 struct mcd_data *cd = mcd_data + unit;

--- 436 unchanged lines hidden ---
1373
1374 return 0;
1375}
1376
1377static int
1378mcd_read_toc(int unit)
1379{
1380 struct mcd_data *cd = mcd_data + unit;

--- 436 unchanged lines hidden ---