From d0973506ba1d08b7e2eaa85891a5cff85abd9e50 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 25 Dec 2005 21:57:14 +0000
Subject: [PATCH] fix kernel version detection in switch driver

SVN-Revision: 2782
---
 openwrt/target/linux/package/switch/src/Makefile      | 3 ++-
 openwrt/target/linux/package/switch/src/switch-core.h | 9 +++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/openwrt/target/linux/package/switch/src/Makefile b/openwrt/target/linux/package/switch/src/Makefile
index e4b2b7f38b..4c5f911ea2 100644
--- a/openwrt/target/linux/package/switch/src/Makefile
+++ b/openwrt/target/linux/package/switch/src/Makefile
@@ -11,8 +11,9 @@
 #
 
 obj-m	:= switch-core.o switch-adm.o switch-robo.o
-export-objs := switch-core.o
 
 ifeq ($(MAKING_MODULES),1)
+export-objs := switch-core.o
+
 -include $(TOPDIR)/Rules.make
 endif
diff --git a/openwrt/target/linux/package/switch/src/switch-core.h b/openwrt/target/linux/package/switch/src/switch-core.h
index c878d47868..9927e85192 100644
--- a/openwrt/target/linux/package/switch/src/switch-core.h
+++ b/openwrt/target/linux/package/switch/src/switch-core.h
@@ -1,6 +1,7 @@
 #ifndef __SWITCH_CORE_H
 #define __SWITCH_CORE_H
 
+#include <linux/version.h>
 #include <linux/list.h>
 #define SWITCH_MAX_BUFSZ	4096
 
@@ -8,6 +9,14 @@
 #define SWITCH_MEDIA_100	2
 #define SWITCH_MEDIA_FD		4
 
+#ifndef KERNEL_VERSION
+#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
+#endif
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+#define LINUX_2_4
+#endif
+
 typedef int (*switch_handler)(char *buf, int nr);
 
 typedef struct {
-- 
2.30.2