On Tue, 3 Feb 2015, Nicholas Mc Guire wrote: > This is only an API consolidation to make things more readable. Please remove the above; the g_NCR5380.c change invalidates it. > Instances of var * HZ / 1000 are replaced by msecs_to_jiffies(var). > In addition some timing constants that assumed HZ 100 were adjusted > to HZ independent settings based on review of the original drivers in > 1.0.31 and 2.2.16. > > Signed-off-by: Nicholas Mc Guire <hofrat@xxxxxxxxx> > --- > > v2: the original patch was not taking care of all the dependencies > as reported by Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> - this > version now uses the suggested config to check the patch. > v3: g_NCR5380.c changes fixed up based on feedback from Michael Schmitz > <schmitzmic@xxxxxxxxx> as these settings were from around 1.0.31 > kernel (or earlier) where HZ was 100 only - thus the unit here is > actually 10s of microseconds. This was "verified" by checking the > setting changes against 2.2.16 indicating that it was forgotten in > 1998/99. > > Converting milliseconds to jiffies by "val * HZ / 1000" is technically > ok but msecs_to_jiffies(val) is the cleaner solution and handles all > corner cases correctly. This is a minor API cleanup only. > > This patch was only compile tested with i386_defconfig + CONFIG_ISA=y > as well as all dependent drivers enabled as modules: > CONFIG_SCSI_LOWLEVEL=y, CONFIG_SCSI_GENERIC_NCR5380=m > CONFIG_SCSI_DMX3191D=m, CONFIG_SCSI_DTC3280=m > CONFIG_SCSI_GENERIC_NCR5380=m, CONFIG_SCSI_GENERIC_NCR5380_MMIO=m > CONFIG_SCSI_PAS16=m, CONFIG_SCSI_T128=m > > Patch is against 3.19.0-rc7 (localversion-next = -next-20150203) > > drivers/scsi/NCR5380.c | 10 +++++----- > drivers/scsi/g_NCR5380.c | 6 +++--- > 2 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c > index 8981701..d15411b 100644 > --- a/drivers/scsi/NCR5380.c > +++ b/drivers/scsi/NCR5380.c > @@ -474,11 +474,11 @@ static void NCR5380_print_phase(struct Scsi_Host *instance) > */ > #ifndef USLEEP_SLEEP > /* 20 ms (reasonable hard disk speed) */ > -#define USLEEP_SLEEP (20*HZ/1000) > +#define USLEEP_SLEEP msecs_to_jiffies(20) > #endif > /* 300 RPM (floppy speed) */ > #ifndef USLEEP_POLL > -#define USLEEP_POLL (200*HZ/1000) > +#define USLEEP_POLL msecs_to_jiffies(200) > #endif > #ifndef USLEEP_WAITLONG > /* RvC: (reasonable time to wait on select error) */ > @@ -576,7 +576,7 @@ static int __init __maybe_unused NCR5380_probe_irq(struct Scsi_Host *instance, > if ((mask & possible) && (request_irq(i, &probe_intr, 0, "NCR-probe", NULL) == 0)) > trying_irqs |= mask; > > - timeout = jiffies + (250 * HZ / 1000); > + timeout = jiffies + msecs_to_jiffies(250); > probe_irq = NO_IRQ; > > /* > @@ -634,7 +634,7 @@ static void prepare_info(struct Scsi_Host *instance) > "sg_tablesize %d, this_id %d, " > "flags { %s%s%s}, " > #if defined(USLEEP_POLL) && defined(USLEEP_WAITLONG) > - "USLEEP_POLL %d, USLEEP_WAITLONG %d, " > + "USLEEP_POLL %lu, USLEEP_WAITLONG %lu, " > #endif > "options { %s} ", > instance->hostt->name, instance->io_port, instance->n_io_port, > @@ -1346,7 +1346,7 @@ static int NCR5380_select(struct Scsi_Host *instance, struct scsi_cmnd *cmd) > * selection. > */ > > - timeout = jiffies + (250 * HZ / 1000); > + timeout = jiffies + msecs_to_jiffies(250); atari_NCR5380.c has exactly the same assignment. I'd like to keep atari_NCR5380.c and NCR5380.c in agreement because further divergence will make it harder it to re-unify them. Please make the same change there. > > /* > * XXX very interesting - we're seeing a bounce where the BSY we > diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c > index f35792f..a11b152 100644 > --- a/drivers/scsi/g_NCR5380.c > +++ b/drivers/scsi/g_NCR5380.c > @@ -57,9 +57,9 @@ > */ > > /* settings for DTC3181E card with only Mustek scanner attached */ > -#define USLEEP_POLL 1 > -#define USLEEP_SLEEP 20 > -#define USLEEP_WAITLONG 500 > +#define USLEEP_POLL msecs_to_jiffies(10) > +#define USLEEP_SLEEP msecs_to_jiffies(200) > +#define USLEEP_WAITLONG msecs_to_jiffies(5000) > > #define AUTOPROBE_IRQ > Looks OK otherwise. -- -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html