2008-07-17 09:18:27

by Denis V. Lunev

[permalink] [raw]
Subject: [PATCH net-next 1/2] iwlwifi: compilation error when CONFIG_IWLWIFI_DEBUG is not set

CC [M] drivers/net/wireless/iwlwifi/iwl-rfkill.o
drivers/net/wireless/iwlwifi/iwl-led.c: In function 'iwl_led_brightness_set':
drivers/net/wireless/iwlwifi/iwl-led.c:198: error: 'led_type_str' undeclared (first use in this function)
drivers/net/wireless/iwlwifi/iwl-led.c:198: error: (Each undeclared identifier is reported only once
drivers/net/wireless/iwlwifi/iwl-led.c:198: error: for each function it appears in.)

The problem is that led_type_str is defined under CONFIG_IWLWIFI_DEBUG
while IWL_DEBUG is a static inline function in this case. Replace it
with macro.

Signed-off-by: Denis V. Lunev <[email protected]>
---
drivers/net/wireless/iwlwifi/iwl-debug.h | 8 ++------
1 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl-debug.h b/drivers/net/wireless/iwlwifi/iwl-debug.h
index 5838480..d6d729e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-debug.h
+++ b/drivers/net/wireless/iwlwifi/iwl-debug.h
@@ -68,12 +68,8 @@ void iwl_dbgfs_unregister(struct iwl_priv *priv);
#endif

#else
-static inline void IWL_DEBUG(int level, const char *fmt, ...)
-{
-}
-static inline void IWL_DEBUG_LIMIT(int level, const char *fmt, ...)
-{
-}
+#define IWL_DEBUG(level, fmt, args...)
+#define IWL_DEBUG_LIMIT(level, fmt, args...)
#endif /* CONFIG_IWLWIFI_DEBUG */


--
1.5.4.5



2008-07-17 11:25:49

by Denis V. Lunev

[permalink] [raw]
Subject: Re: [PATCH net-next 2/2] iwlwifi: small compile warnings without CONFIG_IWLWIFI_DEBUG

