Patchwork Re: Next March 25: net/netfilter/xt_LED build failure.

login
register
mail settings
Submitter Subrata Modak
Date March 25, 2009, 1:57 p.m.
Message ID <20090325135759.4397.53055.sendpatchset@subratamodak.linux.ibm.com>
Download mbox | patch
Permalink /patch/25086/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Subrata Modak - March 25, 2009, 1:57 p.m.
Hi David,

>Today's next randconfig build on x86 failed with following error.
>
>net/netfilter/xt_LED.c:40: error: field netfilter_led_trigger has incomplete type
>net/netfilter/xt_LED.c: In function led_timeout_callback:
>net/netfilter/xt_LED.c:78: warning: unused variable ledinternal
>net/netfilter/xt_LED.c: In function led_tg_check:
>net/netfilter/xt_LED.c:102: error: implicit declaration of function led_trigger_register
>net/netfilter/xt_LED.c: In function led_tg_destroy:
>net/netfilter/xt_LED.c:135: error: implicit declaration of function led_trigger_unregister
>
>CONFIG_LED_TRIGGER is not set.
>
>complete .config attached.

The following patch will solve the build problem reported by Sachin.
But would leave the following warnings. I hope we can ignore them:

net/netfilter/xt_LED.c: In function ‘led_timeout_callback’:
net/netfilter/xt_LED.c:78: warning: unused variable ‘ledinternal’
net/netfilter/xt_LED.c: In function ‘led_tg_check’:
net/netfilter/xt_LED.c:87: warning: unused variable ‘err’

Signed-Off-By: Subrata Modak<subrata@linux.vnet.ibm.com>
---

--
Regards--
Subrata
 
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

--- a/linux-2.6.29/include/linux/leds.h	2009-03-25 18:38:07.000000000 +0530
+++ b/linux-2.6.29/include/linux/leds.h	2009-03-25 18:24:55.000000000 +0530
@@ -73,9 +73,6 @@  extern void led_classdev_resume(struct l
 /*
  * LED Triggers
  */
-#ifdef CONFIG_LEDS_TRIGGERS
-
-#define TRIG_NAME_MAX 50
 
 struct led_trigger {
 	/* Trigger Properties */
@@ -91,6 +88,10 @@  struct led_trigger {
 	struct list_head  next_trig;
 };
 
+#ifdef CONFIG_LEDS_TRIGGERS
+
+#define TRIG_NAME_MAX 50
+
 /* Registration functions for complex triggers */
 extern int led_trigger_register(struct led_trigger *trigger);
 extern void led_trigger_unregister(struct led_trigger *trigger);
--- a/linux-2.6.29/net/netfilter/xt_LED.c	2009-03-25 18:38:08.000000000 +0530
+++ b/linux-2.6.29/net/netfilter/xt_LED.c	2009-03-25 18:26:55.000000000 +0530
@@ -99,6 +99,7 @@  static bool led_tg_check(const struct xt
 
 	ledinternal->netfilter_led_trigger.name = ledinfo->id;
 
+#ifdef CONFIG_LEDS_TRIGGERS
 	err = led_trigger_register(&ledinternal->netfilter_led_trigger);
 	if (err) {
 		printk(KERN_CRIT KBUILD_MODNAME
@@ -108,7 +109,7 @@  static bool led_tg_check(const struct xt
 				": Trigger name is already in use.\n");
 		goto exit_alloc;
 	}
-
+#endif
 	/* See if we need to set up a timer */
 	if (ledinfo->delay > 0)
 		setup_timer(&ledinternal->timer, led_timeout_callback,
@@ -118,8 +119,10 @@  static bool led_tg_check(const struct xt
 
 	return true;
 
+#ifdef CONFIG_LEDS_TRIGGERS
 exit_alloc:
 	kfree(ledinternal);
+#endif
 
 	return false;
 }
@@ -132,7 +135,9 @@  static void led_tg_destroy(const struct 
 	if (ledinfo->delay > 0)
 		del_timer_sync(&ledinternal->timer);
 
+#ifdef CONFIG_LEDS_TRIGGERS
 	led_trigger_unregister(&ledinternal->netfilter_led_trigger);
+#endif
 	kfree(ledinternal);
 }