]> rtime.felk.cvut.cz Git - socketcan-devel.git/commitdiff
Reduce clutter by eliminating kernel version dependencies.
authorthuermann <thuermann@030b6a49-0b11-0410-94ab-b0dab22257f2>
Sat, 8 Dec 2007 22:49:46 +0000 (22:49 +0000)
committerthuermann <thuermann@030b6a49-0b11-0410-94ab-b0dab22257f2>
Sat, 8 Dec 2007 22:49:46 +0000 (22:49 +0000)
git-svn-id: svn://svn.berlios.de//socketcan/trunk@585 030b6a49-0b11-0410-94ab-b0dab22257f2

kernel/2.6/net/can/af_can.c
kernel/2.6/net/can/bcm.c
kernel/2.6/net/can/compat.h [new file with mode: 0644]
kernel/2.6/net/can/proc.c
kernel/2.6/net/can/raw.c

index e412fddcd728490e1aaf30f77735c12e28e86e64..fe8c3ccfb9ed40409cb98c54b1117e2467205b87 100644 (file)
@@ -69,6 +69,9 @@
 #include <net/sock.h>
 
 #include "af_can.h"
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+#include "compat.h"
+#endif
 
 #include <linux/can/version.h> /* for RCSID. Removed by mkpatch script */
 RCSID("$Id$");
@@ -105,16 +108,6 @@ struct timer_list can_stattimer;   /* timer for statistics update */
 struct s_stats    can_stats;       /* packet statistics */
 struct s_pstats   can_pstats;      /* receive list statistics */
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-static void *kzalloc(size_t size, unsigned int __nocast flags)
-{
-       void *ret = kmalloc(size, flags);
-       if (ret)
-               memset(ret, 0, size);
-       return ret;
-}
-#endif
-
 /*
  * af_can socket functions
  */
@@ -914,11 +907,7 @@ static __init int can_init(void)
        if (stats_timer) {
                /* the statistics are updated every second (timer triggered) */
                setup_timer(&can_stattimer, can_stat_update, 0);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
                mod_timer(&can_stattimer, round_jiffies(jiffies + HZ));
-#else
-               mod_timer(&can_stattimer, jiffies + HZ);
-#endif
        } else
                can_stattimer.function = NULL;
 
index ea68facffc3e45d862de33bbd85d31d4d3be65d2..f6cbe28c73da8c1b0a390085a6352214cb407fe6 100644 (file)
@@ -59,6 +59,9 @@
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
 #include <net/net_namespace.h>
 #endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+#include "compat.h"
+#endif
 
 #include <linux/can/version.h> /* for RCSID. Removed by mkpatch script */
 RCSID("$Id$");
@@ -139,32 +142,6 @@ static inline struct bcm_sock *bcm_sk(const struct sock *sk)
 #endif
 }
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
-static void *kzalloc(size_t size, unsigned int __nocast flags)
-{
-       void *ret = kmalloc(size, flags);
-
-       if (ret)
-               memset(ret, 0, size);
-
-       return ret;
-}
-
-static inline void skb_get_timestamp(const struct sk_buff *skb,
-                                    struct timeval *stamp)
-{
-       stamp->tv_sec  = skb->stamp.tv_sec;
-       stamp->tv_usec = skb->stamp.tv_usec;
-}
-
-static inline void skb_set_timestamp(struct sk_buff *skb,
-                                    const struct timeval *stamp)
-{
-       skb->stamp.tv_sec  = stamp->tv_sec;
-       skb->stamp.tv_usec = stamp->tv_usec;
-}
-#endif
-
 #define CFSIZ sizeof(struct can_frame)
 #define OPSIZ sizeof(struct bcm_op)
 #define MHSIZ sizeof(struct bcm_msg_head)
@@ -213,11 +190,7 @@ static char *bcm_proc_getifname(int ifindex)
                return "any";
 
        /* no usage counting */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
        dev = __dev_get_by_index(&init_net, ifindex);
