Skip to contentSkip to conversation

ide-cd: move lba_to_msf() and msf_to_lba() to <linux/cdrom.h>

PATCH In review Bartlomiej Zolnierkiewicz 2 participants 2 messages Dec 20, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 41/63 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.

---
 drivers/cdrom/cdrom.c |    6 ------
 drivers/ide/ide-cd.c  |   18 ------------------
 include/linux/cdrom.h |   14 ++++++++++++++
 3 files changed, 14 insertions(+), 24 deletions(-)
drivers/cdrom/cdrom.c +0 -6
Index: b/drivers/cdrom/cdrom.c
===================================================================
@@ -2787,12 +2787,6 @@ int cdrom_ioctl(struct file * file, stru
 	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
drivers/ide/ide-cd.c +0 -18
Index: b/drivers/ide/ide-cd.c
===================================================================
@@ -1643,24 +1643,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;
include/linux/cdrom.h +14 -0
Index: b/include/linux/cdrom.h
===================================================================
@@ -1184,6 +1184,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 */
Acked-by on v1 41/63
#1 lore raw
Quoted 8 lines · Bartlomiej Zolnierkiewicz

* 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.

Quoted 77 lines
---
 drivers/cdrom/cdrom.c |    6 ------
 drivers/ide/ide-cd.c  |   18 ------------------
 include/linux/cdrom.h |   14 ++++++++++++++
 3 files changed, 14 insertions(+), 24 deletions(-)

Index: b/drivers/cdrom/cdrom.c
===================================================================

drivers/cdrom/cdrom.c +0 -6
@@ -2787,12 +2787,6 @@ int cdrom_ioctl(struct file * file, stru
 	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

Index: b/drivers/ide/ide-cd.c
===================================================================

drivers/ide/ide-cd.c +0 -18
@@ -1643,24 +1643,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;

Index: b/include/linux/cdrom.h
===================================================================

include/linux/cdrom.h +14 -0
@@ -1184,6 +1184,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 */
Signature · 1 line
Jens Axboe