All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Johnson <quic_jjohnson@quicinc.com>
To: Arnd Bergmann <arnd@kernel.org>, <linux-kernel@vger.kernel.org>,
	Stanislaw Gruszka <stf_xl@wp.pl>, Kalle Valo <kvalo@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>, <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH 21/34] iwlegacy: don't warn for unused variables with DEBUG_FS=n
Date: Wed, 3 Apr 2024 07:26:10 -0700	[thread overview]
Message-ID: <0987ae32-911e-4770-bdd0-ba099fb3bd72@quicinc.com> (raw)
In-Reply-To: <20240403080702.3509288-22-arnd@kernel.org>

On 4/3/2024 1:06 AM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The reference to il_rate_mcs is inside of an #ifdef, causing a W=1 warning:
> 
> drivers/net/wireless/intel/iwlegacy/4965-rs.c:189:38: error: unused variable 'il_rate_mcs' [-Werror,-Wunused-const-variable]
> static const struct il_rate_mcs_info il_rate_mcs[RATE_COUNT] = {
> 
> Replace the #ifdef with a PTR_IF() for better compile time analysis.
> The dead code will still get eliminated, but the warning goes away.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/net/wireless/intel/iwlegacy/4965-rs.c | 15 ++-------------
>  drivers/net/wireless/intel/iwlegacy/common.h  |  2 --
>  2 files changed, 2 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/net/wireless/intel/iwlegacy/4965-rs.c b/drivers/net/wireless/intel/iwlegacy/4965-rs.c
> index 718efb1aa1b0..1aa2cee5d131 100644
> --- a/drivers/net/wireless/intel/iwlegacy/4965-rs.c
> +++ b/drivers/net/wireless/intel/iwlegacy/4965-rs.c
> @@ -132,15 +132,8 @@ static void il4965_rs_fill_link_cmd(struct il_priv *il,
>  static void il4965_rs_stay_in_table(struct il_lq_sta *lq_sta,
>  				    bool force_search);
>  
> -#ifdef CONFIG_MAC80211_DEBUGFS
>  static void il4965_rs_dbgfs_set_mcs(struct il_lq_sta *lq_sta,
>  				    u32 *rate_n_flags, int idx);
> -#else
> -static void
> -il4965_rs_dbgfs_set_mcs(struct il_lq_sta *lq_sta, u32 * rate_n_flags, int idx)
> -{
> -}
> -#endif
>  
>  /*
>   * The following tables contain the expected throughput metrics for all rates
> @@ -2495,8 +2488,6 @@ il4965_rs_free_sta(void *il_r, struct ieee80211_sta *sta, void *il_sta)
>  	D_RATE("leave\n");
>  }
>  
> -#ifdef CONFIG_MAC80211_DEBUGFS
> -

if the const table is only used by this function, why not do the trivial thing
and relocate it to be inside this #ifdef, or even to be within the function
itself?

>  static void
>  il4965_rs_dbgfs_set_mcs(struct il_lq_sta *lq_sta, u32 * rate_n_flags, int idx)
>  {
> @@ -2758,7 +2749,6 @@ il4965_rs_add_debugfs(void *il, void *il_sta, struct dentry *dir)
>  	debugfs_create_u8("tx_agg_tid_enable", 0600, dir,
>  			  &lq_sta->tx_agg_tid_en);
>  }
> -#endif
>  
>  /*
>   * Initialization of rate scaling information is done by driver after
> @@ -2781,9 +2771,8 @@ static const struct rate_control_ops rs_4965_ops = {
>  	.free = il4965_rs_free,
>  	.alloc_sta = il4965_rs_alloc_sta,
>  	.free_sta = il4965_rs_free_sta,
> -#ifdef CONFIG_MAC80211_DEBUGFS
> -	.add_sta_debugfs = il4965_rs_add_debugfs,
> -#endif
> +	.add_sta_debugfs = PTR_IF(IS_ENABLED(CONFIG_DEBUG_FS),

CONFIG_DEBUG_FS != CONFIG_MAC80211_DEBUGFS, is that intentional?

> +				  il4965_rs_add_debugfs),

so using this you don't get a warning about all those static functions and
tables being unused when the feature is disabled? that's pretty cool.
is that because the compiler sees them instead of the preprocessor stripping
them out?

>  };
>  
>  int
> diff --git a/drivers/net/wireless/intel/iwlegacy/common.h b/drivers/net/wireless/intel/iwlegacy/common.h
> index 69687fcf963f..b9f1daf0901b 100644
> --- a/drivers/net/wireless/intel/iwlegacy/common.h
> +++ b/drivers/net/wireless/intel/iwlegacy/common.h
> @@ -2804,9 +2804,7 @@ struct il_lq_sta {
>  	struct il_scale_tbl_info lq_info[LQ_SIZE];	/* "active", "search" */
>  	struct il_traffic_load load[TID_MAX_LOAD_COUNT];
>  	u8 tx_agg_tid_en;
> -#ifdef CONFIG_MAC80211_DEBUGFS
>  	u32 dbg_fixed_rate;
> -#endif

and yes it is trivial, but we now waste this memory when the feature is not
enabled

>  	struct il_priv *drv;
>  
>  	/* used to be in sta_info */


  parent reply	other threads:[~2024-04-03 14:26 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-03  8:06 [PATCH 00/34] address all -Wunused-const warnings Arnd Bergmann
2024-04-03  8:06 ` Arnd Bergmann
2024-04-03  8:06 ` Arnd Bergmann
2024-04-03  8:06 ` [PATCH 01/34] powerpc/fsl-soc: hide unused const variable Arnd Bergmann
2024-04-03  8:06   ` Arnd Bergmann
2024-04-03  8:19   ` Christophe Leroy
2024-04-03  8:19     ` Christophe Leroy
2024-04-03  8:06 ` [PATCH 02/34] ubsan: fix unused variable warning in test module Arnd Bergmann
2024-04-03 21:36   ` (subset) " Kees Cook
2024-04-03  8:06 ` [PATCH 03/34] platform: goldfish: remove ACPI_PTR() annotations Arnd Bergmann
2024-04-03  9:08   ` Andy Shevchenko
2024-04-03  8:06 ` [PATCH 04/34] i2c: pxa: hide unused icr_bits[] variable Arnd Bergmann
2024-04-03 23:17   ` Andi Shyti
2024-04-03  8:06 ` [PATCH 05/34] 3c515: remove unused 'mtu' variable Arnd Bergmann
2024-04-03  8:06 ` [PATCH 06/34] tracing: hide unused ftrace_event_id_fops Arnd Bergmann
2024-04-03  8:06 ` [PATCH 07/34] Input: stmpe-ts - mark OF related data as maybe unused Arnd Bergmann
2024-04-03  8:06   ` Arnd Bergmann
2024-04-03  9:40   ` Andy Shevchenko
2024-04-03  9:40     ` Andy Shevchenko
2024-04-03  9:52     ` Krzysztof Kozlowski
2024-04-03  9:52       ` Krzysztof Kozlowski
2024-04-03 10:03       ` Andy Shevchenko
2024-04-03 10:03         ` Andy Shevchenko
2024-04-03 10:10         ` Krzysztof Kozlowski
2024-04-03 10:10           ` Krzysztof Kozlowski
2024-04-03 13:17   ` Uwe Kleine-König
2024-04-03 13:17     ` Uwe Kleine-König
2024-04-03 13:27     ` Uwe Kleine-König
2024-04-03 13:27       ` Uwe Kleine-König
2024-04-03  8:06 ` [PATCH 08/34] Input: synaptics: hide unused smbus_pnp_ids[] array Arnd Bergmann
2024-04-03  8:06 ` [PATCH 09/34] power: rt9455: hide unused rt9455_boost_voltage_values Arnd Bergmann
2024-04-03  8:06 ` [PATCH 10/34] efi: sysfb: don't build when EFI is disabled Arnd Bergmann
2024-04-03 13:03   ` Ard Biesheuvel
2024-04-03 13:15     ` Javier Martinez Canillas
2024-04-03  8:06 ` [PATCH 11/34] clk: ti: dpll: fix incorrect #ifdef checks Arnd Bergmann
2024-04-03  9:00   ` Tony Lindgren
2024-04-05 21:13   ` Stephen Boyd
2024-04-03  8:06 ` [PATCH 12/34] apm-emulation: hide an unused variable Arnd Bergmann
2024-04-03 12:23   ` Jiri Kosina
2024-04-03  8:06 ` [PATCH 13/34] sisfb: hide unused variables Arnd Bergmann
2024-04-03 12:39   ` Helge Deller
2024-04-03  8:06 ` [PATCH 14/34] dma/congiguous: avoid warning about unused size_bytes Arnd Bergmann
2024-04-03  9:42   ` Christoph Hellwig
2024-04-03  8:06 ` [PATCH 15/34] leds: apu: remove duplicate DMI lookup data Arnd Bergmann
2024-04-11 15:51   ` (subset) " Lee Jones
2024-04-03  8:06 ` [PATCH 16/34] iio: ad5755: hook up of_device_id lookup to platform driver Arnd Bergmann
2024-04-03  9:36   ` Andy Shevchenko
2024-04-03  9:55   ` Krzysztof Kozlowski
2024-04-03 10:01     ` Arnd Bergmann
2024-04-06 15:30       ` Jonathan Cameron
2024-04-06 15:31     ` Jonathan Cameron
2024-04-03  8:06 ` [PATCH 17/34] greybus: arche-ctrl: move device table to its right location Arnd Bergmann
2024-04-30 23:41   ` Alex Elder
2024-04-03  8:06 ` [PATCH 18/34] lib: checksum: hide unused expected_csum_ipv6_magic[] Arnd Bergmann
2024-04-03  8:41   ` Christophe Leroy
2024-04-03  8:58     ` Arnd Bergmann
2024-04-03  9:03       ` Christophe Leroy
2024-04-04 11:43         ` Arnd Bergmann
2024-04-03  8:06 ` [PATCH 19/34] sunrpc: suppress warnings for unused procfs functions Arnd Bergmann
2024-04-03  8:59   ` Jeff Layton
2024-04-03 13:20   ` Chuck Lever
2024-04-03  8:06 ` [PATCH 20/34] comedi: ni_atmio: avoid warning for unused device_ids[] table Arnd Bergmann
2024-04-03  8:06 ` [PATCH 21/34] iwlegacy: don't warn for unused variables with DEBUG_FS=n Arnd Bergmann
2024-04-03  9:33   ` Andy Shevchenko
2024-04-03 14:26   ` Jeff Johnson [this message]
2024-04-03  8:06 ` [PATCH 22/34] drm/komeda: don't warn for unused debugfs files Arnd Bergmann
2024-04-03  8:06 ` [PATCH 23/34] firmware: qcom_scm: mark qcom_scm_qseecom_allowlist as __maybe_unused Arnd Bergmann
2024-04-03  9:31   ` Krzysztof Kozlowski
2024-04-03  8:06 ` [PATCH 24/34] crypto: ccp - drop platform ifdef checks Arnd Bergmann
2024-04-03 15:17   ` Tom Lendacky
2024-04-03 15:50     ` Arnd Bergmann
2024-04-12  7:30   ` Herbert Xu
2024-04-03  8:06 ` [PATCH 25/34] usb: gadget: omap_udc: remove unused variable Arnd Bergmann
2024-04-05 22:51   ` Aaro Koskinen
2024-04-03  8:06 ` [PATCH 26/34] isdn: kcapi: don't build unused procfs code Arnd Bergmann
2024-04-03  8:06 ` [PATCH 27/34] cpufreq: intel_pstate: hide unused intel_pstate_cpu_oob_ids[] Arnd Bergmann
2024-04-03 14:43   ` Rafael J. Wysocki
2024-04-03  8:06 ` [PATCH 28/34] net: xgbe: remove extraneous #ifdef checks Arnd Bergmann
2024-04-03  8:06 ` [PATCH 29/34] Input: imagis - remove incorrect ifdef checks Arnd Bergmann
2024-04-03  8:06 ` [PATCH 30/34] sata: mv: drop unnecessary #ifdef checks Arnd Bergmann
2024-04-03  8:29   ` Damien Le Moal
2024-04-03  8:32   ` Damien Le Moal
2024-04-03  8:50     ` Arnd Bergmann
2024-04-04  3:45       ` Damien Le Moal
2024-04-03  9:10   ` Andy Shevchenko
2024-04-03  8:06 ` [PATCH 31/34] spi: remove incorrect of_match_ptr annotations Arnd Bergmann
2024-04-03  8:06   ` Arnd Bergmann
2024-04-03  8:06   ` Arnd Bergmann
2024-04-03  8:06   ` Arnd Bergmann
2024-04-03  9:04   ` Andy Shevchenko
2024-04-03  9:04     ` Andy Shevchenko
2024-04-03  9:04     ` Andy Shevchenko
2024-04-03  9:04     ` Andy Shevchenko
2024-04-03  9:05   ` Krzysztof Kozlowski
2024-04-03  9:05     ` Krzysztof Kozlowski
2024-04-03  9:05     ` Krzysztof Kozlowski
2024-04-03  9:05     ` Krzysztof Kozlowski
2024-04-03  9:56   ` Mark Brown
2024-04-03  9:56     ` Mark Brown
2024-04-03  9:56     ` Mark Brown
2024-04-03  9:56     ` Mark Brown
2024-04-03 21:05     ` Uwe Kleine-König
2024-04-03 21:05       ` Uwe Kleine-König
2024-04-03 21:05       ` Uwe Kleine-König
2024-04-03 21:05       ` Uwe Kleine-König
2024-04-03 21:13       ` Andy Shevchenko
2024-04-03 21:13         ` Andy Shevchenko
2024-04-03 21:13         ` Andy Shevchenko
2024-04-03 21:13         ` Andy Shevchenko
2024-04-03 22:19         ` Arnd Bergmann
2024-04-03 22:19           ` Arnd Bergmann
2024-04-03 22:19           ` Arnd Bergmann
2024-04-03 22:19           ` Arnd Bergmann
2024-04-03  8:06 ` [PATCH 32/34] ASoC: remove incorrect of_match_ptr/ACPI_PTR annotations Arnd Bergmann
2024-04-03  8:06   ` Arnd Bergmann
2024-04-03  9:06   ` Krzysztof Kozlowski
2024-04-03  9:06     ` Krzysztof Kozlowski
2024-04-03  9:15   ` Andy Shevchenko
2024-04-03  9:15     ` Andy Shevchenko
2024-04-03  8:06 ` [PATCH 33/34] drivers: " Arnd Bergmann
2024-04-03  9:13   ` Krzysztof Kozlowski
2024-04-03  9:30   ` Andy Shevchenko
2024-04-03 12:47     ` Corey Minyard
2024-04-03 13:23       ` Andy Shevchenko
2024-04-03 12:47   ` Corey Minyard
2024-04-03 16:09   ` Jarkko Sakkinen
2024-04-09 13:48   ` Greg Kroah-Hartman
2024-04-23  7:33   ` Xu Yilun
2024-04-23  9:52   ` Peter Rosin
2024-04-03  8:06 ` [PATCH 34/34] kbuild: always enable -Wunused-const-variable Arnd Bergmann
2024-04-03  9:19   ` Andy Shevchenko
2024-04-03  9:26     ` Arnd Bergmann
2024-04-06  5:20 ` [PATCH 00/34] address all -Wunused-const warnings patchwork-bot+netdevbpf
2024-04-06  5:20   ` patchwork-bot+netdevbpf
2024-04-10  8:02 ` (subset) " Sebastian Reichel
2024-04-10  8:02   ` Sebastian Reichel
2024-04-22  8:16 ` Michael Ellerman
2024-04-22  8:16   ` Michael Ellerman
2024-04-22  8:16   ` Michael Ellerman
2024-04-22  8:16   ` Michael Ellerman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0987ae32-911e-4770-bdd0-ba099fb3bd72@quicinc.com \
    --to=quic_jjohnson@quicinc.com \
    --cc=arnd@arndb.de \
    --cc=arnd@kernel.org \
    --cc=kvalo@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=stf_xl@wp.pl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.