* [PATCH 1/4] wimax: fix '#ifndef CONFIG_BUG' layout to avoid warning
2009-01-07 19:22 [PATCH 0/4] wimax: Kbuild / rfkill-build / PM fixes (v3) Inaky Perez-Gonzalez
@ 2009-01-07 19:22 ` Inaky Perez-Gonzalez
2009-01-08 19:07 ` David Miller
2009-01-07 19:22 ` [PATCH 2/4] wimax: fix kconfig interactions with rfkill and input layers Inaky Perez-Gonzalez
` (3 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Inaky Perez-Gonzalez @ 2009-01-07 19:22 UTC (permalink / raw)
To: netdev
Cc: Randy Dunlap, Stephen Rothwell, wimax, greg, LKML, linux-wimax,
linux-next
Reported by Randy Dunlap:
> Also, this warning needs to be fixed:
>
> linux-next-20090106/net/wimax/id-table.c:133: warning: ISO C90
> forbids mixed declarations and code
Move the return on #defined(CONFIG_BUG) below the variable
declarations so it doesn't violate ISO C90.
On wimax_id_table_release() we want to do a debug check if CONFIG_BUG
is enabled. However, we also want the debug code to be always compiled
to ensure there is no bitrot. It will be optimized out by the compiler
when CONFIG_BUG is disabled.
Added a note to the function header stating this.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
---
net/wimax/id-table.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/net/wimax/id-table.c b/net/wimax/id-table.c
index d3b8855..5e685f7 100644
--- a/net/wimax/id-table.c
+++ b/net/wimax/id-table.c
@@ -123,15 +123,17 @@ void wimax_id_table_rm(struct wimax_dev *wimax_dev)
/*
* Release the gennetlink family id / mapping table
*
- * On debug, verify that the table is empty upon removal.
+ * On debug, verify that the table is empty upon removal. We want the
+ * code always compiled, to ensure it doesn't bit rot. It will be
+ * compiled out if CONFIG_BUG is disabled.
*/
void wimax_id_table_release(void)
{
+ struct wimax_dev *wimax_dev;
+
#ifndef CONFIG_BUG
return;
#endif
- struct wimax_dev *wimax_dev;
-
spin_lock(&wimax_id_table_lock);
list_for_each_entry(wimax_dev, &wimax_id_table, id_table_node) {
printk(KERN_ERR "BUG: %s wimax_dev %p ifindex %d not cleared\n",
--
1.5.6.5
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH 1/4] wimax: fix '#ifndef CONFIG_BUG' layout to avoid warning
2009-01-07 19:22 ` [PATCH 1/4] wimax: fix '#ifndef CONFIG_BUG' layout to avoid warning Inaky Perez-Gonzalez
@ 2009-01-08 19:07 ` David Miller
0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2009-01-08 19:07 UTC (permalink / raw)
To: inaky
Cc: randy.dunlap, sfr, wimax, netdev, linux-kernel, linux-wimax,
linux-next, greg
From: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Date: Wed, 7 Jan 2009 11:22:19 -0800
> Reported by Randy Dunlap:
>
> > Also, this warning needs to be fixed:
> >
> > linux-next-20090106/net/wimax/id-table.c:133: warning: ISO C90
> > forbids mixed declarations and code
>
> Move the return on #defined(CONFIG_BUG) below the variable
> declarations so it doesn't violate ISO C90.
>
> On wimax_id_table_release() we want to do a debug check if CONFIG_BUG
> is enabled. However, we also want the debug code to be always compiled
> to ensure there is no bitrot. It will be optimized out by the compiler
> when CONFIG_BUG is disabled.
>
> Added a note to the function header stating this.
>
> Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Applied.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/4] wimax: fix kconfig interactions with rfkill and input layers
2009-01-07 19:22 [PATCH 0/4] wimax: Kbuild / rfkill-build / PM fixes (v3) Inaky Perez-Gonzalez
2009-01-07 19:22 ` [PATCH 1/4] wimax: fix '#ifndef CONFIG_BUG' layout to avoid warning Inaky Perez-Gonzalez
@ 2009-01-07 19:22 ` Inaky Perez-Gonzalez
2009-01-08 19:07 ` David Miller
2009-01-07 19:22 ` [PATCH 3/4] wimax: testing for rfkill support should also test for CONFIG_RFKILL_MODULE Inaky Perez-Gonzalez
` (2 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Inaky Perez-Gonzalez @ 2009-01-07 19:22 UTC (permalink / raw)
To: netdev
Cc: Randy Dunlap, Stephen Rothwell, wimax, greg, LKML, linux-wimax,
linux-next
WiMAX can work without RFKILL, but it was missing a check to make sure
RFKILL is not being made a module with wimax compiled into the
kernel. This caused failed builds in s390, where CONFIG_INPUT is
always off.
When RFKILL is enabled, the code uses the input layer to report
hardware switch changes; thus, if RFKILL is enabled, INPUT has to be
too. It also needs to display some message when INPUT is disabled that
explains why WiMAX is not selectable.
(issues found by Randy Dunlap in the linux-next tree).
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
---
net/wimax/Kconfig | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/net/wimax/Kconfig b/net/wimax/Kconfig
index 0bdbb69..18495cd 100644
--- a/net/wimax/Kconfig
+++ b/net/wimax/Kconfig
@@ -1,9 +1,23 @@
#
# WiMAX LAN device configuration
#
+# Note the ugly 'depends on' on WIMAX: that disallows RFKILL to be a
+# module if WIMAX is to be linked in. The WiMAX code is done in such a
+# way that it doesn't require and explicit dependency on RFKILL in
+# case an embedded system wants to rip it out.
+#
+# As well, enablement of the RFKILL code means we need the INPUT layer
+# support to inject events coming from hw rfkill switches. That
+# dependency could be killed if input.h provided appropiate means to
+# work when input is disabled.
+
+comment "WiMAX Wireless Broadband support requires CONFIG_INPUT enabled"
+ depends on INPUT = n && RFKILL != n
menuconfig WIMAX
tristate "WiMAX Wireless Broadband support"
+ depends on (y && RFKILL != m) || m
+ depends on (INPUT && RFKILL != n) || RFKILL = n
help
Select to configure support for devices that provide
--
1.5.6.5
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH 2/4] wimax: fix kconfig interactions with rfkill and input layers
2009-01-07 19:22 ` [PATCH 2/4] wimax: fix kconfig interactions with rfkill and input layers Inaky Perez-Gonzalez
@ 2009-01-08 19:07 ` David Miller
0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2009-01-08 19:07 UTC (permalink / raw)
To: inaky
Cc: netdev, wimax, greg, randy.dunlap, sfr, linux-next, linux-kernel,
linux-wimax
From: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Date: Wed, 7 Jan 2009 11:22:20 -0800
> WiMAX can work without RFKILL, but it was missing a check to make sure
> RFKILL is not being made a module with wimax compiled into the
> kernel. This caused failed builds in s390, where CONFIG_INPUT is
> always off.
>
> When RFKILL is enabled, the code uses the input layer to report
> hardware switch changes; thus, if RFKILL is enabled, INPUT has to be
> too. It also needs to display some message when INPUT is disabled that
> explains why WiMAX is not selectable.
>
> (issues found by Randy Dunlap in the linux-next tree).
>
> Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Applied.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/4] wimax: testing for rfkill support should also test for CONFIG_RFKILL_MODULE
2009-01-07 19:22 [PATCH 0/4] wimax: Kbuild / rfkill-build / PM fixes (v3) Inaky Perez-Gonzalez
2009-01-07 19:22 ` [PATCH 1/4] wimax: fix '#ifndef CONFIG_BUG' layout to avoid warning Inaky Perez-Gonzalez
2009-01-07 19:22 ` [PATCH 2/4] wimax: fix kconfig interactions with rfkill and input layers Inaky Perez-Gonzalez
@ 2009-01-07 19:22 ` Inaky Perez-Gonzalez
2009-01-08 19:08 ` David Miller
2009-01-07 19:22 ` [PATCH 4/4] i2400m/usb: wrap USB power saving in #ifdef CONFIG_PM Inaky Perez-Gonzalez
2009-01-08 0:10 ` [PATCH 0/4] wimax: Kbuild / rfkill-build / PM fixes (v3) Randy Dunlap
4 siblings, 1 reply; 10+ messages in thread
From: Inaky Perez-Gonzalez @ 2009-01-07 19:22 UTC (permalink / raw)
To: netdev
Cc: Randy Dunlap, Stephen Rothwell, wimax, greg, LKML, linux-wimax,
linux-next
Current WiMAX rfkill code is missing the case where rfkill is compiled
in as modules and works only when rfkill is compiled in. This is not
correct. Fixed to test for CONFIG_RFKILL or CONFIG_RKILL_MODULE.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
---
net/wimax/op-rfkill.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/wimax/op-rfkill.c b/net/wimax/op-rfkill.c
index 8745bac..2b75aee 100644
--- a/net/wimax/op-rfkill.c
+++ b/net/wimax/op-rfkill.c
@@ -71,7 +71,7 @@
#define D_SUBMODULE op_rfkill
#include "debug-levels.h"
-#ifdef CONFIG_RFKILL
+#if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE)
/**
--
1.5.6.5
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] i2400m/usb: wrap USB power saving in #ifdef CONFIG_PM
2009-01-07 19:22 [PATCH 0/4] wimax: Kbuild / rfkill-build / PM fixes (v3) Inaky Perez-Gonzalez
` (2 preceding siblings ...)
2009-01-07 19:22 ` [PATCH 3/4] wimax: testing for rfkill support should also test for CONFIG_RFKILL_MODULE Inaky Perez-Gonzalez
@ 2009-01-07 19:22 ` Inaky Perez-Gonzalez
2009-01-08 19:08 ` David Miller
2009-01-08 0:10 ` [PATCH 0/4] wimax: Kbuild / rfkill-build / PM fixes (v3) Randy Dunlap
4 siblings, 1 reply; 10+ messages in thread
From: Inaky Perez-Gonzalez @ 2009-01-07 19:22 UTC (permalink / raw)
To: netdev
Cc: Randy Dunlap, Stephen Rothwell, wimax, greg, LKML, linux-wimax,
linux-next
Current code was assuming PM was always enabled, which is not
correct. Code which accesses members in the struct usb_device that are
dependant on CONFIG_PM must be protected the same.
Reported by Randy Dunlap from a build error in the linux-next tree on
07/01/2009.
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
---
drivers/net/wimax/i2400m/usb.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wimax/i2400m/usb.c b/drivers/net/wimax/i2400m/usb.c
index 6d4b65f..c6d9346 100644
--- a/drivers/net/wimax/i2400m/usb.c
+++ b/drivers/net/wimax/i2400m/usb.c
@@ -397,11 +397,13 @@ int i2400mu_probe(struct usb_interface *iface,
i2400m->bus_fw_name = I2400MU_FW_FILE_NAME;
i2400m->bus_bm_mac_addr_impaired = 0;
+#ifdef CONFIG_PM
iface->needs_remote_wakeup = 1; /* autosuspend (15s delay) */
device_init_wakeup(dev, 1);
usb_autopm_enable(i2400mu->usb_iface);
usb_dev->autosuspend_delay = 15 * HZ;
usb_dev->autosuspend_disabled = 0;
+#endif
result = i2400m_setup(i2400m, I2400M_BRI_MAC_REINIT);
if (result < 0) {
@@ -493,7 +495,9 @@ int i2400mu_suspend(struct usb_interface *iface, pm_message_t pm_msg)
int result = 0;
struct device *dev = &iface->dev;
struct i2400mu *i2400mu = usb_get_intfdata(iface);
+#ifdef CONFIG_PM
struct usb_device *usb_dev = i2400mu->usb_dev;
+#endif
struct i2400m *i2400m = &i2400mu->i2400m;
d_fnstart(3, dev, "(iface %p pm_msg %u)\n", iface, pm_msg.event);
@@ -503,11 +507,13 @@ int i2400mu_suspend(struct usb_interface *iface, pm_message_t pm_msg)
atomic_dec(&i2400mu->do_autopm);
result = i2400m_cmd_enter_powersave(i2400m);
atomic_inc(&i2400mu->do_autopm);
+#ifdef CONFIG_PM
if (result < 0 && usb_dev->auto_pm == 0) {
/* System suspend, can't fail */
dev_err(dev, "failed to suspend, will reset on resume\n");
result = 0;
}
+#endif
if (result < 0)
goto error_enter_powersave;
i2400mu_notification_release(i2400mu);
--
1.5.6.5
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH 4/4] i2400m/usb: wrap USB power saving in #ifdef CONFIG_PM
2009-01-07 19:22 ` [PATCH 4/4] i2400m/usb: wrap USB power saving in #ifdef CONFIG_PM Inaky Perez-Gonzalez
@ 2009-01-08 19:08 ` David Miller
0 siblings, 0 replies; 10+ messages in thread
From: David Miller @ 2009-01-08 19:08 UTC (permalink / raw)
To: inaky
Cc: netdev, wimax, greg, randy.dunlap, sfr, linux-next, linux-kernel,
linux-wimax
From: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Date: Wed, 7 Jan 2009 11:22:22 -0800
> Current code was assuming PM was always enabled, which is not
> correct. Code which accesses members in the struct usb_device that are
> dependant on CONFIG_PM must be protected the same.
>
> Reported by Randy Dunlap from a build error in the linux-next tree on
> 07/01/2009.
>
> Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Also applied, thanks a lot.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] wimax: Kbuild / rfkill-build / PM fixes (v3)
2009-01-07 19:22 [PATCH 0/4] wimax: Kbuild / rfkill-build / PM fixes (v3) Inaky Perez-Gonzalez
` (3 preceding siblings ...)
2009-01-07 19:22 ` [PATCH 4/4] i2400m/usb: wrap USB power saving in #ifdef CONFIG_PM Inaky Perez-Gonzalez
@ 2009-01-08 0:10 ` Randy Dunlap
4 siblings, 0 replies; 10+ messages in thread
From: Randy Dunlap @ 2009-01-08 0:10 UTC (permalink / raw)
To: Inaky Perez-Gonzalez
Cc: netdev, wimax, greg, Stephen Rothwell, linux-next, LKML,
linux-wimax
Inaky Perez-Gonzalez wrote:
> These four patches fix build issues reported by Randy Dunlap on the
> linux-next tree for Jan 6 and Jan 7:
>
> http://lkml.org/lkml/2009/1/6/340
> http://lkml.org/lkml/2009/1/7/360
>
> The issue fixed by patch #3 wasn't reported on the emails but was
> uncovered while discussing the fixes.
>
> This applies to the wimax tree kept in gregkh's repository:
>
> http://kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-04-usb/
Ack. They all work for me. Thanks.
> Changes in v3
>
> - Add patch #4, wrapping access to power-saving members of the struct
> usb_device in #ifdef CONFIG_PM.
>
> Changes in v2
>
> - fixed silly one-char typo #ifndef CONFIG_BUG vs #ifdef CONFIG_BUG
> reported by Ilpo Järvinen
>
> Inaky Perez-Gonzalez (4):
> wimax: fix '#ifndef CONFIG_BUG' layout to avoid warning
> wimax: fix kconfig interactions with rfkill and input layers
> wimax: testing for rfkill support should also test for
> CONFIG_RFKILL_MODULE
> i2400m/usb: wrap USB power saving in #ifdef CONFIG_PM
>
> drivers/net/wimax/i2400m/usb.c | 6 ++++++
> net/wimax/Kconfig | 14 ++++++++++++++
> net/wimax/id-table.c | 8 +++++---
> net/wimax/op-rfkill.c | 2 +-
> 4 files changed, 26 insertions(+), 4 deletions(-)
>
--
~Randy
^ permalink raw reply [flat|nested] 10+ messages in thread