diff options
author | Thierry MERLE <thierry.merle@free.fr> | 2008-09-01 16:28:57 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-09-04 17:26:48 -0400 |
commit | db210426d48998ed412f267b28cf6e62ea0496a8 (patch) | |
tree | 4d3f4ee095ab0b0f675dd0fa9a8e52a640279576 /drivers | |
parent | db0a2901a32c44510d7d429358d017143a649a70 (diff) |
V4L/DVB (8876): budget: udelay changed to mdelay
budget.ko fails to build on ARM with:
ERROR: "__bad_udelay" [drivers/media/dvb/ttpci/budget.ko] undefined!
make[1]: *** [__modpost] Error 1
__bad_udelay is specifically designed on ARM to fail when udelay is
called in a bad way. arch/arm/include/asm/delay.h has this to say
about __bad_udelay:
/*
* This function intentionally does not exist; if you see references to
* it, it means that you're calling udelay() with an out of range value.
*
* With currently imposed limits, this means that we support a max delay
* of 2000us. Further limits: HZ<=1000 and bogomips<=3355
*/
extern void __bad_udelay(void);
Solution is to replace udelay by a mdelay and udelay with value less than 2000
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/dvb/ttpci/budget-patch.c | 3 | ||||
-rw-r--r-- | drivers/media/dvb/ttpci/budget.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/media/dvb/ttpci/budget-patch.c b/drivers/media/dvb/ttpci/budget-patch.c index 39bd0a20f53a..aa5ed4ef19f2 100644 --- a/drivers/media/dvb/ttpci/budget-patch.c +++ b/drivers/media/dvb/ttpci/budget-patch.c | |||
@@ -116,7 +116,8 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long | |||
116 | DiseqcSendByte(budget, 0xff); | 116 | DiseqcSendByte(budget, 0xff); |
117 | else { | 117 | else { |
118 | saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI); | 118 | saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI); |
119 | udelay(12500); | 119 | mdelay(12); |
120 | udelay(500); | ||
120 | saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); | 121 | saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); |
121 | } | 122 | } |
122 | msleep(20); | 123 | msleep(20); |
diff --git a/drivers/media/dvb/ttpci/budget.c b/drivers/media/dvb/ttpci/budget.c index 2293d80c6e51..f0068996ac07 100644 --- a/drivers/media/dvb/ttpci/budget.c +++ b/drivers/media/dvb/ttpci/budget.c | |||
@@ -108,7 +108,8 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long | |||
108 | DiseqcSendByte(budget, 0xff); | 108 | DiseqcSendByte(budget, 0xff); |
109 | else { | 109 | else { |
110 | saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI); | 110 | saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI); |
111 | udelay(12500); | 111 | mdelay(12); |
112 | udelay(500); | ||
112 | saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); | 113 | saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO); |
113 | } | 114 | } |
114 | msleep(20); | 115 | msleep(20); |