X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fmacintosh%2Fmediabay.c;fp=drivers%2Fmacintosh%2Fmediabay.c;h=4be709e13eecf4c4dd2a2f6c706eeda08b975047;hb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;hp=9f0e47d28be2f112e25b9ea0300a83ac6bf18c44;hpb=e3f6fb6212a7102bdb56ba38fa1e98fe72950475;p=linux-2.6.git diff --git a/drivers/macintosh/mediabay.c b/drivers/macintosh/mediabay.c index 9f0e47d28..4be709e13 100644 --- a/drivers/macintosh/mediabay.c +++ b/drivers/macintosh/mediabay.c @@ -98,11 +98,6 @@ int media_bay_count = 0; #define MB_IDE_READY(i) ((readb(media_bays[i].cd_base + 0x70) & 0x80) == 0) #endif -/* Note: All delays are not in milliseconds and converted to HZ relative - * values by the macro below - */ -#define MS_TO_HZ(ms) ((ms * HZ + 999) / 1000) - /* * Wait that number of ms between each step in normal polling mode */ @@ -384,7 +379,7 @@ static inline void __pmac set_mb_power(struct media_bay_info* bay, int onoff) bay->state = mb_powering_down; MBDBG("mediabay%d: powering down\n", bay->index); } - bay->timer = MS_TO_HZ(MB_POWER_DELAY); + bay->timer = msecs_to_jiffies(MB_POWER_DELAY); } static void __pmac poll_media_bay(struct media_bay_info* bay) @@ -393,8 +388,8 @@ static void __pmac poll_media_bay(struct media_bay_info* bay) if (id == bay->last_value) { if (id != bay->content_id) { - bay->value_count += MS_TO_HZ(MB_POLL_DELAY); - if (bay->value_count >= MS_TO_HZ(MB_STABLE_DELAY)) { + bay->value_count += msecs_to_jiffies(MB_POLL_DELAY); + if (bay->value_count >= msecs_to_jiffies(MB_STABLE_DELAY)) { /* If the device type changes without going thru * "MB_NO", we force a pass by "MB_NO" to make sure * things are properly reset @@ -504,7 +499,7 @@ static void __pmac media_bay_step(int i) /* If timer expired or polling IDE busy, run state machine */ if ((bay->state != mb_ide_waiting) && (bay->timer != 0)) { - bay->timer -= MS_TO_HZ(MB_POLL_DELAY); + bay->timer -= msecs_to_jiffies(MB_POLL_DELAY); if (bay->timer > 0) return; bay->timer = 0; @@ -517,13 +512,13 @@ static void __pmac media_bay_step(int i) set_mb_power(bay, 0); break; } - bay->timer = MS_TO_HZ(MB_RESET_DELAY); + bay->timer = msecs_to_jiffies(MB_RESET_DELAY); bay->state = mb_enabling_bay; MBDBG("mediabay%d: enabling (kind:%d)\n", i, bay->content_id); break; case mb_enabling_bay: bay->ops->un_reset(bay); - bay->timer = MS_TO_HZ(MB_SETUP_DELAY); + bay->timer = msecs_to_jiffies(MB_SETUP_DELAY); bay->state = mb_resetting; MBDBG("mediabay%d: waiting reset (kind:%d)\n", i, bay->content_id); break; @@ -537,7 +532,7 @@ static void __pmac media_bay_step(int i) #ifdef CONFIG_BLK_DEV_IDE MBDBG("mediabay%d: waiting IDE reset (kind:%d)\n", i, bay->content_id); bay->ops->un_reset_ide(bay); - bay->timer = MS_TO_HZ(MB_IDE_WAIT); + bay->timer = msecs_to_jiffies(MB_IDE_WAIT); bay->state = mb_ide_resetting; #else printk(KERN_DEBUG "media-bay %d is ide (not compiled in kernel)\n", i); @@ -547,7 +542,7 @@ static void __pmac media_bay_step(int i) #ifdef CONFIG_BLK_DEV_IDE case mb_ide_resetting: - bay->timer = MS_TO_HZ(MB_IDE_TIMEOUT); + bay->timer = msecs_to_jiffies(MB_IDE_TIMEOUT); bay->state = mb_ide_waiting; MBDBG("mediabay%d: waiting IDE ready (kind:%d)\n", i, bay->content_id); break; @@ -583,7 +578,7 @@ static void __pmac media_bay_step(int i) } break; } else if (bay->timer > 0) - bay->timer -= MS_TO_HZ(MB_POLL_DELAY); + bay->timer -= msecs_to_jiffies(MB_POLL_DELAY); if (bay->timer <= 0) { printk("\nIDE Timeout in bay %d !, IDE state is: 0x%02x\n", i, readb(bay->cd_base + 0x70)); @@ -641,8 +636,7 @@ static int __pmac media_bay_task(void *x) up(&media_bays[i].lock); } - current->state = TASK_INTERRUPTIBLE; - schedule_timeout(MS_TO_HZ(MB_POLL_DELAY)); + msleep_interruptible(MB_POLL_DELAY); if (signal_pending(current)) return 0; } @@ -691,7 +685,7 @@ static int __devinit media_bay_attach(struct macio_dev *mdev, const struct of_ma msleep(MB_POWER_DELAY); bay->content_id = MB_NO; bay->last_value = bay->ops->content(bay); - bay->value_count = MS_TO_HZ(MB_STABLE_DELAY); + bay->value_count = msecs_to_jiffies(MB_STABLE_DELAY); bay->state = mb_empty; do { msleep(MB_POLL_DELAY); @@ -710,7 +704,7 @@ static int __devinit media_bay_attach(struct macio_dev *mdev, const struct of_ma } -static int __pmac media_bay_suspend(struct macio_dev *mdev, u32 state) +static int __pmac media_bay_suspend(struct macio_dev *mdev, pm_message_t state) { struct media_bay_info *bay = macio_get_drvdata(mdev); @@ -747,8 +741,8 @@ static int __pmac media_bay_resume(struct macio_dev *mdev) } set_mb_power(bay, 1); bay->last_value = bay->content_id; - bay->value_count = MS_TO_HZ(MB_STABLE_DELAY); - bay->timer = MS_TO_HZ(MB_POWER_DELAY); + bay->value_count = msecs_to_jiffies(MB_STABLE_DELAY); + bay->timer = msecs_to_jiffies(MB_POWER_DELAY); #ifdef CONFIG_BLK_DEV_IDE bay->cd_retry = 0; #endif