On Thu, 2008-07-17 at 14:08 +0300, Tomas Winkler wrote:
> On Thu, Jul 17, 2008 at 12:19 PM, Denis V. Lunev <[email protected]> wrote:
> > CC [M] drivers/net/wireless/iwlwifi/iwl-4965-rs.o
> > drivers/net/wireless/iwlwifi/iwl-4965-rs.c: In function 'rs_clear':
> > drivers/net/wireless/iwlwifi/iwl-4965-rs.c:2405: warning: unused variable 'priv'
> > CC [M] drivers/net/wireless/iwlwifi/iwl-scan.o
> > drivers/net/wireless/iwlwifi/iwl-scan.c: In function 'iwl_rx_scan_complete_notif':
> > drivers/net/wireless/iwlwifi/iwl-scan.c:274: warning: unused variable 'scan_notif'
> >
> > Signed-off-by: Denis V. Lunev <[email protected]>
> > ---
> > drivers/net/wireless/iwlwifi/iwl-4965-rs.c | 2 ++
> > drivers/net/wireless/iwlwifi/iwl-scan.c | 2 ++
> > 2 files changed, 4 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
> > index 3ccb84a..7549834 100644
> > --- a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
> > +++ b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
> > @@ -2402,7 +2402,9 @@ static void rs_free(void *priv_rate)
> >
> > static void rs_clear(void *priv_rate)
> > {
> > +#ifdef CONFIG_IWLWIFI_DEBUG
> > struct iwl_priv *priv = (struct iwl_priv *) priv_rate;
> > +#endif
> >
> > IWL_DEBUG_RATE("enter\n");
>
> move #endif after debug print

Are you proposing to do this?
static void rs_clear(void *priv_rate)
{
#ifdef CONFIG_IWLWIFI_DEBUG
struct iwl_priv *priv = (struct iwl_priv *) priv_rate;

IWL_DEBUG_RATE("enter\n");

/* TODO - add rate scale state reset */

IWL_DEBUG_RATE("leave\n");
#endif
}
this seems wrong to me, as there are pending actions inside.

It looks like you do not have warning as previously these calls are
static inlines. So, my patch seems better for the place.

If you agree with this, I'll resend the patch with
iwl_rx_scan_results_notif modified.

Regards,
Den


2008-07-17 11:05:14

by Tomas Winkler

[permalink] [raw]
Subject: Re: [PATCH net-next 1/2] iwlwifi: compilation error when CONFIG_IWLWIFI_DEBUG is not set

On Thu, Jul 17, 2008 at 12:19 PM, Denis V. Lunev <[email protected]> wrote:
> CC [M] drivers/net/wireless/iwlwifi/iwl-rfkill.o
> drivers/net/wireless/iwlwifi/iwl-led.c: In function 'iwl_led_brightness_set':
> drivers/net/wireless/iwlwifi/iwl-led.c:198: error: 'led_type_str' undeclared (first use in this function)
> drivers/net/wireless/iwlwifi/iwl-led.c:198: error: (Each undeclared identifier is reported only once
> drivers/net/wireless/iwlwifi/iwl-led.c:198: error: for each function it appears in.)
>
> The problem is that led_type_str is defined under CONFIG_IWLWIFI_DEBUG
> while IWL_DEBUG is a static inline function in this case. Replace it
> with macro.
>
> Signed-off-by: Denis V. Lunev <[email protected]>
> ---
> drivers/net/wireless/iwlwifi/iwl-debug.h | 8 ++------
> 1 files changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/wireless/iwlwifi/iwl-debug.h b/drivers/net/wireless/iwlwifi/iwl-debug.h
> index 5838480..d6d729e 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-debug.h
> +++ b/drivers/net/wireless/iwlwifi/iwl-debug.h
> @@ -68,12 +68,8 @@ void iwl_dbgfs_unregister(struct iwl_priv *priv);
> #endif
>
> #else
> -static inline void IWL_DEBUG(int level, const char *fmt, ...)
> -{
> -}
> -static inline void IWL_DEBUG_LIMIT(int level, const char *fmt, ...)
> -{
> -}
> +#define IWL_DEBUG(level, fmt, args...)
> +#define IWL_DEBUG_LIMIT(level, fmt, args...)
> #endif /* CONFIG_IWLWIFI_DEBUG */
>
ACK
Tomas

2008-07-17 09:18:27

by Denis V. Lunev

[permalink] [raw]
Subject: [PATCH net-next 2/2] iwlwifi: small compile warnings without CONFIG_IWLWIFI_DEBUG

CC [M] drivers/net/wireless/iwlwifi/iwl-4965-rs.o
drivers/net/wireless/iwlwifi/iwl-4965-rs.c: In function 'rs_clear':
drivers/net/wireless/iwlwifi/iwl-4965-rs.c:2405: warning: unused variable 'priv'
CC [M] drivers/net/wireless/iwlwifi/iwl-scan.o
drivers/net/wireless/iwlwifi/iwl-scan.c: In function 'iwl_rx_scan_complete_notif':
drivers/net/wireless/iwlwifi/iwl-scan.c:274: warning: unused variable 'scan_notif'

Signed-off-by: Denis V. Lunev <[email protected]>
---
drivers/net/wireless/iwlwifi/iwl-4965-rs.c | 2 ++
drivers/net/wireless/iwlwifi/iwl-scan.c | 2 ++
2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
index 3ccb84a..7549834 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
@@ -2402,7 +2402,9 @@ static void rs_free(void *priv_rate)

static void rs_clear(void *priv_rate)
{
+#ifdef CONFIG_IWLWIFI_DEBUG
struct iwl_priv *priv = (struct iwl_priv *) priv_rate;
+#endif

IWL_DEBUG_RATE("enter\n");

diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c
index efc750d..5d0d70c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-scan.c
+++ b/drivers/net/wireless/iwlwifi/iwl-scan.c
@@ -270,8 +270,10 @@ static void iwl_rx_scan_results_notif(struct iwl_priv *priv,
static void iwl_rx_scan_complete_notif(struct iwl_priv *priv,
struct iwl_rx_mem_buffer *rxb)
{
+#ifdef CONFIG_IWLWIFI_DEBUG
struct iwl_rx_packet *pkt = (struct iwl_rx_packet *)rxb->skb->data;
struct iwl_scancomplete_notification *scan_notif = (void *)pkt->u.raw;
+#endif

IWL_DEBUG_SCAN("Scan complete: %d channels (TSF 0x%08X:%08X) - %d\n",
scan_notif->scanned_channels,
--
1.5.4.5


2008-07-18 06:55:10

by Denis V. Lunev

[permalink] [raw]
Subject: [PATCH net-next 2/2][v2] iwlwifi: small compile warnings without CONFIG_IWLWIFI_DEBUG

CC [M] drivers/net/wireless/iwlwifi/iwl-scan.o
drivers/net/wireless/iwlwifi/iwl-scan.c: In function 'iwl_rx_scan_complete_notif':
drivers/net/wireless/iwlwifi/iwl-scan.c:274: warning: unused variable 'scan_notif'

Signed-off-by: Denis V. Lunev <[email protected]>
Acked-by: Tomas Winkler <[email protected]>
---
drivers/net/wireless/iwlwifi/iwl-scan.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c
index efc750d..5a00ac2 100644
--- a/drivers/net/wireless/iwlwifi/iwl-scan.c
+++ b/drivers/net/wireless/iwlwifi/iwl-scan.c
@@ -270,6 +270,7 @@ static void iwl_rx_scan_results_notif(struct iwl_priv *priv,
static void iwl_rx_scan_complete_notif(struct iwl_priv *priv,
struct iwl_rx_mem_buffer *rxb)
{
+#ifdef CONFIG_IWLWIFI_DEBUG
struct iwl_rx_packet *pkt = (struct iwl_rx_packet *)rxb->skb->data;
struct iwl_scancomplete_notification *scan_notif = (void *)pkt->u.raw;

@@ -277,6 +278,7 @@ static void iwl_rx_scan_complete_notif(struct iwl_priv *priv,
scan_notif->scanned_channels,
scan_notif->tsf_low,
scan_notif->tsf_high, scan_notif->status);
+#endif

/* The HW is no longer scanning */
clear_bit(STATUS_SCAN_HW, &priv->status);
--
1.5.4.5


2008-07-17 11:08:33

by Tomas Winkler

[permalink] [raw]
Subject: Re: [PATCH net-next 2/2] iwlwifi: small compile warnings without CONFIG_IWLWIFI_DEBUG

On Thu, Jul 17, 2008 at 12:19 PM, Denis V. Lunev <[email protected]> wrote:
> CC [M] drivers/net/wireless/iwlwifi/iwl-4965-rs.o
> drivers/net/wireless/iwlwifi/iwl-4965-rs.c: In function 'rs_clear':
> drivers/net/wireless/iwlwifi/iwl-4965-rs.c:2405: warning: unused variable 'priv'
> CC [M] drivers/net/wireless/iwlwifi/iwl-scan.o
> drivers/net/wireless/iwlwifi/iwl-scan.c: In function 'iwl_rx_scan_complete_notif':
> drivers/net/wireless/iwlwifi/iwl-scan.c:274: warning: unused variable 'scan_notif'
>
> Signed-off-by: Denis V. Lunev <[email protected]>
> ---
> drivers/net/wireless/iwlwifi/iwl-4965-rs.c | 2 ++
> drivers/net/wireless/iwlwifi/iwl-scan.c | 2 ++
> 2 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
> index 3ccb84a..7549834 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
> +++ b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
> @@ -2402,7 +2402,9 @@ static void rs_free(void *priv_rate)
>
> static void rs_clear(void *priv_rate)
> {
> +#ifdef CONFIG_IWLWIFI_DEBUG
> struct iwl_priv *priv = (struct iwl_priv *) priv_rate;
> +#endif
>
> IWL_DEBUG_RATE("enter\n");

move #endif after debug print

>
> diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c
> index efc750d..5d0d70c 100644
> --- a/drivers/net/wireless/iwlwifi/iwl-scan.c
> +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c
> @@ -270,8 +270,10 @@ static void iwl_rx_scan_results_notif(struct iwl_priv *priv,
> static void iwl_rx_scan_complete_notif(struct iwl_priv *priv,
> struct iwl_rx_mem_buffer *rxb)
> {
> +#ifdef CONFIG_IWLWIFI_DEBUG
> struct iwl_rx_packet *pkt = (struct iwl_rx_packet *)rxb->skb->data;
> struct iwl_scancomplete_notification *scan_notif = (void *)pkt->u.raw;
> +#endif
>
> IWL_DEBUG_SCAN("Scan complete: %d channels (TSF 0x%08X:%08X) - %d\n",
> scan_notif->scanned_channels,
move #endif after debug print
> --
> 1.5.4.5

Strange, I have this #ifdefs in my code. Probably missed to publish some patch.
Tomas