Compile and link errors in irda in test11-pre3
Subsystems (2)
Hi.
When I try to compile 2.4.0-test11-pre3 I get the following in the link phase:
drivers/net/irda/irda.o: In function `nsc_ircc_hard_xmit_fir':
drivers/net/irda/irda.o(.text+0x346e): undefined reference to nsc_ircc_change_speed_complete' drivers/net/irda/irda.o: In function toshoboe_hard_xmit':
drivers/net/irda/irda.o(.text+0x632e): undefined reference to toshoboe_change_speed' drivers/net/irda/irda.o: In function ircc_hard_xmit':
drivers/net/irda/irda.o(.text+0x79c3): undefined reference to smc_ircc_change_speed' net/network.o: In function irda_proto_init':
net/network.o(.text.init+0x41b3): undefined reference to `irda_init'
make: *** [vmlinux] Error 1
The patch below fixes this. I'm not familiar with the irda code, so this might be all wrong (thus Linus is not cc'ed).
net/irda/irsyms.c +1 -1
@@ -182,7 +182,7 @@EXPORT_SYMBOL (irtty_set_packet_mode);#endif -static int __init irda_init (void ) +int __init irda_init (void ) {IRDA_DEBUG (0 , __FUNCTION__"()\n" );
drivers/net/irda/nsc-ircc.c +1 -1
@@ -1129,7 +1129,7 @@if ((speed =irda_get_speed (skb)) != self->io.speed) {/* Check for empty frame */ if (!skb->len) { -nsc_ircc_change_speed_complete (self, speed); +nsc_ircc_change_speed (self, speed);return 0 ; }else self->new_speed = speed;
drivers/net/irda/smc-ircc.c +1 -1
@@ -620,7 +620,7 @@if ((speed =irda_get_speed (skb)) != self->io.speed) {/* Check for empty frame */ if (!skb->len) { -smc_ircc_change_speed (self, speed); + self->new_speed = speed;return 0 ; }else self->new_speed = speed;
drivers/net/irda/toshoboe.c +1 -1
@@ -275,7 +275,7 @@if ((speed =irda_get_speed (skb)) != self->io.speed) {/* Check for empty frame */ if (!skb->len) { -toshoboe_change_speed (self, speed); + self->new_speed = speed;return 0 ; }else self->new_speed = speed;
Signature · 9 lines
Regards,
Rasmus([email protected])
"God prevent we should ever be twenty years without a revolution."
-- Thomas Jefferson
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/Linus,
Here is a patch that fixes the compile and link errors in the latest IrDA code in linux-2.4.0-test11-pre3.
Changes:
o Fixes some errors in the change_speed name for a couple of drivers. Includes the previous patch I sent you (nsc-ircc) (me)
o Fixes irport driver where the netdev timeout was set to shorter than the time required for a speed change (me)
o Fixes warning in init code in irsyms.c (Rasmus Andersen)
-- Dag
drivers/net/irda/irport.c +1 -2
@@ -230,7 +230,7 @@ irport_open(int i, unsigned int iobase, dev->init = irport_net_init; dev->hard_start_xmit = irport_hard_xmit; dev->tx_timeout = irport_timeout; - dev->watchdog_timeo =HZ /20 ; + dev->watchdog_timeo =HZ ;/* Allow time enough for speed change */ dev->open = irport_net_open; dev->stop = irport_net_close; dev->get_stats = irport_net_get_stats;
@@ -496,7 +496,6 @@ static void irport_write_wakeup(struct i self->tx_buff.data += actual; self->tx_buff.len -= actual; }else { -/* * Now serial buffer is almost free & we can start * transmission of another packet. But first we must check
drivers/net/irda/nsc-ircc.c +1 -1
@@ -1129,7 +1129,7 @@ static int nsc_ircc_hard_xmit_fir(structif ((speed =irda_get_speed (skb)) != self->io.speed) {/* Check for empty frame */ if (!skb->len) { -nsc_ircc_change_speed_complete (self, speed); +nsc_ircc_change_speed (self, speed);return 0 ; }else self->new_speed = speed;
drivers/net/irda/smc-ircc.c +9 -9
@@ -7,7 +7,7 @@* Author: Thomas Davis ([email protected]) * Created at: * Modified at: Tue Feb 22 10:05:06 2000 -* Modified by: Dag Brattli <[email protected]> +* Modified by: Dag Brattli <[email protected]> * * Copyright (c) 1999-2000 Dag Brattli * Copyright (c) 1998-1999 Thomas Davis,
@@ -252,6 +252,7 @@ static int ircc_open(int i, unsigned intIR_115200 |IR_576000 |IR_1152000 |(IR_4000000 <<8 ); irport->qos.min_turn_time.bits =0x07 ; + irport->qos.window_size.bits =0x01 ;irda_qos_bits_to_value (&irport->qos); irport->flags =IFF_FIR |IFF_MIR |IFF_SIR |IFF_DMA |IFF_PIO ;
@@ -508,6 +509,10 @@ static void ircc_change_speed(void *privoutb (0x00 , iobase+IRCC_MASTER );switch (speed) { +default : +IRDA_DEBUG (0 , __FUNCTION__"(), unknown baud rate of %d\n" , + speed); +/* FALLTHROUGH */ case 9600 :case 19200 :case 38400 :
@@ -535,10 +540,6 @@ static void ircc_change_speed(void *priv fast =IRCC_LCR_A_FAST ;IRDA_DEBUG (0 , __FUNCTION__"(), handling baud of 4000000\n" );break ; -default : -IRDA_DEBUG (0 , __FUNCTION__"(), unknown baud rate of %d\n" , - speed); -return ; }register_bank (iobase,0 );
@@ -620,7 +621,7 @@ static int ircc_hard_xmit(struct sk_buffif ((speed =irda_get_speed (skb)) != self->io.speed) {/* Check for empty frame */ if (!skb->len) { -smc_ircc_change_speed (self, speed); +ircc_change_speed (self, speed);return 0 ; }else self->new_speed = speed;
@@ -638,7 +639,7 @@ static int ircc_hard_xmit(struct sk_buffint bofs;/* -* Compute who many BOFS (STA or PA's) we need to waste the +* Compute how many BOFs (STA or PA's) we need to waste the * min turn time given the speed of the link. */ bofs = mtt * (self->io.speed /1000 ) /8000 ;
@@ -650,7 +651,6 @@ static int ircc_hard_xmit(struct sk_buff/* Transmit frame */ ircc_dma_xmit (self, iobase,0 ); } -spin_unlock_irqrestore (&self->lock, flags);dev_kfree_skb (skb);
@@ -767,6 +767,7 @@ static int ircc_dma_receive(struct ircc_setup_dma (self->io.dma, self->rx_buff.data, self->rx_buff.truesize,DMA_RX_MODE ); +/* Set max Rx frame size */ register_bank (iobase,4 );outb ((2050 >>8 ) &0x0f , iobase+IRCC_RX_SIZE_HI );
@@ -795,7 +796,6 @@ static int ircc_dma_receive(struct ircc_* * Finished with receiving frames * -* */ static void ircc_dma_receive_complete (struct ircc_cb *self,int iobase) {
drivers/net/irda/toshoboe.c +1 -1
@@ -275,7 +275,7 @@ toshoboe_hard_xmit (struct sk_buff *skb,if ((speed =irda_get_speed (skb)) != self->io.speed) {/* Check for empty frame */ if (!skb->len) { -toshoboe_change_speed (self, speed); +toshoboe_setbaud (self, speed);return 0 ; }else self->new_speed = speed;
net/irda/irsyms.c +1 -1
@@ -182,7 +182,7 @@EXPORT_SYMBOL (irtty_set_packet_mode);#endif -static int __init irda_init (void ) +int __init irda_init (void ) {IRDA_DEBUG (0 , __FUNCTION__"()\n" );
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/