-#else
-       dev = __dev_get_by_index(ifindex);
-#endif
        if (dev)
                return dev->name;
 
@@ -324,11 +297,7 @@ static void bcm_can_tx(struct bcm_op *op)
        if (!op->ifindex)
                return;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
        dev = dev_get_by_index(&init_net, op->ifindex);
-#else
-       dev = dev_get_by_index(op->ifindex);
-#endif
        if (!dev) {
                /* RFC: should this bcm_op remove itself here? */
                return;
@@ -784,12 +753,8 @@ static int bcm_delete_rx_op(struct list_head *ops, canid_t can_id, int ifindex)
                                if (op->rx_reg_dev) {
                                        struct net_device *dev;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
                                        dev = dev_get_by_index(&init_net,
                                                               op->ifindex);
-#else
-                                       dev = dev_get_by_index(op->ifindex);
-#endif
                                        if (dev) {
                                                bcm_rx_unreg(dev, op);
                                                dev_put(dev);
@@ -1171,11 +1136,7 @@ static int bcm_rx_setup(struct bcm_msg_head *msg_head, struct msghdr *msg,
                if (ifindex) {
                        struct net_device *dev;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
                        dev = dev_get_by_index(&init_net, ifindex);
-#else
-                       dev = dev_get_by_index(ifindex);
-#endif
                        if (dev) {
                                err = can_rx_register(dev, op->can_id,
                                                      REGMASK(op->can_id),
@@ -1225,11 +1186,7 @@ static int bcm_tx_send(struct msghdr *msg, int ifindex, struct sock *sk)
                return err;
        }
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
        dev = dev_get_by_index(&init_net, ifindex);
-#else
-       dev = dev_get_by_index(ifindex);
-#endif
        if (!dev) {
                kfree_skb(skb);
                return -ENODEV;
@@ -1274,11 +1231,7 @@ static int bcm_sendmsg(struct kiocb *iocb, struct socket *sock,
                if (ifindex) {
                        struct net_device *dev;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
                        dev = dev_get_by_index(&init_net, ifindex);
-#else
-                       dev = dev_get_by_index(ifindex);
-#endif
                        if (!dev)
                                return -ENODEV;
 
@@ -1472,11 +1425,7 @@ static int bcm_release(struct socket *sock)
                        if (op->rx_reg_dev) {
                                struct net_device *dev;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
                                dev = dev_get_by_index(&init_net, op->ifindex);
-#else
-                               dev = dev_get_by_index(op->ifindex);
-#endif
                                if (dev) {
                                        bcm_rx_unreg(dev, op);
                                        dev_put(dev);
@@ -1520,11 +1469,7 @@ static int bcm_connect(struct socket *sock, struct sockaddr *uaddr, int len,
        if (addr->can_ifindex) {
                struct net_device *dev;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
                dev = dev_get_by_index(&init_net, addr->can_ifindex);
-#else
-               dev = dev_get_by_index(addr->can_ifindex);
-#endif
                if (!dev)
                        return -ENODEV;
 
diff --git a/kernel/2.6/net/can/compat.h b/kernel/2.6/net/can/compat.h
new file mode 100644 (file)
index 0000000..3cd4d92
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * $Id$
+ */
+
+#ifndef CAN_COMPAT_H
+#define CAN_COMPAT_H
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
+static inline void *kzalloc(size_t size, unsigned int __nocast flags)
+{
+       void *ret = kmalloc(size, flags);
+       if (ret)
+               memset(ret, 0, size);
+       return ret;
+}
+
+static inline void skb_get_timestamp(const struct sk_buff *skb,
+                                    struct timeval *stamp)
+{
+       stamp->tv_sec  = skb->stamp.tv_sec;
+       stamp->tv_usec = skb->stamp.tv_usec;
+}
+
+static inline void skb_set_timestamp(struct sk_buff *skb,
+                                    const struct timeval *stamp)
+{
+       skb->stamp.tv_sec  = stamp->tv_sec;
+       skb->stamp.tv_usec = stamp->tv_usec;
+}
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
+#define round_jiffies(j) (j)
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+#define   dev_get_by_index(ns, ifindex)   dev_get_by_index(ifindex)
+#define __dev_get_by_index(ns, ifindex) __dev_get_by_index(ifindex)
+#endif
+
+#endif
index f28d5b2ad544b1c1e8340735340f6fdc342bf546..8ead24d391d60648ef4b38824779a14e00f7ecd0 100644 (file)
@@ -48,6 +48,9 @@
 #include <linux/can/core.h>
 
 #include "af_can.h"
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+#include "compat.h"
+#endif
 
 #include <linux/can/version.h> /* for RCSID. Removed by mkpatch script */
 RCSID("$Id$");
@@ -188,11 +191,7 @@ void can_stat_update(unsigned long data)
        can_stats.matches_delta   = 0;
 
        /* restart timer (one second) */
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
        mod_timer(&can_stattimer, round_jiffies(jiffies + HZ));
-#else
-       mod_timer(&can_stattimer, jiffies + HZ);
-#endif
 }
 
 /*
index 70533d595357aeb34413a3f49d4895de8652c495..595978af19aa91a9ad30feaa189ba615414c4e6d 100644 (file)
@@ -57,6 +57,9 @@
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
 #include <net/net_namespace.h>
 #endif
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
+#include "compat.h"
+#endif
 
 #include <linux/can/version.h> /* for RCSID. Removed by mkpatch script */
 RCSID("$Id$");
@@ -316,11 +319,7 @@ static int raw_release(struct socket *sock)
                if (ro->ifindex) {
                        struct net_device *dev;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
                        dev = dev_get_by_index(&init_net, ro->ifindex);
-#else
-                       dev = dev_get_by_index(ro->ifindex);
-#endif
                        if (dev) {
                                raw_disable_allfilters(dev, sk);
                                dev_put(dev);
@@ -362,11 +361,7 @@ static int raw_bind(struct socket *sock, struct sockaddr *uaddr, int len)
        if (addr->can_ifindex) {
                struct net_device *dev;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
                dev = dev_get_by_index(&init_net, addr->can_ifindex);
-#else
-               dev = dev_get_by_index(addr->can_ifindex);
-#endif
                if (!dev) {
                        err = -ENODEV;
                        goto out;
@@ -398,11 +393,7 @@ static int raw_bind(struct socket *sock, struct sockaddr *uaddr, int len)
                        if (ro->ifindex) {
                                struct net_device *dev;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
                                dev = dev_get_by_index(&init_net, ro->ifindex);
-#else
-                               dev = dev_get_by_index(ro->ifindex);
-#endif
                                if (dev) {
                                        raw_disable_allfilters(dev, sk);
                                        dev_put(dev);
@@ -489,11 +480,7 @@ static int raw_setsockopt(struct socket *sock, int level, int optname,
                lock_sock(sk);
 
                if (ro->bound && ro->ifindex)
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
                        dev = dev_get_by_index(&init_net, ro->ifindex);
-#else
-                       dev = dev_get_by_index(ro->ifindex);
-#endif
 
                if (ro->bound) {
                        /* (try to) register the new filters */
@@ -547,11 +534,7 @@ static int raw_setsockopt(struct socket *sock, int level, int optname,
                lock_sock(sk);
 
                if (ro->bound && ro->ifindex)
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
                        dev = dev_get_by_index(&init_net, ro->ifindex);
-#else
-                       dev = dev_get_by_index(ro->ifindex);
-#endif
 
                /* remove current error mask */
                if (ro->bound) {
@@ -681,11 +664,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct socket *sock,
        } else
                ifindex = ro->ifindex;
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
        dev = dev_get_by_index(&init_net, ifindex);
-#else
-       dev = dev_get_by_index(ifindex);
-#endif
        if (!dev)
                return -ENXIO;