Skip to contentSkip to conversation

iw: handle HAVE_LIBNL20 properly

PATCH Arjan van de Ven 3 participants 3 messages May 18, 2012 – May 21, 2012 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

Arjan van de Ven

author
#1 lore raw
Quoted 37 lines · Németh Márton

Hi Sergey,

Quoted 8 lines · Sergey Senozhatsky
Quoted 3 lines · Németh Márton

starting with the commit b0d2854861de2f15671e633da11f42207d4357df I get the following compile time error:

Well, that's strange, since commit itself doesn't change much....

how about the following one

Doesn't compile either:

gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -g -O2 -MT tuning/powertop-iw.o -MD -MP -MF tuning/.deps/powertop-iw.Tpo -c -o tuning/powertop-iw.o
test -f 'tuning/iw.c' || echo './'tuning/iw.c
tuning/iw.c: In function ‘set_power_save’:
tuning/iw.c:130: error: storage size of ‘ps_state’ isn’t known tuning/iw.c:132: error: ‘NL80211_PS_DISABLED’ undeclared (first use in this function) tuning/iw.c:132: error: (Each undeclared identifier is reported only once tuning/iw.c:132: error: for each function it appears in.)
tuning/iw.c:134: error: ‘NL80211_PS_ENABLED’ undeclared (first use in this function) tuning/iw.c:136: error: ‘NL80211_ATTR_PS_STATE’ undeclared (first use in this function) tuning/iw.c: In function ‘print_power_save_handler’:
tuning/iw.c:152: error: ‘NL80211_ATTR_PS_STATE’ undeclared (first use in this function) tuning/iw.c:156: error: ‘NL80211_PS_ENABLED’ undeclared (first use in this function) tuning/iw.c:159: error: ‘NL80211_PS_DISABLED’ undeclared (first use in this function) tuning/iw.c: In function ‘__handle_cmd’:
tuning/iw.c:227: error: ‘NL80211_CMD_GET_POWER_SAVE’ undeclared (first use in this function) tuning/iw.c:230: error: ‘NL80211_CMD_SET_POWER_SAVE’ undeclared (first use in this function) make[3]: *** [tuning/powertop-iw.o] Error 1
make[3]: Leaving directory `/mnt/store/nmarci/src/powertop/powertop2/powertop/src' make[2]: *** [all] Error 2
make[2]: Leaving directory `/mnt/store/nmarci/src/powertop/powertop2/powertop/src' make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/store/nmarci/src/powertop/powertop2/powertop'
make: *** [all] Error 2

Quoted 4 lines

Looks like I have a linux/nl80211.h installed on my system which doesn't contain NL80211_PS_ENABLED, NL80211_PS_DISABLED, NL80211_ATTR_PS_STATE, NL80211_CMD_GET_POWER_SAVE and NL80211_CMD_SET_POWER_SAVE. These were added by commit
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ffb9eb3d8b450c22bbbc688c6b630141ac476fd9

Feb 2010

what kind of OS are you running???

#2 lore raw
In reply to a message not in the archive
Quoted 26 lines · Németh Márton

Doesn't compile either:

gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -g -O2 -MT tuning/powertop-iw.o -MD -MP -MF tuning/.deps/powertop-iw.Tpo -c -o tuning/powertop-iw.o
test -f 'tuning/iw.c' || echo './'tuning/iw.c
tuning/iw.c: In function ‘set_power_save’:
tuning/iw.c:130: error: storage size of ‘ps_state’ isn’t known tuning/iw.c:132: error: ‘NL80211_PS_DISABLED’ undeclared (first use in this function) tuning/iw.c:132: error: (Each undeclared identifier is reported only once tuning/iw.c:132: error: for each function it appears in.)
tuning/iw.c:134: error: ‘NL80211_PS_ENABLED’ undeclared (first use in this function) tuning/iw.c:136: error: ‘NL80211_ATTR_PS_STATE’ undeclared (first use in this function) tuning/iw.c: In function ‘print_power_save_handler’:
tuning/iw.c:152: error: ‘NL80211_ATTR_PS_STATE’ undeclared (first use in this function) tuning/iw.c:156: error: ‘NL80211_PS_ENABLED’ undeclared (first use in this function) tuning/iw.c:159: error: ‘NL80211_PS_DISABLED’ undeclared (first use in this function) tuning/iw.c: In function ‘__handle_cmd’:
tuning/iw.c:227: error: ‘NL80211_CMD_GET_POWER_SAVE’ undeclared (first use in this function) tuning/iw.c:230: error: ‘NL80211_CMD_SET_POWER_SAVE’ undeclared (first use in this function) make[3]: *** [tuning/powertop-iw.o] Error 1
make[3]: Leaving directory `/mnt/store/nmarci/src/powertop/powertop2/powertop/src' make[2]: *** [all] Error 2
make[2]: Leaving directory `/mnt/store/nmarci/src/powertop/powertop2/powertop/src' make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/store/nmarci/src/powertop/powertop2/powertop'
make: *** [all] Error 2

