crda: add nested support for libnl-3.0 v1.1.2
authorTim Gardner <tim.gardner@canonical.com>
Mon, 8 Aug 2011 16:49:49 +0000 (10:49 -0600)
committerLuis R. Rodriguez <mcgrof@qca.qualcomm.com>
Tue, 9 Aug 2011 23:36:19 +0000 (16:36 -0700)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Makefile
crda.c

index b8bc7d3..084d8e5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -47,15 +47,22 @@ INSTALL ?= install
 
 NL1FOUND := $(shell pkg-config --atleast-version=1 libnl-1 && echo Y)
 NL2FOUND := $(shell pkg-config --atleast-version=2 libnl-2.0 && echo Y)
+NL3FOUND := $(shell pkg-config --atleast-version=3 libnl-3.0 && echo Y)
 
-ifeq ($(NL1FOUND),Y)
-NLLIBNAME = libnl-1
-endif
-
-ifeq ($(NL2FOUND),Y)
-CFLAGS += -DCONFIG_LIBNL20
+ifeq ($(NL3FOUND),Y)
+CFLAGS += -DCONFIG_LIBNL30
 NLLIBS += -lnl-genl
-NLLIBNAME = libnl-2.0
+NLLIBNAME = libnl-3.0
+else
+       ifeq ($(NL2FOUND),Y)
+       CFLAGS += -DCONFIG_LIBNL20
+       NLLIBS += -lnl-genl
+       NLLIBNAME = libnl-2.0
+       else
+               ifeq ($(NL1FOUND),Y)
+               NLLIBNAME = libnl-1
+               endif
+       endif
 endif
 
 ifeq ($(NLLIBNAME),)
diff --git a/crda.c b/crda.c
index d2ba29a..6857e3f 100644 (file)
--- a/crda.c
+++ b/crda.c
@@ -21,7 +21,7 @@
 #include "regdb.h"
 #include "reglib.h"
 
-#ifndef CONFIG_LIBNL20
+#if !defined(CONFIG_LIBNL20) && !defined(CONFIG_LIBNL30)
 /* libnl 2.0 compatibility code */
 static inline struct nl_handle *nl_socket_alloc(void)
 {
@@ -44,7 +44,7 @@ static inline int __genl_ctrl_alloc_cache(struct nl_handle *h, struct nl_cache *
 
 #define genl_ctrl_alloc_cache __genl_ctrl_alloc_cache
 #define nl_sock nl_handle
-#endif /* CONFIG_LIBNL20 */
+#endif /* CONFIG_LIBNL20 && CONFIG_LIBNL30 */
 
 struct nl80211_state {
        struct nl_sock *nl_sock;