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? Regards, Oliver _______________________________________________ Socketcan-core mailing list [email protected] https://lists.berlios.de/mailman/listinfo/socketcan-core
