cdrom: Remove cdrom_count_tracks prototype
Move function to proper location instead. Fix whitespace and embedded if too. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
dac1c5cf44
commit
a803393bf8
|
@ -338,8 +338,6 @@ do { \
|
||||||
|
|
||||||
/* Not-exported routines. */
|
/* Not-exported routines. */
|
||||||
|
|
||||||
static void cdrom_count_tracks(struct cdrom_device_info *, tracktype*);
|
|
||||||
|
|
||||||
static int cdrom_mrw_exit(struct cdrom_device_info *cdi);
|
static int cdrom_mrw_exit(struct cdrom_device_info *cdi);
|
||||||
|
|
||||||
static int cdrom_get_disc_info(struct cdrom_device_info *cdi, disc_information *di);
|
static int cdrom_get_disc_info(struct cdrom_device_info *cdi, disc_information *di);
|
||||||
|
@ -948,6 +946,53 @@ static int cdrom_close_write(struct cdrom_device_info *cdi)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* badly broken, I know. Is due for a fixup anytime. */
|
||||||
|
static void cdrom_count_tracks(struct cdrom_device_info *cdi, tracktype *tracks)
|
||||||
|
{
|
||||||
|
struct cdrom_tochdr header;
|
||||||
|
struct cdrom_tocentry entry;
|
||||||
|
int ret, i;
|
||||||
|
tracks->data = 0;
|
||||||
|
tracks->audio = 0;
|
||||||
|
tracks->cdi = 0;
|
||||||
|
tracks->xa = 0;
|
||||||
|
tracks->error = 0;
|
||||||
|
cd_dbg(CD_COUNT_TRACKS, "entering cdrom_count_tracks\n");
|
||||||
|
/* Grab the TOC header so we can see how many tracks there are */
|
||||||
|
ret = cdi->ops->audio_ioctl(cdi, CDROMREADTOCHDR, &header);
|
||||||
|
if (ret) {
|
||||||
|
if (ret == -ENOMEDIUM)
|
||||||
|
tracks->error = CDS_NO_DISC;
|
||||||
|
else
|
||||||
|
tracks->error = CDS_NO_INFO;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
/* check what type of tracks are on this disc */
|
||||||
|
entry.cdte_format = CDROM_MSF;
|
||||||
|
for (i = header.cdth_trk0; i <= header.cdth_trk1; i++) {
|
||||||
|
entry.cdte_track = i;
|
||||||
|
if (cdi->ops->audio_ioctl(cdi, CDROMREADTOCENTRY, &entry)) {
|
||||||
|
tracks->error = CDS_NO_INFO;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (entry.cdte_ctrl & CDROM_DATA_TRACK) {
|
||||||
|
if (entry.cdte_format == 0x10)
|
||||||
|
tracks->cdi++;
|
||||||
|
else if (entry.cdte_format == 0x20)
|
||||||
|
tracks->xa++;
|
||||||
|
else
|
||||||
|
tracks->data++;
|
||||||
|
} else {
|
||||||
|
tracks->audio++;
|
||||||
|
}
|
||||||
|
cd_dbg(CD_COUNT_TRACKS, "track %d: format=%d, ctrl=%d\n",
|
||||||
|
i, entry.cdte_format, entry.cdte_ctrl);
|
||||||
|
}
|
||||||
|
cd_dbg(CD_COUNT_TRACKS, "disc has %d tracks: %d=audio %d=data %d=Cd-I %d=XA\n",
|
||||||
|
header.cdth_trk1, tracks->audio, tracks->data,
|
||||||
|
tracks->cdi, tracks->xa);
|
||||||
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
int open_for_data(struct cdrom_device_info *cdi)
|
int open_for_data(struct cdrom_device_info *cdi)
|
||||||
{
|
{
|
||||||
|
@ -1457,51 +1502,6 @@ int cdrom_media_changed(struct cdrom_device_info *cdi)
|
||||||
return media_changed(cdi, 0);
|
return media_changed(cdi, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* badly broken, I know. Is due for a fixup anytime. */
|
|
||||||
static void cdrom_count_tracks(struct cdrom_device_info *cdi, tracktype* tracks)
|
|
||||||
{
|
|
||||||
struct cdrom_tochdr header;
|
|
||||||
struct cdrom_tocentry entry;
|
|
||||||
int ret, i;
|
|
||||||
tracks->data=0;
|
|
||||||
tracks->audio=0;
|
|
||||||
tracks->cdi=0;
|
|
||||||
tracks->xa=0;
|
|
||||||
tracks->error=0;
|
|
||||||
cd_dbg(CD_COUNT_TRACKS, "entering cdrom_count_tracks\n");
|
|
||||||
/* Grab the TOC header so we can see how many tracks there are */
|
|
||||||
if ((ret = cdi->ops->audio_ioctl(cdi, CDROMREADTOCHDR, &header))) {
|
|
||||||
if (ret == -ENOMEDIUM)
|
|
||||||
tracks->error = CDS_NO_DISC;
|
|
||||||
else
|
|
||||||
tracks->error = CDS_NO_INFO;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
/* check what type of tracks are on this disc */
|
|
||||||
entry.cdte_format = CDROM_MSF;
|
|
||||||
for (i = header.cdth_trk0; i <= header.cdth_trk1; i++) {
|
|
||||||
entry.cdte_track = i;
|
|
||||||
if (cdi->ops->audio_ioctl(cdi, CDROMREADTOCENTRY, &entry)) {
|
|
||||||
tracks->error=CDS_NO_INFO;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (entry.cdte_ctrl & CDROM_DATA_TRACK) {
|
|
||||||
if (entry.cdte_format == 0x10)
|
|
||||||
tracks->cdi++;
|
|
||||||
else if (entry.cdte_format == 0x20)
|
|
||||||
tracks->xa++;
|
|
||||||
else
|
|
||||||
tracks->data++;
|
|
||||||
} else
|
|
||||||
tracks->audio++;
|
|
||||||
cd_dbg(CD_COUNT_TRACKS, "track %d: format=%d, ctrl=%d\n",
|
|
||||||
i, entry.cdte_format, entry.cdte_ctrl);
|
|
||||||
}
|
|
||||||
cd_dbg(CD_COUNT_TRACKS, "disc has %d tracks: %d=audio %d=data %d=Cd-I %d=XA\n",
|
|
||||||
header.cdth_trk1, tracks->audio, tracks->data,
|
|
||||||
tracks->cdi, tracks->xa);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Requests to the low-level drivers will /always/ be done in the
|
/* Requests to the low-level drivers will /always/ be done in the
|
||||||
following format convention:
|
following format convention:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue