From: Vadim Fedorenko <vadim.fedorenko@linux.dev>
To: Martyn Welch <martyn.welch@collabora.com>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Vladimir Oltean <vladimir.oltean@nxp.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Cc: kernel@collabora.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] net: enetc: Replace ifdef with IS_ENABLED
Date: Mon, 2 Sep 2024 10:21:33 +0100 [thread overview]
Message-ID: <ecd830fe-28a8-4995-b4d3-fa4e5312b305@linux.dev> (raw)
In-Reply-To: <20240830175052.1463711-1-martyn.welch@collabora.com>
On 30/08/2024 18:50, Martyn Welch wrote:
> The enetc driver uses ifdefs when checking whether
> CONFIG_FSL_ENETC_PTP_CLOCK is enabled in a number of places. This works
> if the driver is compiled in but fails if the driver is available as a
> kernel module. Replace the instances of ifdef with use of the IS_ENABLED
> macro, that will evaluate as true when this feature is built as a kernel
> module.
>
> Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
> ---
> drivers/net/ethernet/freescale/enetc/enetc.c | 8 ++++----
> drivers/net/ethernet/freescale/enetc/enetc.h | 4 ++--
> drivers/net/ethernet/freescale/enetc/enetc_ethtool.c | 2 +-
> 3 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc.c b/drivers/net/ethernet/freescale/enetc/enetc.c
> index 5c45f42232d3..276bc96dd1ef 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc.c
> @@ -977,7 +977,7 @@ static int enetc_refill_rx_ring(struct enetc_bdr *rx_ring, const int buff_cnt)
> return j;
> }
>
> -#ifdef CONFIG_FSL_ENETC_PTP_CLOCK
> +#if IS_ENABLED(CONFIG_FSL_ENETC_PTP_CLOCK)
> static void enetc_get_rx_tstamp(struct net_device *ndev,
> union enetc_rx_bd *rxbd,
> struct sk_buff *skb)
> @@ -1041,7 +1041,7 @@ static void enetc_get_offloads(struct enetc_bdr *rx_ring,
> __vlan_hwaccel_put_tag(skb, tpid, le16_to_cpu(rxbd->r.vlan_opt));
> }
>
> -#ifdef CONFIG_FSL_ENETC_PTP_CLOCK
> +#if IS_ENABLED(CONFIG_FSL_ENETC_PTP_CLOCK)
> if (priv->active_offloads & ENETC_F_RX_TSTAMP)
> enetc_get_rx_tstamp(rx_ring->ndev, rxbd, skb);
I believe IS_ENABLED can go directly to if statement and there should be
no macros dances anymore. You can change these lines into
if (IS_ENABLED(CONFIG_FSL_ENETC_PTP_CLOCK) &&
priv->active_offloads & ENETC_F_RX_TSTAMP)
The same applies to other spots in the patch.
> #endif
> @@ -2882,7 +2882,7 @@ void enetc_set_features(struct net_device *ndev, netdev_features_t features)
> }
> EXPORT_SYMBOL_GPL(enetc_set_features);
>
> -#ifdef CONFIG_FSL_ENETC_PTP_CLOCK
> +#if IS_ENABLED(CONFIG_FSL_ENETC_PTP_CLOCK)
> static int enetc_hwtstamp_set(struct net_device *ndev, struct ifreq *ifr)
> {
> struct enetc_ndev_priv *priv = netdev_priv(ndev);
> @@ -2956,7 +2956,7 @@ static int enetc_hwtstamp_get(struct net_device *ndev, struct ifreq *ifr)
> int enetc_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd)
> {
> struct enetc_ndev_priv *priv = netdev_priv(ndev);
> -#ifdef CONFIG_FSL_ENETC_PTP_CLOCK
> +#if IS_ENABLED(CONFIG_FSL_ENETC_PTP_CLOCK)
> if (cmd == SIOCSHWTSTAMP)
> return enetc_hwtstamp_set(ndev, rq);
> if (cmd == SIOCGHWTSTAMP)
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc.h b/drivers/net/ethernet/freescale/enetc/enetc.h
> index a9c2ff22431c..b527bb3d51b4 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc.h
> +++ b/drivers/net/ethernet/freescale/enetc/enetc.h
> @@ -184,7 +184,7 @@ static inline union enetc_rx_bd *enetc_rxbd(struct enetc_bdr *rx_ring, int i)
> {
> int hw_idx = i;
>
> -#ifdef CONFIG_FSL_ENETC_PTP_CLOCK
> +#if IS_ENABLED(CONFIG_FSL_ENETC_PTP_CLOCK)
> if (rx_ring->ext_en)
> hw_idx = 2 * i;
> #endif
> @@ -199,7 +199,7 @@ static inline void enetc_rxbd_next(struct enetc_bdr *rx_ring,
>
> new_rxbd++;
>
> -#ifdef CONFIG_FSL_ENETC_PTP_CLOCK
> +#if IS_ENABLED(CONFIG_FSL_ENETC_PTP_CLOCK)
> if (rx_ring->ext_en)
> new_rxbd++;
> #endif
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c b/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
> index 5e684b23c5f5..d6fdec2220ce 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
> @@ -853,7 +853,7 @@ static int enetc_get_ts_info(struct net_device *ndev,
> info->phc_index = -1;
> }
>
> -#ifdef CONFIG_FSL_ENETC_PTP_CLOCK
> +#if IS_ENABLED(CONFIG_FSL_ENETC_PTP_CLOCK)
> info->so_timestamping = SOF_TIMESTAMPING_TX_HARDWARE |
> SOF_TIMESTAMPING_RX_HARDWARE |
> SOF_TIMESTAMPING_RAW_HARDWARE |
next prev parent reply other threads:[~2024-09-02 9:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-30 17:50 [PATCH] net: enetc: Replace ifdef with IS_ENABLED Martyn Welch
2024-09-02 9:21 ` Vadim Fedorenko [this message]
2024-09-03 14:00 ` Martyn Welch
2024-09-03 17:04 ` Simon Horman
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=ecd830fe-28a8-4995-b4d3-fa4e5312b305@linux.dev \
--to=vadim.fedorenko@linux.dev \
--cc=claudiu.manoil@nxp.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kernel@collabora.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martyn.welch@collabora.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=vladimir.oltean@nxp.com \
/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.