Commit cc05368c authored by Martin Michlmayr's avatar Martin Michlmayr Committed by David S. Miller

hisax: remove bad udelay call to fix build error on ARM

The hisax ISDN driver fails to build on ARM with CONFIG_HISAX_ELSA:

| drivers/built-in.o: In function `modem_set_dial':
| drivers/isdn/hisax/elsa_ser.c:535: undefined reference to `__bad_udelay'
| drivers/isdn/hisax/elsa_ser.c:544: undefined reference to `__bad_udelay'
| drivers/built-in.o: In function `modem_set_init':
| drivers/isdn/hisax/elsa_ser.c:486: undefined reference to `__bad_udelay'
| [...]

According to the comment in arch/arm/include/asm/delay.h, __bad_udelay
is specifically designed on ARM to produce a build failure when udelay
is called with a value > 2000.
Signed-off-by: default avatarMartin Michlmayr <tbm@cyrius.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 23ca0c98
...@@ -477,62 +477,62 @@ static void ...@@ -477,62 +477,62 @@ static void
modem_set_init(struct IsdnCardState *cs) { modem_set_init(struct IsdnCardState *cs) {
int timeout; int timeout;
#define RCV_DELAY 20000 #define RCV_DELAY 20
modem_write_cmd(cs, MInit_1, strlen(MInit_1)); modem_write_cmd(cs, MInit_1, strlen(MInit_1));
timeout = 1000; timeout = 1000;
while(timeout-- && cs->hw.elsa.transcnt) while(timeout-- && cs->hw.elsa.transcnt)
udelay(1000); udelay(1000);
debugl1(cs, "msi tout=%d", timeout); debugl1(cs, "msi tout=%d", timeout);
udelay(RCV_DELAY); mdelay(RCV_DELAY);
modem_write_cmd(cs, MInit_2, strlen(MInit_2)); modem_write_cmd(cs, MInit_2, strlen(MInit_2));
timeout = 1000; timeout = 1000;
while(timeout-- && cs->hw.elsa.transcnt) while(timeout-- && cs->hw.elsa.transcnt)
udelay(1000); udelay(1000);
debugl1(cs, "msi tout=%d", timeout); debugl1(cs, "msi tout=%d", timeout);
udelay(RCV_DELAY); mdelay(RCV_DELAY);
modem_write_cmd(cs, MInit_3, strlen(MInit_3)); modem_write_cmd(cs, MInit_3, strlen(MInit_3));
timeout = 1000; timeout = 1000;
while(timeout-- && cs->hw.elsa.transcnt) while(timeout-- && cs->hw.elsa.transcnt)
udelay(1000); udelay(1000);
debugl1(cs, "msi tout=%d", timeout); debugl1(cs, "msi tout=%d", timeout);
udelay(RCV_DELAY); mdelay(RCV_DELAY);
modem_write_cmd(cs, MInit_4, strlen(MInit_4)); modem_write_cmd(cs, MInit_4, strlen(MInit_4));
timeout = 1000; timeout = 1000;
while(timeout-- && cs->hw.elsa.transcnt) while(timeout-- && cs->hw.elsa.transcnt)
udelay(1000); udelay(1000);
debugl1(cs, "msi tout=%d", timeout); debugl1(cs, "msi tout=%d", timeout);
udelay(RCV_DELAY ); mdelay(RCV_DELAY);
modem_write_cmd(cs, MInit_5, strlen(MInit_5)); modem_write_cmd(cs, MInit_5, strlen(MInit_5));
timeout = 1000; timeout = 1000;
while(timeout-- && cs->hw.elsa.transcnt) while(timeout-- && cs->hw.elsa.transcnt)
udelay(1000); udelay(1000);
debugl1(cs, "msi tout=%d", timeout); debugl1(cs, "msi tout=%d", timeout);
udelay(RCV_DELAY); mdelay(RCV_DELAY);
modem_write_cmd(cs, MInit_6, strlen(MInit_6)); modem_write_cmd(cs, MInit_6, strlen(MInit_6));
timeout = 1000; timeout = 1000;
while(timeout-- && cs->hw.elsa.transcnt) while(timeout-- && cs->hw.elsa.transcnt)
udelay(1000); udelay(1000);
debugl1(cs, "msi tout=%d", timeout); debugl1(cs, "msi tout=%d", timeout);
udelay(RCV_DELAY); mdelay(RCV_DELAY);
modem_write_cmd(cs, MInit_7, strlen(MInit_7)); modem_write_cmd(cs, MInit_7, strlen(MInit_7));
timeout = 1000; timeout = 1000;
while(timeout-- && cs->hw.elsa.transcnt) while(timeout-- && cs->hw.elsa.transcnt)
udelay(1000); udelay(1000);
debugl1(cs, "msi tout=%d", timeout); debugl1(cs, "msi tout=%d", timeout);
udelay(RCV_DELAY); mdelay(RCV_DELAY);
} }
static void static void
modem_set_dial(struct IsdnCardState *cs, int outgoing) { modem_set_dial(struct IsdnCardState *cs, int outgoing) {
int timeout; int timeout;
#define RCV_DELAY 20000 #define RCV_DELAY 20
modem_write_cmd(cs, MInit_speed28800, strlen(MInit_speed28800)); modem_write_cmd(cs, MInit_speed28800, strlen(MInit_speed28800));
timeout = 1000; timeout = 1000;
while(timeout-- && cs->hw.elsa.transcnt) while(timeout-- && cs->hw.elsa.transcnt)
udelay(1000); udelay(1000);
debugl1(cs, "msi tout=%d", timeout); debugl1(cs, "msi tout=%d", timeout);
udelay(RCV_DELAY); mdelay(RCV_DELAY);
if (outgoing) if (outgoing)
modem_write_cmd(cs, MInit_dialout, strlen(MInit_dialout)); modem_write_cmd(cs, MInit_dialout, strlen(MInit_dialout));
else else
...@@ -541,7 +541,7 @@ modem_set_dial(struct IsdnCardState *cs, int outgoing) { ...@@ -541,7 +541,7 @@ modem_set_dial(struct IsdnCardState *cs, int outgoing) {
while(timeout-- && cs->hw.elsa.transcnt) while(timeout-- && cs->hw.elsa.transcnt)
udelay(1000); udelay(1000);
debugl1(cs, "msi tout=%d", timeout); debugl1(cs, "msi tout=%d", timeout);
udelay(RCV_DELAY); mdelay(RCV_DELAY);
} }
static void static void
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment