Typedef a suitable jiffies_t rather than using typeof everywhere. --- diff/drivers/md/dm-iostats.c 2002-12-16 10:45:56.000000000 +0000 +++ source/drivers/md/dm-iostats.c 2002-12-16 11:08:38.000000000 +0000 @@ -16,11 +16,13 @@ static kmem_cache_t *_iostats_cache; mempool_t *_iostats_pool; +typedef unsigned long jiffies_t; + struct dm_iostats { struct dm_target *ti; int rw; - typeof(jiffies) jiffies_start_io; + jiffies_t jiffies_start_io; void (*end_io) (struct buffer_head * bh, int uptodate); void *context; @@ -42,8 +44,8 @@ struct dm_dev *dev; uint32_t reads; uint32_t writes; - typeof(jiffies) jiffies_r; - typeof(jiffies) jiffies_w; + jiffies_t jiffies_r; + jiffies_t jiffies_w; count_t count_r; count_t count_w; }; @@ -158,7 +160,7 @@ static void iostats_avg_end_io(struct buffer_head *bh, int uptodate) { int flags; - typeof(jiffies) j; + jiffies_t j; struct dm_iostats *io = bh->b_private; struct iostats_avg_c *ic = io->ti->private; @@ -243,9 +245,9 @@ return 0; } -static inline uint _calc(typeof(jiffies) j, count_t c) +static inline uint _calc(jiffies_t j, count_t c) { - typeof(jiffies) const m = 1000 / HZ; + const jiffies_t m = 1000 / HZ; return (c ? (j * m / c) : (j * m)); }