Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c4e3fd94 authored by Thierry MERLE's avatar Thierry MERLE Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB (8877): b2c2 and bt8xx: udelay to mdelay



b2c2-flexcop, dvb/bt8xx and video/bt8xx fails to build on ARM with:

__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

Signed-off-by: default avatarThierry MERLE <thierry.merle@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent db210426
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -137,7 +137,8 @@ static int flexcop_send_diseqc_msg(struct dvb_frontend* fe, int len, u8 *msg, un
			flexcop_diseqc_send_byte(fe, 0xff);
		else {
			flexcop_set_tone(fe, SEC_TONE_ON);
			udelay(12500);
			mdelay(12);
			udelay(500);
			flexcop_set_tone(fe, SEC_TONE_OFF);
		}
		msleep(20);
+2 −2
Original line number Diff line number Diff line
@@ -1244,7 +1244,7 @@ static int dst_command(struct dst_state *state, u8 *data, u8 len)
		goto error;
	}
	if (state->type_flags & DST_TYPE_HAS_FW_1)
		udelay(3000);
		mdelay(3);
	if (read_dst(state, &reply, GET_ACK)) {
		dprintk(verbose, DST_DEBUG, 1, "Trying to recover.. ");
		if ((dst_error_recovery(state)) < 0) {
@@ -1260,7 +1260,7 @@ static int dst_command(struct dst_state *state, u8 *data, u8 len)
	if (len >= 2 && data[0] == 0 && (data[1] == 1 || data[1] == 3))
		goto error;
	if (state->type_flags & DST_TYPE_HAS_FW_1)
		udelay(3000);
		mdelay(3);
	else
		udelay(2000);
	if (!dst_wait_dst_ready(state, NO_DELAY))
+2 −1
Original line number Diff line number Diff line
@@ -4039,7 +4039,8 @@ static void __devinit boot_msp34xx(struct bttv *btv, int pin)

	gpio_inout(mask,mask);
	gpio_bits(mask,0);
	udelay(2500);
	mdelay(2);
	udelay(500);
	gpio_bits(mask,mask);

	if (bttv_gpio)