mirror of https://gitee.com/openkylin/linux.git
ide-cd: move lba_to_msf() and msf_to_lba() to <linux/cdrom.h>
* Move lba_to_msf() and msf_to_lba() to <linux/cdrom.h> (use 'u8' type instead of 'byte' while at it). * Remove msf_to_lba() copy from drivers/cdrom/cdrom.c. Acked-by: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
5c68429dfe
commit
a1bb9457f0
|
@ -2787,12 +2787,6 @@ int cdrom_ioctl(struct file * file, struct cdrom_device_info *cdi,
|
|||
return -ENOSYS;
|
||||
}
|
||||
|
||||
static inline
|
||||
int msf_to_lba(char m, char s, char f)
|
||||
{
|
||||
return (((m * CD_SECS) + s) * CD_FRAMES + f) - CD_MSF_OFFSET;
|
||||
}
|
||||
|
||||
/*
|
||||
* Required when we need to use READ_10 to issue other than 2048 block
|
||||
* reads
|
||||
|
|
|
@ -1664,24 +1664,6 @@ void msf_from_bcd (struct atapi_msf *msf)
|
|||
msf->frame = BCD2BIN(msf->frame);
|
||||
}
|
||||
|
||||
static inline
|
||||
void lba_to_msf (int lba, byte *m, byte *s, byte *f)
|
||||
{
|
||||
lba += CD_MSF_OFFSET;
|
||||
lba &= 0xffffff; /* negative lbas use only 24 bits */
|
||||
*m = lba / (CD_SECS * CD_FRAMES);
|
||||
lba %= (CD_SECS * CD_FRAMES);
|
||||
*s = lba / CD_FRAMES;
|
||||
*f = lba % CD_FRAMES;
|
||||
}
|
||||
|
||||
|
||||
static inline
|
||||
int msf_to_lba (byte m, byte s, byte f)
|
||||
{
|
||||
return (((m * CD_SECS) + s) * CD_FRAMES + f) - CD_MSF_OFFSET;
|
||||
}
|
||||
|
||||
static int cdrom_check_status(ide_drive_t *drive, struct request_sense *sense)
|
||||
{
|
||||
struct request req;
|
||||
|
|
|
@ -1187,6 +1187,20 @@ struct media_event_desc {
|
|||
|
||||
extern int cdrom_get_media_event(struct cdrom_device_info *cdi, struct media_event_desc *med);
|
||||
|
||||
static inline void lba_to_msf(int lba, u8 *m, u8 *s, u8 *f)
|
||||
{
|
||||
lba += CD_MSF_OFFSET;
|
||||
lba &= 0xffffff; /* negative lbas use only 24 bits */
|
||||
*m = lba / (CD_SECS * CD_FRAMES);
|
||||
lba %= (CD_SECS * CD_FRAMES);
|
||||
*s = lba / CD_FRAMES;
|
||||
*f = lba % CD_FRAMES;
|
||||
}
|
||||
|
||||
static inline int msf_to_lba(u8 m, u8 s, u8 f)
|
||||
{
|
||||
return (((m * CD_SECS) + s) * CD_FRAMES + f) - CD_MSF_OFFSET;
|
||||
}
|
||||
#endif /* End of kernel only stuff */
|
||||
|
||||
#endif /* _LINUX_CDROM_H */
|
||||
|
|
Loading…
Reference in New Issue