MIN/MAX in ide-timing.h
PATCH 1/4 MIN/MAX in ide-timing.h
I replaced the custom MIN/MAX macros with the type safe min/max macros from linux/kernel.h.
Quoted 3 lines · Vojtech Pavlik
How about if you used the "
min_t" and "max_t" macros inside FIT? That could help get rid of the casts completely (assuming the second and third parameters to FIT are expected to be constants).
Yes, that's better. It reduces the necessary changes to a minimum.
Signed-off-by Maximilian Attems <[email protected]>
---
linux-2.6.10-rc2-bk4-max/drivers/ide/ide-timing.h | 25 ++++++++++------------ 1 files changed, 12 insertions(+), 13 deletions(-)
drivers/ide/ide-timing.h renamed from drivers/ide/ide-timing.h~min-max-ide_ide-timing.h +12 -13
@@ -27,6 +27,7 @@* Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic */ +#include <linux/kernel.h> #include <linux/hdreg.h> #define XFER_PIO_5 0x0d
@@ -96,11 +97,9 @@ static struct ide_timing ide_timing[] =#define IDE_TIMING_UDMA 0x80#define IDE_TIMING_ALL 0xff -#define MIN (a,b) ((a)<(b)?(a):(b)) -#define MAX (a,b) ((a)>(b)?(a):(b)) -#define FIT (v,min,max) MAX(MIN(v,max),min) -#define ENOUGH (v,unit) (((v)-1)/(unit)+1) -#define EZ (v,unit) ((v)?ENOUGH(v,unit):0) +#define FIT (v,vmin,vmax) max_t(short,min_t(short,v,vmax),vmin) +#define ENOUGH (v,unit) (((v)-1)/(unit)+1) +#define EZ (v,unit) ((v)?ENOUGH(v,unit):0)#define XFER_MODE 0xf0#define XFER_UDMA_133 0x48
@@ -188,14 +187,14 @@ static void ide_timing_quantize(struct istatic void ide_timing_merge (struct ide_timing *a,struct ide_timing *b,struct ide_timing *m,unsigned int what) { -if (what &IDE_TIMING_SETUP ) m->setup =MAX (a->setup, b->setup); -if (what &IDE_TIMING_ACT8B ) m->act8b =MAX (a->act8b, b->act8b); -if (what &IDE_TIMING_REC8B ) m->rec8b =MAX (a->rec8b, b->rec8b); -if (what &IDE_TIMING_CYC8B ) m->cyc8b =MAX (a->cyc8b, b->cyc8b); -if (what &IDE_TIMING_ACTIVE ) m->active =MAX (a->active, b->active); -if (what &IDE_TIMING_RECOVER ) m->recover =MAX (a->recover, b->recover); -if (what &IDE_TIMING_CYCLE ) m->cycle =MAX (a->cycle, b->cycle); -if (what &IDE_TIMING_UDMA ) m->udma =MAX (a->udma, b->udma); +if (what &IDE_TIMING_SETUP ) m->setup =max (a->setup, b->setup); +if (what &IDE_TIMING_ACT8B ) m->act8b =max (a->act8b, b->act8b); +if (what &IDE_TIMING_REC8B ) m->rec8b =max (a->rec8b, b->rec8b); +if (what &IDE_TIMING_CYC8B ) m->cyc8b =max (a->cyc8b, b->cyc8b); +if (what &IDE_TIMING_ACTIVE ) m->active =max (a->active, b->active); +if (what &IDE_TIMING_RECOVER ) m->recover =max (a->recover, b->recover); +if (what &IDE_TIMING_CYCLE ) m->cycle =max (a->cycle, b->cycle); +if (what &IDE_TIMING_UDMA ) m->udma =max (a->udma, b->udma); }static struct ide_timing *ide_timing_find_mode (short speed)
_