summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb
diff options
context:
space:
mode:
authorThierry MERLE <thierry.merle@free.fr>2008-09-01 22:28:57 +0200
committerThierry MERLE <thierry.merle@free.fr>2008-09-01 22:28:57 +0200
commit2f96c8ed0e34f83524cfce79d48ef98ae3a5554f (patch)
treecad442f19e9e6aea8c5824c04b2ec5c2a13385a4 /linux/drivers/media/dvb
parent7804585be37d9aa982df2d476a795cbe459dae4a (diff)
downloadmediapointer-dvb-s2-2f96c8ed0e34f83524cfce79d48ef98ae3a5554f.tar.gz
mediapointer-dvb-s2-2f96c8ed0e34f83524cfce79d48ef98ae3a5554f.tar.bz2
budget: udelay changed to mdelay
From: Thierry MERLE <thierry.merle@free.fr> 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 Priority: high Acked-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Thierry MERLE <thierry.merle@free.fr>
Diffstat (limited to 'linux/drivers/media/dvb')
-rw-r--r--linux/drivers/media/dvb/ttpci/budget-patch.c3
-rw-r--r--linux/drivers/media/dvb/ttpci/budget.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/linux/drivers/media/dvb/ttpci/budget-patch.c b/linux/drivers/media/dvb/ttpci/budget-patch.c
index 8ae0126b7..b53b4b6d9 100644
--- a/linux/drivers/media/dvb/ttpci/budget-patch.c
+++ b/linux/drivers/media/dvb/ttpci/budget-patch.c
@@ -116,7 +116,8 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long
DiseqcSendByte(budget, 0xff);
else {
saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI);
- udelay(12500);
+ mdelay(12);
+ udelay(500);
saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO);
}
msleep(20);
diff --git a/linux/drivers/media/dvb/ttpci/budget.c b/linux/drivers/media/dvb/ttpci/budget.c
index 57709ef02..851e523fb 100644
--- a/linux/drivers/media/dvb/ttpci/budget.c
+++ b/linux/drivers/media/dvb/ttpci/budget.c
@@ -108,7 +108,8 @@ static int SendDiSEqCMsg (struct budget *budget, int len, u8 *msg, unsigned long
DiseqcSendByte(budget, 0xff);
else {
saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTHI);
- udelay(12500);
+ mdelay(12);
+ udelay(500);
saa7146_setgpio(dev, 3, SAA7146_GPIO_OUTLO);
}
msleep(20);