Wolfgang Grandegger wrote: > Oliver Hartkopp wrote: >> Wolfgang Grandegger wrote: >>> Sam Ravnborg wrote: >>>> On Wed, Sep 16, 2009 at 11:38:24AM +0200, Wolfgang Grandegger wrote: >>>>> I'm going to apply this patch to the trunk later today to fix >>>>> version dependencies with 2.6.31. I didn't fix the old drivers, >>>>> though. Still, not all drivers use TX_* return codes for the >>>>> xmit function. >>>>> >>>>> Wolfgang. >>>>> >>>>> can: Handle netdev->last_rx and netdev_tx_t properly for 2.6.31 >>>>> >>>>> Signed-off-by: Wolfgang Grandegger <[email protected]> >>>>> --- >>>>> kernel/2.6/drivers/net/can/cc770/cc770.c | 8 ++++++++ >>>>> kernel/2.6/drivers/net/can/dev.c | 2 ++ >>>>> kernel/2.6/drivers/net/can/ems_usb.c | 9 +++++++++ >>>>> kernel/2.6/drivers/net/can/esd_pci331.c | 9 +++++++++ >>>>> kernel/2.6/drivers/net/can/mcp251x.c | 5 +++++ >>>>> kernel/2.6/drivers/net/can/mscan/mscan.c | 6 ++++++ >>>>> kernel/2.6/drivers/net/can/sja1000/sja1000.c | 9 +++++++++ >>>>> kernel/2.6/drivers/net/can/slcan.c | 6 ++++++ >>>>> kernel/2.6/drivers/net/can/softing/softing_main.c | 7 +++++++ >>>>> 9 files changed, 61 insertions(+) >>>>> >>>>> Index: trunk/kernel/2.6/drivers/net/can/cc770/cc770.c >>>>> =================================================================== >>>>> --- trunk.orig/kernel/2.6/drivers/net/can/cc770/cc770.c >>>>> +++ trunk/kernel/2.6/drivers/net/can/cc770/cc770.c >>>>> @@ -422,7 +422,11 @@ static int cc770_set_bittiming(struct ne >>>>> return 0; >>>>> } >>>>> >>>>> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) >>>>> static int cc770_start_xmit(struct sk_buff *skb, struct net_device *dev) >>>>> +#else >>>>> +static netdev_tx_t cc770_start_xmit(struct sk_buff *skb, struct >>>>> net_device *dev) >>>>> +#endif >>>> If you defined netdev_tx_t in the can compat header if version is less >>>> than 2.6.31 then you did not need this. >>> We use the script strip-src to retrieve a source file for a defined >>> version of the kernel. For that reason, we prefer to use "if >>> LINUX_VERSION_CODE < KERNEL_VERSION()" directly. >>> >> Btw. >> >> The code might be unconditionally >> >> static netdev_tx_t cc770_start_xmit(..) >> >> and we can add a typedef in socketcan/can/dev.h depending on the kernel >> version, right? > > But then strip-src will extract netdev_tx_t also for kernel versions < > 2.6.31, right? >
Exactly. But i forgot to point out that the typedef would also be enabled in dev.h in kernel versions < 2.6.31 :-) Oliver _______________________________________________ Socketcan-core mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-core
