Messages in this thread Patch in this message | | | From | Denis Vlasenko <> | Subject | [PATCH 2/3] remove references to MAX_UDELAY_MS; fix comment | Date | Tue, 22 Aug 2006 15:51:48 +0200 |
| |
On Tuesday 22 August 2006 15:48, Denis Vlasenko wrote: > A few arch files won't see the definition of udelay() > in asm/delay.h anymore. Prevent that from biting us later.
We are going to kill MAX_UDELAY_MS, so replace it in common code with 1. Also fix a buglet on the way: mpc83xx_spi->nsecs > MAX_UDELAY_MS * 1000 was comparing nanoseconds to microseconds.
Signed-off-by: Denis Vlasenko <vda.linux@googlemail.com> -- vda diff -urpN linux-2.6.17.9.new7.1/drivers/scsi/ipr.c linux-2.6.17.9.new7.2/drivers/scsi/ipr.c --- linux-2.6.17.9.new7.1/drivers/scsi/ipr.c 2006-08-18 18:26:24.000000000 +0200 +++ linux-2.6.17.9.new7.2/drivers/scsi/ipr.c 2006-08-22 15:28:17.000000000 +0200 @@ -1598,11 +1598,7 @@ static int ipr_wait_iodbg_ack(struct ipr if (pcii_reg & IPR_PCII_IO_DEBUG_ACKNOWLEDGE) return 0; - /* udelay cannot be used if delay is more than a few milliseconds */ - if ((delay / 1000) > MAX_UDELAY_MS) - mdelay(delay / 1000); - else - udelay(delay); + udelay(delay); delay += delay; } diff -urpN linux-2.6.17.9.new7.1/drivers/spi/spi_bitbang.c linux-2.6.17.9.new7.2/drivers/spi/spi_bitbang.c --- linux-2.6.17.9.new7.1/drivers/spi/spi_bitbang.c 2006-08-18 18:26:24.000000000 +0200 +++ linux-2.6.17.9.new7.2/drivers/spi/spi_bitbang.c 2006-08-22 15:28:17.000000000 +0200 @@ -169,7 +169,7 @@ int spi_bitbang_setup_transfer(struct sp hz = spi->max_speed_hz; if (hz) { cs->nsecs = (1000000000/2) / hz; - if (cs->nsecs > (MAX_UDELAY_MS * 1000 * 1000)) + if (cs->nsecs > (1000 * 1000)) return -EINVAL; } diff -urpN linux-2.6.17.9.new7.1/drivers/spi/spi_mpc83xx.c linux-2.6.17.9.new7.2/drivers/spi/spi_mpc83xx.c --- linux-2.6.17.9.new7.1/drivers/spi/spi_mpc83xx.c 2006-08-18 18:26:24.000000000 +0200 +++ linux-2.6.17.9.new7.2/drivers/spi/spi_mpc83xx.c 2006-08-22 15:28:17.000000000 +0200 @@ -211,7 +211,7 @@ int mpc83xx_spi_setup_transfer(struct sp if (!hz) hz = spi->max_speed_hz; mpc83xx_spi->nsecs = (1000000000 / 2) / hz; - if (mpc83xx_spi->nsecs > MAX_UDELAY_MS * 1000) + if (mpc83xx_spi->nsecs > (1000 * 1000)) return -EINVAL; if (bits_per_word == 32) diff -urpN linux-2.6.17.9.new7.1/include/asm-parisc/delay.h linux-2.6.17.9.new7.2/include/asm-parisc/delay.h --- linux-2.6.17.9.new7.1/include/asm-parisc/delay.h 2006-08-18 18:26:24.000000000 +0200 +++ linux-2.6.17.9.new7.2/include/asm-parisc/delay.h 2006-08-22 15:28:17.000000000 +0200 @@ -24,9 +24,8 @@ static __inline__ void __cr16_delay(unsi /* * Note: Due to unsigned math, cr16 rollovers shouldn't be - * a problem here. However, on 32 bit, we need to make sure - * we don't pass in too big a value. The current default - * value of MAX_UDELAY_MS should help prevent this. + * a problem here. On 32 bit, we are protected in udelay() + * from passing in too big a value. */ start = mfctl(16); | |