diff options
Diffstat (limited to 'drivers/cdrom')
-rw-r--r-- | drivers/cdrom/cdrom.c | 11 | ||||
-rw-r--r-- | drivers/cdrom/gdrom.c | 11 | ||||
-rw-r--r-- | drivers/cdrom/viocd.c | 7 |
3 files changed, 16 insertions, 13 deletions
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c index a5da35632651..74031de517e6 100644 --- a/drivers/cdrom/cdrom.c +++ b/drivers/cdrom/cdrom.c | |||
@@ -408,7 +408,6 @@ int register_cdrom(struct cdrom_device_info *cdi) | |||
408 | ENSURE(get_last_session, CDC_MULTI_SESSION); | 408 | ENSURE(get_last_session, CDC_MULTI_SESSION); |
409 | ENSURE(get_mcn, CDC_MCN); | 409 | ENSURE(get_mcn, CDC_MCN); |
410 | ENSURE(reset, CDC_RESET); | 410 | ENSURE(reset, CDC_RESET); |
411 | ENSURE(audio_ioctl, CDC_PLAY_AUDIO); | ||
412 | ENSURE(generic_packet, CDC_GENERIC_PACKET); | 411 | ENSURE(generic_packet, CDC_GENERIC_PACKET); |
413 | cdi->mc_flags = 0; | 412 | cdi->mc_flags = 0; |
414 | cdo->n_minors = 0; | 413 | cdo->n_minors = 0; |
@@ -1436,10 +1435,6 @@ static void cdrom_count_tracks(struct cdrom_device_info *cdi, tracktype* tracks) | |||
1436 | tracks->xa=0; | 1435 | tracks->xa=0; |
1437 | tracks->error=0; | 1436 | tracks->error=0; |
1438 | cdinfo(CD_COUNT_TRACKS, "entering cdrom_count_tracks\n"); | 1437 | cdinfo(CD_COUNT_TRACKS, "entering cdrom_count_tracks\n"); |
1439 | if (!CDROM_CAN(CDC_PLAY_AUDIO)) { | ||
1440 | tracks->error=CDS_NO_INFO; | ||
1441 | return; | ||
1442 | } | ||
1443 | /* Grab the TOC header so we can see how many tracks there are */ | 1438 | /* Grab the TOC header so we can see how many tracks there are */ |
1444 | if ((ret = cdi->ops->audio_ioctl(cdi, CDROMREADTOCHDR, &header))) { | 1439 | if ((ret = cdi->ops->audio_ioctl(cdi, CDROMREADTOCHDR, &header))) { |
1445 | if (ret == -ENOMEDIUM) | 1440 | if (ret == -ENOMEDIUM) |
@@ -2510,8 +2505,6 @@ static int cdrom_ioctl_get_subchnl(struct cdrom_device_info *cdi, | |||
2510 | 2505 | ||
2511 | /* cdinfo(CD_DO_IOCTL,"entering CDROMSUBCHNL\n");*/ | 2506 | /* cdinfo(CD_DO_IOCTL,"entering CDROMSUBCHNL\n");*/ |
2512 | 2507 | ||
2513 | if (!CDROM_CAN(CDC_PLAY_AUDIO)) | ||
2514 | return -ENOSYS; | ||
2515 | if (copy_from_user(&q, argp, sizeof(q))) | 2508 | if (copy_from_user(&q, argp, sizeof(q))) |
2516 | return -EFAULT; | 2509 | return -EFAULT; |
2517 | 2510 | ||
@@ -2542,8 +2535,6 @@ static int cdrom_ioctl_read_tochdr(struct cdrom_device_info *cdi, | |||
2542 | 2535 | ||
2543 | /* cdinfo(CD_DO_IOCTL, "entering CDROMREADTOCHDR\n"); */ | 2536 | /* cdinfo(CD_DO_IOCTL, "entering CDROMREADTOCHDR\n"); */ |
2544 | 2537 | ||
2545 | if (!CDROM_CAN(CDC_PLAY_AUDIO)) | ||
2546 | return -ENOSYS; | ||
2547 | if (copy_from_user(&header, argp, sizeof(header))) | 2538 | if (copy_from_user(&header, argp, sizeof(header))) |
2548 | return -EFAULT; | 2539 | return -EFAULT; |
2549 | 2540 | ||
@@ -2566,8 +2557,6 @@ static int cdrom_ioctl_read_tocentry(struct cdrom_device_info *cdi, | |||
2566 | 2557 | ||
2567 | /* cdinfo(CD_DO_IOCTL, "entering CDROMREADTOCENTRY\n"); */ | 2558 | /* cdinfo(CD_DO_IOCTL, "entering CDROMREADTOCENTRY\n"); */ |
2568 | 2559 | ||
2569 | if (!CDROM_CAN(CDC_PLAY_AUDIO)) | ||
2570 | return -ENOSYS; | ||
2571 | if (copy_from_user(&entry, argp, sizeof(entry))) | 2560 | if (copy_from_user(&entry, argp, sizeof(entry))) |
2572 | return -EFAULT; | 2561 | return -EFAULT; |
2573 | 2562 | ||
diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c index 71ec426ecffc..1231d95aa695 100644 --- a/drivers/cdrom/gdrom.c +++ b/drivers/cdrom/gdrom.c | |||
@@ -39,8 +39,8 @@ | |||
39 | #include <asm/io.h> | 39 | #include <asm/io.h> |
40 | #include <asm/dma.h> | 40 | #include <asm/dma.h> |
41 | #include <asm/delay.h> | 41 | #include <asm/delay.h> |
42 | #include <asm/mach/dma.h> | 42 | #include <mach/dma.h> |
43 | #include <asm/mach/sysasic.h> | 43 | #include <mach/sysasic.h> |
44 | 44 | ||
45 | #define GDROM_DEV_NAME "gdrom" | 45 | #define GDROM_DEV_NAME "gdrom" |
46 | #define GD_SESSION_OFFSET 150 | 46 | #define GD_SESSION_OFFSET 150 |
@@ -471,6 +471,12 @@ cleanup_sense_final: | |||
471 | return err; | 471 | return err; |
472 | } | 472 | } |
473 | 473 | ||
474 | static int gdrom_audio_ioctl(struct cdrom_device_info *cdi, unsigned int cmd, | ||
475 | void *arg) | ||
476 | { | ||
477 | return -EINVAL; | ||
478 | } | ||
479 | |||
474 | static struct cdrom_device_ops gdrom_ops = { | 480 | static struct cdrom_device_ops gdrom_ops = { |
475 | .open = gdrom_open, | 481 | .open = gdrom_open, |
476 | .release = gdrom_release, | 482 | .release = gdrom_release, |
@@ -478,6 +484,7 @@ static struct cdrom_device_ops gdrom_ops = { | |||
478 | .media_changed = gdrom_mediachanged, | 484 | .media_changed = gdrom_mediachanged, |
479 | .get_last_session = gdrom_get_last_session, | 485 | .get_last_session = gdrom_get_last_session, |
480 | .reset = gdrom_hardreset, | 486 | .reset = gdrom_hardreset, |
487 | .audio_ioctl = gdrom_audio_ioctl, | ||
481 | .capability = CDC_MULTI_SESSION | CDC_MEDIA_CHANGED | | 488 | .capability = CDC_MULTI_SESSION | CDC_MEDIA_CHANGED | |
482 | CDC_RESET | CDC_DRIVE_STATUS | CDC_CD_R, | 489 | CDC_RESET | CDC_DRIVE_STATUS | CDC_CD_R, |
483 | .n_minors = 1, | 490 | .n_minors = 1, |
diff --git a/drivers/cdrom/viocd.c b/drivers/cdrom/viocd.c index 9d0dfe6e0d63..031e0e1a1a3b 100644 --- a/drivers/cdrom/viocd.c +++ b/drivers/cdrom/viocd.c | |||
@@ -550,12 +550,19 @@ return_complete: | |||
550 | } | 550 | } |
551 | } | 551 | } |
552 | 552 | ||
553 | static int viocd_audio_ioctl(struct cdrom_device_info *cdi, unsigned int cmd, | ||
554 | void *arg) | ||
555 | { | ||
556 | return -EINVAL; | ||
557 | } | ||
558 | |||
553 | static struct cdrom_device_ops viocd_dops = { | 559 | static struct cdrom_device_ops viocd_dops = { |
554 | .open = viocd_open, | 560 | .open = viocd_open, |
555 | .release = viocd_release, | 561 | .release = viocd_release, |
556 | .media_changed = viocd_media_changed, | 562 | .media_changed = viocd_media_changed, |
557 | .lock_door = viocd_lock_door, | 563 | .lock_door = viocd_lock_door, |
558 | .generic_packet = viocd_packet, | 564 | .generic_packet = viocd_packet, |
565 | .audio_ioctl = viocd_audio_ioctl, | ||
559 | .capability = CDC_CLOSE_TRAY | CDC_OPEN_TRAY | CDC_LOCK | CDC_SELECT_SPEED | CDC_SELECT_DISC | CDC_MULTI_SESSION | CDC_MCN | CDC_MEDIA_CHANGED | CDC_PLAY_AUDIO | CDC_RESET | CDC_DRIVE_STATUS | CDC_GENERIC_PACKET | CDC_CD_R | CDC_CD_RW | CDC_DVD | CDC_DVD_R | CDC_DVD_RAM | CDC_RAM | 566 | .capability = CDC_CLOSE_TRAY | CDC_OPEN_TRAY | CDC_LOCK | CDC_SELECT_SPEED | CDC_SELECT_DISC | CDC_MULTI_SESSION | CDC_MCN | CDC_MEDIA_CHANGED | CDC_PLAY_AUDIO | CDC_RESET | CDC_DRIVE_STATUS | CDC_GENERIC_PACKET | CDC_CD_R | CDC_CD_RW | CDC_DVD | CDC_DVD_R | CDC_DVD_RAM | CDC_RAM |
560 | }; | 567 | }; |
561 | 568 | ||