Quoted 7 lines

Looks like I have a linux/nl80211.h installed on my system which doesn't contain NL80211_PS_ENABLED, NL80211_PS_DISABLED, NL80211_ATTR_PS_STATE, NL80211_CMD_GET_POWER_SAVE and NL80211_CMD_SET_POWER_SAVE. These were added by commit
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ffb9eb3d8b450c22bbbc688c6b630141ac476fd9

The header file src/tuning/nl80211.h in powertop repository seems to be a newer one.

Hm.. In that case solution is simple.

---

 src/tuning/iw.c |    1 +
 src/tuning/iw.h |    6 ------
 2 files changed, 1 insertion(+), 6 deletions(-)
src/tuning/iw.c +1 -0
index aeba3fd..68eb6dc 100644
@@ -39,6 +39,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #include <unistd.h>
 #include <stdbool.h>
 
+#include "nl80211.h"
 #include <netlink/genl/genl.h>
 #include <netlink/genl/family.h>
 #include <netlink/genl/ctrl.h>
src/tuning/iw.h +0 -6
index acf132d..6ea5a3d 100644
@@ -33,12 +33,6 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */
 
 #include <stdbool.h>
-#include <netlink/netlink.h>
-#include <netlink/genl/genl.h>
-#include <netlink/genl/family.h>
-#include <netlink/genl/ctrl.h>
-
-#include <linux/nl80211.h>
 
 #define ETH_ALEN 6
 
#3 lore raw

patch accepted
thanks
-Chris

Quoted 72 lines · Sergey Senozhatsky
Quoted 26 lines · Németh Márton

Doesn't compile either:

gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -g -O2 -MT tuning/powertop-iw.o -MD -MP -MF tuning/.deps/powertop-iw.Tpo -c -o tuning/powertop-iw.o
test -f 'tuning/iw.c' || echo './'tuning/iw.c
tuning/iw.c: In function ‘set_power_save’:
tuning/iw.c:130: error: storage size of ‘ps_state’ isn’t known tuning/iw.c:132: error: ‘NL80211_PS_DISABLED’ undeclared (first use in this function) tuning/iw.c:132: error: (Each undeclared identifier is reported only once tuning/iw.c:132: error: for each function it appears in.)
tuning/iw.c:134: error: ‘NL80211_PS_ENABLED’ undeclared (first use in this function) tuning/iw.c:136: error: ‘NL80211_ATTR_PS_STATE’ undeclared (first use in this function) tuning/iw.c: In function ‘print_power_save_handler’:
tuning/iw.c:152: error: ‘NL80211_ATTR_PS_STATE’ undeclared (first use in this function) tuning/iw.c:156: error: ‘NL80211_PS_ENABLED’ undeclared (first use in this function) tuning/iw.c:159: error: ‘NL80211_PS_DISABLED’ undeclared (first use in this function) tuning/iw.c: In function ‘__handle_cmd’:
tuning/iw.c:227: error: ‘NL80211_CMD_GET_POWER_SAVE’ undeclared (first use in this function) tuning/iw.c:230: error: ‘NL80211_CMD_SET_POWER_SAVE’ undeclared (first use in this function) make[3]: *** [tuning/powertop-iw.o] Error 1
make[3]: Leaving directory `/mnt/store/nmarci/src/powertop/powertop2/powertop/src' make[2]: *** [all] Error 2
make[2]: Leaving directory `/mnt/store/nmarci/src/powertop/powertop2/powertop/src' make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/store/nmarci/src/powertop/powertop2/powertop'
make: *** [all] Error 2

Quoted 7 lines

Looks like I have a linux/nl80211.h installed on my system which doesn't contain NL80211_PS_ENABLED, NL80211_PS_DISABLED, NL80211_ATTR_PS_STATE, NL80211_CMD_GET_POWER_SAVE and NL80211_CMD_SET_POWER_SAVE. These were added by commit
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ffb9eb3d8b450c22bbbc688c6b630141ac476fd9

The header file src/tuning/nl80211.h in powertop repository seems to be a newer one.

Hm.. In that case solution is simple.

---

  src/tuning/iw.c |    1 +
  src/tuning/iw.h |    6 ------
  2 files changed, 1 insertion(+), 6 deletions(-)
src/tuning/iw.c +1 -0
index aeba3fd..68eb6dc 100644
@@ -39,6 +39,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  #include<unistd.h>
  #include<stdbool.h>
 
+#include "nl80211.h"
  #include<netlink/genl/genl.h>
  #include<netlink/genl/family.h>
  #include<netlink/genl/ctrl.h>
src/tuning/iw.h +0 -6
index acf132d..6ea5a3d 100644
@@ -33,12 +33,6 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
  #include<stdbool.h>
-#include<netlink/netlink.h>
-#include<netlink/genl/genl.h>
-#include<netlink/genl/family.h>
-#include<netlink/genl/ctrl.h>
-
-#include<linux/nl80211.h>
 
  #define ETH_ALEN 6