Move batman files into subdirectory
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 18 Apr 2013 16:46:32 +0000 (18:46 +0200)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 18 Apr 2013 16:46:32 +0000 (18:46 +0200)
12 files changed:
Makefile [deleted file]
batman/Makefile [new file with mode: 0644]
batman/files/etc/config/batmand [new file with mode: 0644]
batman/files/etc/config/vis [new file with mode: 0644]
batman/files/etc/init.d/batmand [new file with mode: 0644]
batman/files/etc/init.d/vis [new file with mode: 0644]
batman/patches/100-2.6.36.patch [new file with mode: 0644]
files/etc/config/batmand [deleted file]
files/etc/config/vis [deleted file]
files/etc/init.d/batmand [deleted file]
files/etc/init.d/vis [deleted file]
patches/100-2.6.36.patch [deleted file]

diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index cd4a2ec..0000000
--- a/Makefile
+++ /dev/null
@@ -1,152 +0,0 @@
-#
-# Copyright (C) 2008-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=batmand
-PKG_REV:=1439
-PKG_VERSION:=r$(PKG_REV)
-PKG_RELEASE:=2
-PKG_EXTRA_CFLAGS=-DDEBUG_MALLOC -DMEMORY_USAGE -DPROFILE_DATA -DREVISION_VERSION=\"\ rv$(PKG_REV)\"
-
-PKG_SOURCE_PROTO:=svn
-PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_SUBDIR:=$(if $(PKG_BRANCH),$(PKG_BRANCH),$(PKG_NAME))-$(PKG_VERSION)
-PKG_SOURCE_URL:=http://downloads.open-mesh.org/svn/batman/trunk/
-PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
-PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
-
-PKG_KMOD_BUILD_DIR:=$(PKG_BUILD_DIR)/batman/linux/modules
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/batmand/Default
-  URL:=http://www.open-mesh.org/
-  MAINTAINER:=Marek Lindner <lindner_marek@yahoo.de>
-endef
-
-define Package/batmand
-$(call Package/batmand/Default)
-  SECTION:=net
-  CATEGORY:=Network
-  SUBMENU:=Routing and Redirection
-  DEPENDS:=+libpthread +kmod-tun
-  TITLE:=B.A.T.M.A.N. layer 3 routing daemon
-endef
-
-define Package/batmand/description
-B.A.T.M.A.N. layer 3 routing daemon
-endef
-
-define Package/vis
-$(call Package/batmand/Default)
-  SECTION:=net
-  CATEGORY:=Network
-  SUBMENU:=Routing and Redirection
-  DEPENDS:=+libpthread
-  TITLE:=visualization server for B.A.T.M.A.N. layer 3
-endef
-        
-define Package/vis/description
-visualization server for B.A.T.M.A.N. layer 3
-endef
-
-define KernelPackage/batgat
-$(call Package/batmand/Default)
-  SUBMENU:=Network Support
-  DEPENDS:=+batmand
-  TITLE:=B.A.T.M.A.N. gateway module
-  FILES:=$(PKG_KMOD_BUILD_DIR)/batgat.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,50,batgat)
-endef
-
-
-define KernelPackage/batgat/description
-Kernel gateway module for B.A.T.M.A.N. for better tunnel performance
-endef
-
-MAKE_BATMAND_ARGS += \
-       EXTRA_CFLAGS='$(TARGET_CFLAGS) $(PKG_EXTRA_CFLAGS)' \
-       CCFLAGS="$(TARGET_CFLAGS)" \
-       OFLAGS="$(TARGET_CFLAGS)" \
-       REVISION="$(PKG_REV)" \
-       CC="$(TARGET_CC)" \
-       NODEBUG=1 \
-       UNAME="Linux" \
-       INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
-       STRIP="/bin/true" \
-       batmand install
-       
-MAKE_VIS_ARGS += \
-       EXTRA_CFLAGS='$(TARGET_CFLAGS) $(PKG_EXTRA_CFLAGS)' \
-       CCFLAGS="$(TARGET_CFLAGS)" \
-       OFLAGS="$(TARGET_CFLAGS)" \
-       REVISION="$(PKG_REV)" \
-       CC="$(TARGET_CC)" \
-       NODEBUG=1 \
-       UNAME="Linux" \
-       INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
-       STRIP="/bin/true" \
-       vis install
-
-MAKE_BATGAT_ARGS += \
-       CROSS_COMPILE="$(TARGET_CROSS)" \
-       ARCH="$(LINUX_KARCH)" \
-       PATH="$(TARGET_PATH)" \
-       SUBDIRS="$(PKG_KMOD_BUILD_DIR)" \
-       LINUX_VERSION="$(LINUX_VERSION)" \
-       REVISION="$(PKG_REV)" modules   
-
-
-define Build/Configure
-endef
-
-ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_batmand),)
-       BUILD_BATMAND := $(MAKE) -C $(PKG_BUILD_DIR)/batman $(MAKE_BATMAND_ARGS)
-endif
-
-ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_vis),)
-       BUILD_VIS := $(MAKE) -C $(PKG_BUILD_DIR)/vis $(MAKE_VIS_ARGS)
-endif
-       
-ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_kmod-batgat),)
-       BUILD_BATGAT := $(MAKE) -C "$(LINUX_DIR)" $(MAKE_BATGAT_ARGS)
-endif
-               
-define Build/Compile
-       $(BUILD_BATMAND)
-       $(BUILD_VIS)
-       cp $(PKG_KMOD_BUILD_DIR)/Makefile.kbuild $(PKG_KMOD_BUILD_DIR)/Makefile
-       $(BUILD_BATGAT)
-endef
-
-define Package/batmand/install
-       $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/batmand $(1)/usr/sbin/
-       $(INSTALL_BIN) ./files/etc/init.d/batmand $(1)/etc/init.d
-       $(INSTALL_DATA) ./files/etc/config/batmand $(1)/etc/config
-endef
-
-define Package/batmand/conffiles
-/etc/config/batmand
-endef
-
-define Package/vis/install
-       $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/vis $(1)/usr/sbin/
-       $(INSTALL_BIN) ./files/etc/init.d/vis $(1)/etc/init.d
-       $(INSTALL_DATA) ./files/etc/config/vis $(1)/etc/config
-endef
-
-define Package/vis/conffiles
-/etc/config/vis
-endef
-
-$(eval $(call BuildPackage,batmand))
-$(eval $(call BuildPackage,vis))
-$(eval $(call KernelPackage,batgat))
diff --git a/batman/Makefile b/batman/Makefile
new file mode 100644 (file)
index 0000000..4026496
--- /dev/null
@@ -0,0 +1,152 @@
+#
+# Copyright (C) 2008-2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME:=batmand
+PKG_REV:=1439
+PKG_VERSION:=r$(PKG_REV)
+PKG_RELEASE:=2
+PKG_EXTRA_CFLAGS=-DDEBUG_MALLOC -DMEMORY_USAGE -DPROFILE_DATA -DREVISION_VERSION=\"\ rv$(PKG_REV)\"
+
+PKG_SOURCE_PROTO:=svn
+PKG_SOURCE_VERSION:=$(PKG_REV)
+PKG_SOURCE_SUBDIR:=$(if $(PKG_BRANCH),$(PKG_BRANCH),$(PKG_NAME))-$(PKG_VERSION)
+PKG_SOURCE_URL:=http://downloads.open-mesh.org/svn/batman/trunk/
+PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
+PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_SOURCE_SUBDIR)
+
+PKG_KMOD_BUILD_DIR:=$(PKG_BUILD_DIR)/batman/linux/modules
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/batmand/Default
+  URL:=http://www.open-mesh.org/
+  MAINTAINER:=Marek Lindner <lindner_marek@yahoo.de>
+endef
+
+define Package/batmand
+$(call Package/batmand/Default)
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=Routing and Redirection
+  DEPENDS:=+libpthread +kmod-tun
+  TITLE:=B.A.T.M.A.N. layer 3 routing daemon
+endef
+
+define Package/batmand/description
+B.A.T.M.A.N. layer 3 routing daemon
+endef
+
+define Package/vis
+$(call Package/batmand/Default)
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=Routing and Redirection
+  DEPENDS:=+libpthread
+  TITLE:=visualization server for B.A.T.M.A.N. layer 3
+endef
+        
+define Package/vis/description
+visualization server for B.A.T.M.A.N. layer 3
+endef
+
+define KernelPackage/batgat
+$(call Package/batmand/Default)
+  SUBMENU:=Network Support
+  DEPENDS:=+batmand @BROKEN
+  TITLE:=B.A.T.M.A.N. gateway module
+  FILES:=$(PKG_KMOD_BUILD_DIR)/batgat.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,50,batgat)
+endef
+
+
+define KernelPackage/batgat/description
+Kernel gateway module for B.A.T.M.A.N. for better tunnel performance
+endef
+
+MAKE_BATMAND_ARGS += \
+       EXTRA_CFLAGS='$(TARGET_CFLAGS) $(PKG_EXTRA_CFLAGS)' \
+       CCFLAGS="$(TARGET_CFLAGS)" \
+       OFLAGS="$(TARGET_CFLAGS)" \
+       REVISION="$(PKG_REV)" \
+       CC="$(TARGET_CC)" \
+       NODEBUG=1 \
+       UNAME="Linux" \
+       INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
+       STRIP="/bin/true" \
+       batmand install
+       
+MAKE_VIS_ARGS += \
+       EXTRA_CFLAGS='$(TARGET_CFLAGS) $(PKG_EXTRA_CFLAGS)' \
+       CCFLAGS="$(TARGET_CFLAGS)" \
+       OFLAGS="$(TARGET_CFLAGS)" \
+       REVISION="$(PKG_REV)" \
+       CC="$(TARGET_CC)" \
+       NODEBUG=1 \
+       UNAME="Linux" \
+       INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
+       STRIP="/bin/true" \
+       vis install
+
+MAKE_BATGAT_ARGS += \
+       CROSS_COMPILE="$(TARGET_CROSS)" \
+       ARCH="$(LINUX_KARCH)" \
+       PATH="$(TARGET_PATH)" \
+       SUBDIRS="$(PKG_KMOD_BUILD_DIR)" \
+       LINUX_VERSION="$(LINUX_VERSION)" \
+       REVISION="$(PKG_REV)" modules   
+
+
+define Build/Configure
+endef
+
+ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_batmand),)
+       BUILD_BATMAND := $(MAKE) -C $(PKG_BUILD_DIR)/batman $(MAKE_BATMAND_ARGS)
+endif
+
+ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_vis),)
+       BUILD_VIS := $(MAKE) -C $(PKG_BUILD_DIR)/vis $(MAKE_VIS_ARGS)
+endif
+       
+ifneq ($(DEVELOPER)$(CONFIG_PACKAGE_kmod-batgat),)
+       BUILD_BATGAT := $(MAKE) -C "$(LINUX_DIR)" $(MAKE_BATGAT_ARGS)
+endif
+               
+define Build/Compile
+       $(BUILD_BATMAND)
+       $(BUILD_VIS)
+       cp $(PKG_KMOD_BUILD_DIR)/Makefile.kbuild $(PKG_KMOD_BUILD_DIR)/Makefile
+       $(BUILD_BATGAT)
+endef
+
+define Package/batmand/install
+       $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/batmand $(1)/usr/sbin/
+       $(INSTALL_BIN) ./files/etc/init.d/batmand $(1)/etc/init.d
+       $(INSTALL_DATA) ./files/etc/config/batmand $(1)/etc/config
+endef
+
+define Package/batmand/conffiles
+/etc/config/batmand
+endef
+
+define Package/vis/install
+       $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/config $(1)/etc/init.d
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/vis $(1)/usr/sbin/
+       $(INSTALL_BIN) ./files/etc/init.d/vis $(1)/etc/init.d
+       $(INSTALL_DATA) ./files/etc/config/vis $(1)/etc/config
+endef
+
+define Package/vis/conffiles
+/etc/config/vis
+endef
+
+$(eval $(call BuildPackage,batmand))
+$(eval $(call BuildPackage,vis))
+$(eval $(call KernelPackage,batgat))
diff --git a/batman/files/etc/config/batmand b/batman/files/etc/config/batmand
new file mode 100644 (file)
index 0000000..6d1f3be
--- /dev/null
@@ -0,0 +1,12 @@
+config batmand general
+       option interface                ath0
+       option hna                      
+       option gateway_class            
+       option originator_interval
+       option preferred_gateway        
+       option routing_class
+       option visualisation_srv
+       option policy_routing_script
+       option disable_client_nat
+       option disable_aggregation
+       
diff --git a/batman/files/etc/config/vis b/batman/files/etc/config/vis
new file mode 100644 (file)
index 0000000..6d30023
--- /dev/null
@@ -0,0 +1,3 @@
+config vis general
+       option interface                ath0
+       
diff --git a/batman/files/etc/init.d/batmand b/batman/files/etc/init.d/batmand
new file mode 100644 (file)
index 0000000..403e9f3
--- /dev/null
@@ -0,0 +1,66 @@
+#!/bin/sh /etc/rc.common
+START=90
+
+start () {
+       interface=$(uci get batmand.general.interface)
+       if [ "$interface" = "" ]; then
+               echo $1 Error, you must specify at least a network interface
+               exit
+       fi
+       hnas=$(uci get batmand.general.hna)
+       gateway_class=$(uci get batmand.general.gateway_class)
+       originator_interval=$(uci get batmand.general.originator_interval)
+       preferred_gateway=$(uci get batmand.general.preferred_gateway)
+       routing_class=$(uci get batmand.general.routing_class)
+       visualisation_srv=$(uci get batmand.general.visualisation_srv)
+       policy_routing_script=$(uci get batmand.general.policy_routing_script)
+       disable_client_nat=$(uci get batmand.general.disable_client_nat)
+       disable_aggregation=$(uci get batmand.general.disable_aggregation)
+       batman_args=""
+
+       for hna in $hnas
+          do
+             batman_args=${batman_args}'-a '$hna' '
+          done
+
+       if [ $gateway_class ]; then
+               batman_args=${batman_args}'-g '$gateway_class' '
+       fi
+
+       if [ $originator_interval ]; then
+               batman_args=${batman_args}'-o '$originator_interval' '
+       fi
+
+       if [ $preferred_gateway ]; then
+               batman_args=${batman_args}'-p '$preferred_gateway' '
+       fi
+
+       if [ $routing_class ]; then
+               batman_args=${batman_args}'-r '$routing_class' '
+       fi
+               
+       if [ $visualisation_srv ]; then
+               batman_args=${batman_args}'-s '$visualisation_srv' '
+       fi
+       
+       if [ $policy_routing_script ]; then
+               batman_args=${batman_args}'--policy-routing-script '$policy_routing_script' '
+       fi
+       
+       if [ $disable_client_nat ]; then
+               batman_args=${batman_args}'--disable-client-nat '
+       fi
+       
+       if [ $disable_aggregation ]; then
+               batman_args=${batman_args}'--disable-aggregation '
+       fi
+
+       batman_args=${batman_args}$interface
+       batmand $batman_args >/dev/null 2>&1
+}
+
+stop () {
+        killall batmand
+}
+
+        
diff --git a/batman/files/etc/init.d/vis b/batman/files/etc/init.d/vis
new file mode 100644 (file)
index 0000000..ef18eb7
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /etc/rc.common
+START=90
+
+start () {
+       interface=$(uci get vis.general.interface)
+       if [ "$interface" = "" ]; then
+               echo $1 Error, you must specify at least a network interface
+               exit
+       fi
+       vis_args=$interface
+
+       vis $vis_args >/dev/null 2>&1
+}
+
+stop () {
+        killall vis
+}
+
+        
diff --git a/batman/patches/100-2.6.36.patch b/batman/patches/100-2.6.36.patch
new file mode 100644 (file)
index 0000000..566c23b
--- /dev/null
@@ -0,0 +1,47 @@
+---
+ batman/linux/modules/gateway.c |   19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+--- batmand-r1439.orig/batman/linux/modules/gateway.c
++++ batmand-r1439/batman/linux/modules/gateway.c
+@@ -29,6 +29,7 @@ static struct class *batman_class;
+ static int batgat_open(struct inode *inode, struct file *filp);
+ static int batgat_release(struct inode *inode, struct file *file);
+ static int batgat_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg );
++static long batgat_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long arg );
+ static void udp_data_ready(struct sock *sk, int len);
+@@ -53,7 +54,11 @@ static int proc_clients_read(char *buf,
+ static struct file_operations fops = {
+       .open = batgat_open,
+       .release = batgat_release,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
++      .unlocked_ioctl = batgat_ioctl_unlocked,
++#else
+       .ioctl = batgat_ioctl,
++#endif
+ };
+@@ -166,6 +171,20 @@ static int batgat_release(struct inode *
+ }
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
++#include <linux/smp_lock.h>
++static long batgat_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long arg )
++{
++      int ret;
++
++      lock_kernel();
++      ret = batgat_ioctl(file->f_path.dentry->d_inode, file, cmd, arg);
++      unlock_kernel();
++
++      return ret;
++}
++#endif
++
+ static int batgat_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg )
+ {
+       uint8_t tmp_ip[4];
diff --git a/files/etc/config/batmand b/files/etc/config/batmand
deleted file mode 100644 (file)
index 6d1f3be..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-config batmand general
-       option interface                ath0
-       option hna                      
-       option gateway_class            
-       option originator_interval
-       option preferred_gateway        
-       option routing_class
-       option visualisation_srv
-       option policy_routing_script
-       option disable_client_nat
-       option disable_aggregation
-       
diff --git a/files/etc/config/vis b/files/etc/config/vis
deleted file mode 100644 (file)
index 6d30023..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-config vis general
-       option interface                ath0
-       
diff --git a/files/etc/init.d/batmand b/files/etc/init.d/batmand
deleted file mode 100644 (file)
index 403e9f3..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh /etc/rc.common
-START=90
-
-start () {
-       interface=$(uci get batmand.general.interface)
-       if [ "$interface" = "" ]; then
-               echo $1 Error, you must specify at least a network interface
-               exit
-       fi
-       hnas=$(uci get batmand.general.hna)
-       gateway_class=$(uci get batmand.general.gateway_class)
-       originator_interval=$(uci get batmand.general.originator_interval)
-       preferred_gateway=$(uci get batmand.general.preferred_gateway)
-       routing_class=$(uci get batmand.general.routing_class)
-       visualisation_srv=$(uci get batmand.general.visualisation_srv)
-       policy_routing_script=$(uci get batmand.general.policy_routing_script)
-       disable_client_nat=$(uci get batmand.general.disable_client_nat)
-       disable_aggregation=$(uci get batmand.general.disable_aggregation)
-       batman_args=""
-
-       for hna in $hnas
-          do
-             batman_args=${batman_args}'-a '$hna' '
-          done
-
-       if [ $gateway_class ]; then
-               batman_args=${batman_args}'-g '$gateway_class' '
-       fi
-
-       if [ $originator_interval ]; then
-               batman_args=${batman_args}'-o '$originator_interval' '
-       fi
-
-       if [ $preferred_gateway ]; then
-               batman_args=${batman_args}'-p '$preferred_gateway' '
-       fi
-
-       if [ $routing_class ]; then
-               batman_args=${batman_args}'-r '$routing_class' '
-       fi
-               
-       if [ $visualisation_srv ]; then
-               batman_args=${batman_args}'-s '$visualisation_srv' '
-       fi
-       
-       if [ $policy_routing_script ]; then
-               batman_args=${batman_args}'--policy-routing-script '$policy_routing_script' '
-       fi
-       
-       if [ $disable_client_nat ]; then
-               batman_args=${batman_args}'--disable-client-nat '
-       fi
-       
-       if [ $disable_aggregation ]; then
-               batman_args=${batman_args}'--disable-aggregation '
-       fi
-
-       batman_args=${batman_args}$interface
-       batmand $batman_args >/dev/null 2>&1
-}
-
-stop () {
-        killall batmand
-}
-
-        
diff --git a/files/etc/init.d/vis b/files/etc/init.d/vis
deleted file mode 100644 (file)
index ef18eb7..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh /etc/rc.common
-START=90
-
-start () {
-       interface=$(uci get vis.general.interface)
-       if [ "$interface" = "" ]; then
-               echo $1 Error, you must specify at least a network interface
-               exit
-       fi
-       vis_args=$interface
-
-       vis $vis_args >/dev/null 2>&1
-}
-
-stop () {
-        killall vis
-}
-
-        
diff --git a/patches/100-2.6.36.patch b/patches/100-2.6.36.patch
deleted file mode 100644 (file)
index 566c23b..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
----
- batman/linux/modules/gateway.c |   19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
---- batmand-r1439.orig/batman/linux/modules/gateway.c
-+++ batmand-r1439/batman/linux/modules/gateway.c
-@@ -29,6 +29,7 @@ static struct class *batman_class;
- static int batgat_open(struct inode *inode, struct file *filp);
- static int batgat_release(struct inode *inode, struct file *file);
- static int batgat_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg );
-+static long batgat_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long arg );
- static void udp_data_ready(struct sock *sk, int len);
-@@ -53,7 +54,11 @@ static int proc_clients_read(char *buf,
- static struct file_operations fops = {
-       .open = batgat_open,
-       .release = batgat_release,
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
-+      .unlocked_ioctl = batgat_ioctl_unlocked,
-+#else
-       .ioctl = batgat_ioctl,
-+#endif
- };
-@@ -166,6 +171,20 @@ static int batgat_release(struct inode *
- }
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)
-+#include <linux/smp_lock.h>
-+static long batgat_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long arg )
-+{
-+      int ret;
-+
-+      lock_kernel();
-+      ret = batgat_ioctl(file->f_path.dentry->d_inode, file, cmd, arg);
-+      unlock_kernel();
-+
-+      return ret;
-+}
-+#endif
-+
- static int batgat_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg )
- {
-       uint8_t tmp_ip[4];