Deleted Added
full compact
scd.c (12071) scd.c (12502)
1/*-
2 * Copyright (c) 1995 Mikael Hybsch
3 * All rights reserved.
4 *
5 * Portions of this file are copied from mcd.c
6 * which has the following copyrights:
7 *
8 * Copyright 1993 by Holger Veit (data part)

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

36 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
37 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
39 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40 *
41 */
42
43
1/*-
2 * Copyright (c) 1995 Mikael Hybsch
3 * All rights reserved.
4 *
5 * Portions of this file are copied from mcd.c
6 * which has the following copyrights:
7 *
8 * Copyright 1993 by Holger Veit (data part)

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

36 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
37 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
39 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40 *
41 */
42
43
44/* $Id: scd.c,v 1.8 1995/10/28 15:39:17 phk Exp $ */
44/* $Id: scd.c,v 1.9 1995/11/04 13:23:39 bde Exp $ */
45
46/* Please send any comments to micke@dynas.se */
47
48#define SCD_DEBUG 0
49
50#include "scd.h"
51#if NSCD > 0
52#include <sys/types.h>

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

67
68#include <machine/clock.h>
69#include <machine/stdarg.h>
70
71#include <i386/isa/isa.h>
72#include <i386/isa/isa_device.h>
73#include <i386/isa/scdreg.h>
74
45
46/* Please send any comments to micke@dynas.se */
47
48#define SCD_DEBUG 0
49
50#include "scd.h"
51#if NSCD > 0
52#include <sys/types.h>

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

67
68#include <machine/clock.h>
69#include <machine/stdarg.h>
70
71#include <i386/isa/isa.h>
72#include <i386/isa/isa_device.h>
73#include <i386/isa/scdreg.h>
74
75#ifdef JREMOD
76#define CDEV_MAJOR 45
77#define BDEV_MAJOR 16
78static void scd_devsw_install();
79#endif /*JREMOD */
80
75#define scd_part(dev) ((minor(dev)) & 7)
76#define scd_unit(dev) (((minor(dev)) & 0x38) >> 3)
77#define scd_phys(dev) (((minor(dev)) & 0x40) >> 6)
78#define RAW_PART 2
79
80/* flags */
81#define SCDOPEN 0x0001 /* device opened */
82#define SCDVALID 0x0002 /* parameters loaded */

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

213 kdc_scd[dev->id_unit].kdc_description = scd_data[dev->id_unit].name;
214 printf("scd%d: <%s>\n", dev->id_unit, scd_data[dev->id_unit].name);
215
216 init_drive(dev->id_unit);
217
218 cd->flags = SCDINIT;
219 cd->audio_status = CD_AS_AUDIO_INVALID;
220
81#define scd_part(dev) ((minor(dev)) & 7)
82#define scd_unit(dev) (((minor(dev)) & 0x38) >> 3)
83#define scd_phys(dev) (((minor(dev)) & 0x40) >> 6)
84#define RAW_PART 2
85
86/* flags */
87#define SCDOPEN 0x0001 /* device opened */
88#define SCDVALID 0x0002 /* parameters loaded */

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

219 kdc_scd[dev->id_unit].kdc_description = scd_data[dev->id_unit].name;
220 printf("scd%d: <%s>\n", dev->id_unit, scd_data[dev->id_unit].name);
221
222 init_drive(dev->id_unit);
223
224 cd->flags = SCDINIT;
225 cd->audio_status = CD_AS_AUDIO_INVALID;
226
227#ifdef JREMOD
228 scd_devsw_install();
229#endif /*JREMOD*/
230
221 return 1;
222}
223
224int
225scdopen(dev_t dev, int flags, int fmt, struct proc *p)
226{
227 int unit,part,phys;
228 int rc;

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

1514
1515 /* copy the data back */
1516 if (copyout(&toc_entry, te->data, sizeof(struct cd_toc_entry)) != 0)
1517 return EFAULT;
1518
1519 return 0;
1520}
1521
231 return 1;
232}
233
234int
235scdopen(dev_t dev, int flags, int fmt, struct proc *p)
236{
237 int unit,part,phys;
238 int rc;

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

1524
1525 /* copy the data back */
1526 if (copyout(&toc_entry, te->data, sizeof(struct cd_toc_entry)) != 0)
1527 return EFAULT;
1528
1529 return 0;
1530}
1531
1532#ifdef JREMOD
1533struct bdevsw scd_bdevsw =
1534 { scdopen, scdclose, scdstrategy, scdioctl, /*16*/
1535 nxdump, scdsize, 0 };
1536
1537struct cdevsw scd_cdevsw =
1538 { scdopen, scdclose, rawread, nowrite, /*45*/
1539 scdioctl, nostop, nullreset, nodevtotty,/* sony cd */
1540 seltrue, nommap, scdstrategy };
1541
1542static scd_devsw_installed = 0;
1543
1544static void scd_devsw_install()
1545{
1546 dev_t descript;
1547 if( ! scd_devsw_installed ) {
1548 descript = makedev(CDEV_MAJOR,0);
1549 cdevsw_add(&descript,&scd_cdevsw,NULL);
1550#if defined(BDEV_MAJOR)
1551 descript = makedev(BDEV_MAJOR,0);
1552 bdevsw_add(&descript,&scd_bdevsw,NULL);
1553#endif /*BDEV_MAJOR*/
1554 scd_devsw_installed = 1;
1555 }
1556}
1557#endif /* JREMOD */
1558
1522#endif /* NSCD > 0 */
1559#endif /* NSCD > 0 */