[PATCH net-next] net: mana: Fix build errors when CONFIG_NET_SHAPER is disabled

Erni Sri Satya Vennela posted 1 patch 3 months, 2 weeks ago
There is a newer version of this series
drivers/net/ethernet/microsoft/mana/mana_en.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH net-next] net: mana: Fix build errors when CONFIG_NET_SHAPER is disabled
Posted by Erni Sri Satya Vennela 3 months, 2 weeks ago
Fix build errors when CONFIG_NET_SHAPER is disabled, including:

drivers/net/ethernet/microsoft/mana/mana_en.c:804:10: error:
'const struct net_device_ops' has no member named 'net_shaper_ops'

     804 |         .net_shaper_ops         = &mana_shaper_ops,

drivers/net/ethernet/microsoft/mana/mana_en.c:804:35: error:
initialization of 'int (*)(struct net_device *, struct neigh_parms *)'
from incompatible pointer type 'const struct net_shaper_ops *'
[-Werror=incompatible-pointer-types]

     804 |         .net_shaper_ops         = &mana_shaper_ops,

Signed-off-by: Erni Sri Satya Vennela <ernis@linux.microsoft.com>
Reviewed-by: Shradha Gupta <shradhagupta@linux.microsoft.com>
Fixes: 75cabb46935b ("net: mana: Add support for net_shaper_ops")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202506230625.bfUlqb8o-lkp@intel.com/
---
 drivers/net/ethernet/microsoft/mana/mana_en.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c
index 10e766c73fca..a4a18eb02558 100644
--- a/drivers/net/ethernet/microsoft/mana/mana_en.c
+++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
@@ -719,6 +719,7 @@ static int mana_change_mtu(struct net_device *ndev, int new_mtu)
 	return err;
 }
 
+#if IS_ENABLED(CONFIG_NET_SHAPER)
 static int mana_shaper_set(struct net_shaper_binding *binding,
 			   const struct net_shaper *shaper,
 			   struct netlink_ext_ack *extack)
@@ -790,6 +791,7 @@ static const struct net_shaper_ops mana_shaper_ops = {
 	.delete = mana_shaper_del,
 	.capabilities = mana_shaper_cap,
 };
+#endif
 
 static const struct net_device_ops mana_devops = {
 	.ndo_open		= mana_open,
@@ -801,7 +803,9 @@ static const struct net_device_ops mana_devops = {
 	.ndo_bpf		= mana_bpf,
 	.ndo_xdp_xmit		= mana_xdp_xmit,
 	.ndo_change_mtu		= mana_change_mtu,
+#if IS_ENABLED(CONFIG_NET_SHAPER)
 	.net_shaper_ops         = &mana_shaper_ops,
+#endif
 };
 
 static void mana_cleanup_port_context(struct mana_port_context *apc)
-- 
2.34.1
Re: [PATCH net-next] net: mana: Fix build errors when CONFIG_NET_SHAPER is disabled
Posted by Jakub Kicinski 3 months, 2 weeks ago
On Mon, 23 Jun 2025 04:14:01 -0700 Erni Sri Satya Vennela wrote:
> Fix build errors when CONFIG_NET_SHAPER is disabled, including:
> 
> drivers/net/ethernet/microsoft/mana/mana_en.c:804:10: error:
> 'const struct net_device_ops' has no member named 'net_shaper_ops'
> 
>      804 |         .net_shaper_ops         = &mana_shaper_ops,
> 
> drivers/net/ethernet/microsoft/mana/mana_en.c:804:35: error:
> initialization of 'int (*)(struct net_device *, struct neigh_parms *)'
> from incompatible pointer type 'const struct net_shaper_ops *'
> [-Werror=incompatible-pointer-types]
> 
>      804 |         .net_shaper_ops         = &mana_shaper_ops,

You have to add

	select NET_SHAPER

to kconfig dependencies for the driver. This symbol cannot be selected
by the user, its hidden from the menus.
-- 
pw-bot: cr
Re: [PATCH net-next] net: mana: Fix build errors when CONFIG_NET_SHAPER is disabled
Posted by Erni Sri Satya Vennela 3 months, 2 weeks ago
On Tue, Jun 24, 2025 at 04:33:42PM -0700, Jakub Kicinski wrote:
> On Mon, 23 Jun 2025 04:14:01 -0700 Erni Sri Satya Vennela wrote:
> > Fix build errors when CONFIG_NET_SHAPER is disabled, including:
> > 
> > drivers/net/ethernet/microsoft/mana/mana_en.c:804:10: error:
> > 'const struct net_device_ops' has no member named 'net_shaper_ops'
> > 
> >      804 |         .net_shaper_ops         = &mana_shaper_ops,
> > 
> > drivers/net/ethernet/microsoft/mana/mana_en.c:804:35: error:
> > initialization of 'int (*)(struct net_device *, struct neigh_parms *)'
> > from incompatible pointer type 'const struct net_shaper_ops *'
> > [-Werror=incompatible-pointer-types]
> > 
> >      804 |         .net_shaper_ops         = &mana_shaper_ops,
> 
> You have to add
> 
> 	select NET_SHAPER
> 
> to kconfig dependencies for the driver. This symbol cannot be selected
> by the user, its hidden from the menus.
Thankyou for pointing it out Jakub.
I'll make this change in the next version of this patch.

- Vennela
> -- 
> pw-bot: cr
Re: [PATCH net-next] net: mana: Fix build errors when CONFIG_NET_SHAPER is disabled
Posted by Simon Horman 3 months, 2 weeks ago
On Mon, Jun 23, 2025 at 04:14:01AM -0700, Erni Sri Satya Vennela wrote:
> Fix build errors when CONFIG_NET_SHAPER is disabled, including:
> 
> drivers/net/ethernet/microsoft/mana/mana_en.c:804:10: error:
> 'const struct net_device_ops' has no member named 'net_shaper_ops'
> 
>      804 |         .net_shaper_ops         = &mana_shaper_ops,
> 
> drivers/net/ethernet/microsoft/mana/mana_en.c:804:35: error:
> initialization of 'int (*)(struct net_device *, struct neigh_parms *)'
> from incompatible pointer type 'const struct net_shaper_ops *'
> [-Werror=incompatible-pointer-types]
> 
>      804 |         .net_shaper_ops         = &mana_shaper_ops,
> 
> Signed-off-by: Erni Sri Satya Vennela <ernis@linux.microsoft.com>
> Reviewed-by: Shradha Gupta <shradhagupta@linux.microsoft.com>
> Fixes: 75cabb46935b ("net: mana: Add support for net_shaper_ops")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202506230625.bfUlqb8o-lkp@intel.com/

Reviewed-by: Simon Horman <horms@kernel.org>