Re: [RTnet-developers] [PATCH] Build fixes for 2.6.36
Brought to you by:
bet-frogger,
kiszka
From: Wolfgang G. <wg...@gr...> - 2011-02-09 12:06:59
|
On 02/09/2011 12:49 PM, Jan Kiszka wrote: > On 2011-02-09 12:08, Wolfgang Grandegger wrote: >> Signed-off-by: Wolfgang Grandegger <wg...@de...> >> --- >> stack/include/rtnet_port.h | 9 +++++++++ >> stack/ipv4/route.c | 1 + >> stack/rtcfg/rtcfg_proc.c | 1 + >> stack/rtnet_chrdev.c | 9 +++++++++ >> 4 files changed, 20 insertions(+), 0 deletions(-) >> >> diff --git a/stack/include/rtnet_port.h b/stack/include/rtnet_port.h >> index b47c0db..09101cc 100644 >> --- a/stack/include/rtnet_port.h >> +++ b/stack/include/rtnet_port.h >> @@ -213,6 +213,15 @@ static inline void *netdev_priv(struct net_device *dev) >> #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) >> #endif >> >> +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,35) >> +#define NIPQUAD(addr) \ >> + ((unsigned char *)&addr)[0], \ >> + ((unsigned char *)&addr)[1], \ >> + ((unsigned char *)&addr)[2], \ >> + ((unsigned char *)&addr)[3] >> +#define NIPQUAD_FMT "%u.%u.%u.%u" >> +#endif >> + >> #endif /* __KERNEL__ */ >> >> #endif /* __RTNET_PORT_H_ */ >> diff --git a/stack/ipv4/route.c b/stack/ipv4/route.c >> index 2151686..505b32e 100644 >> --- a/stack/ipv4/route.c >> +++ b/stack/ipv4/route.c >> @@ -26,6 +26,7 @@ >> #include <net/ip.h> >> >> #include <rtnet_internal.h> >> +#include <rtnet_port.h> >> #include <rtnet_chrdev.h> >> #include <ipv4/af_inet.h> >> #include <ipv4/route.h> >> diff --git a/stack/rtcfg/rtcfg_proc.c b/stack/rtcfg/rtcfg_proc.c >> index 3d55d50..93aafd8 100644 >> --- a/stack/rtcfg/rtcfg_proc.c >> +++ b/stack/rtcfg/rtcfg_proc.c >> @@ -24,6 +24,7 @@ >> >> #include <rtdev.h> >> #include <rtnet_internal.h> >> +#include <rtnet_port.h> >> #include <rtcfg/rtcfg_conn_event.h> >> #include <rtcfg/rtcfg_event.h> >> #include <rtcfg/rtcfg_frame.h> > > OK for this. > >> diff --git a/stack/rtnet_chrdev.c b/stack/rtnet_chrdev.c >> index b0f2863..0d3fae3 100644 >> --- a/stack/rtnet_chrdev.c >> +++ b/stack/rtnet_chrdev.c >> @@ -47,8 +47,13 @@ LIST_HEAD(ioctl_handlers); >> * @request: >> * @arg: >> */ >> +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,35) >> +static long rtnet_ioctl(struct file *file, >> + unsigned int request, unsigned long arg) >> +#else >> static int rtnet_ioctl(struct inode *inode, struct file *file, >> unsigned int request, unsigned long arg) >> +#endif Any clever idea on how to handle this unconditionally? >> { >> struct rtnet_ioctl_head head; >> struct rtnet_device *rtdev = NULL; >> @@ -286,7 +291,11 @@ void rtnet_unregister_ioctls(struct rtnet_ioctls *ioctls) >> >> >> static struct file_operations rtnet_fops = { >> +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,35) >> + .unlocked_ioctl = rtnet_ioctl, >> +#else >> .ioctl= rtnet_ioctl, >> +#endif >> }; >> >> static struct miscdevice rtnet_chr_misc_dev = { > > But here we should be able to rely on Xenomai redefining unlocked_ioctl > to ioctl on 2.4 kernels. Means: convert unconditionally. Can you check this? Well, as I just realized, in Xenomai we just use: #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11) ##define unlocked_ioctl ioctl #endif with the modified new argument list. But this will not work for < 2.6.11 :-(. Wolfgang. |