Re: [PATCH] Use Kconfig flag to remove support of deprecated BE2/BE3 adapters

From: Ivan Vecera
Date: Mon Aug 06 2018 - 09:04:01 EST


On 6.8.2018 14:12, Petr Oros wrote:
> Add flags to remove support of deprecated BE2/BE3 adapters.
> BE2 disable will reduce .ko size by 2kb and BE3 by 3kb.
> Disable both will reduce .ko size by 9kb.
>
> With dissabled support is also removed coresponding PCI IDs
> and codepath with [BE2|BE3|BEx]_chip checks.
>
> New help style in Kconfig
>
> Signed-off-by: Petr Oros <poros@xxxxxxxxxx>

Note that this should be placed to -next...

Reviewed-by: Ivan Vecera <ivecera@xxxxxxxxxx>

> ---
> drivers/net/ethernet/emulex/benet/Kconfig | 20 ++++++++++++++++++--
> drivers/net/ethernet/emulex/benet/be.h | 8 ++++++++
> drivers/net/ethernet/emulex/benet/be_main.c | 6 +++++-
> 3 files changed, 31 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/emulex/benet/Kconfig b/drivers/net/ethernet/emulex/benet/Kconfig
> index b4853ec9de8d..68a9c40adc2a 100644
> --- a/drivers/net/ethernet/emulex/benet/Kconfig
> +++ b/drivers/net/ethernet/emulex/benet/Kconfig
> @@ -1,7 +1,7 @@
> config BE2NET
> tristate "ServerEngines' 10Gbps NIC - BladeEngine"
> depends on PCI
> - ---help---
> + help
> This driver implements the NIC functionality for ServerEngines'
> 10Gbps network adapter - BladeEngine.
>
> @@ -10,6 +10,22 @@ config BE2NET_HWMON
> depends on BE2NET && HWMON
> depends on !(BE2NET=y && HWMON=m)
> default y
> - ---help---
> + help
> Say Y here if you want to expose thermal sensor data on
> be2net network adapter.
> +
> +config BE2NET_BE2
> + bool "Support for deprecated BE2 chipsets"
> + depends on BE2NET
> + default y
> + help
> + Say Y here if you want to use deprecated Emulex devices based
> + on BE2 chipsets.
> +
> +config BE2NET_BE3
> + bool "Support for deprecated BE3 chipsets"
> + depends on BE2NET
> + default y
> + help
> + Say Y here if you want to use deprecated Emulex devices based
> + on BE3 chipsets.
> diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h
> index 382891f81e09..3038578ec7a7 100644
> --- a/drivers/net/ethernet/emulex/benet/be.h
> +++ b/drivers/net/ethernet/emulex/benet/be.h
> @@ -779,11 +779,19 @@ static inline u16 be_max_any_irqs(struct be_adapter *adapter)
> #define skyhawk_chip(adapter) (adapter->pdev->device == OC_DEVICE_ID5 || \
> adapter->pdev->device == OC_DEVICE_ID6)
>
> +#ifdef CONFIG_BE2NET_BE3
> #define BE3_chip(adapter) (adapter->pdev->device == BE_DEVICE_ID2 || \
> adapter->pdev->device == OC_DEVICE_ID2)
> +#else
> +#define BE3_chip(adapter) (0)
> +#endif /* CONFIG_BE2NET_BE3 */
>
> +#ifdef CONFIG_BE2NET_BE2
> #define BE2_chip(adapter) (adapter->pdev->device == BE_DEVICE_ID1 || \
> adapter->pdev->device == OC_DEVICE_ID1)
> +#else
> +#define BE2_chip(adapter) (0)
> +#endif /* CONFIG_BE2NET_BE2 */
>
> #define BEx_chip(adapter) (BE3_chip(adapter) || BE2_chip(adapter))
>
> diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
> index 8f755009ff38..d5b3f0139832 100644
> --- a/drivers/net/ethernet/emulex/benet/be_main.c
> +++ b/drivers/net/ethernet/emulex/benet/be_main.c
> @@ -47,10 +47,14 @@ MODULE_PARM_DESC(rx_frag_size, "Size of a fragment that holds rcvd data.");
> static struct workqueue_struct *be_err_recovery_workq;
>
> static const struct pci_device_id be_dev_ids[] = {
> +#ifdef CONFIG_BE2NET_BE2
> { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) },
> - { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) },
> { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) },
> +#endif /* CONFIG_BE2NET_BE2 */
> +#ifdef CONFIG_BE2NET_BE3
> + { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) },
> { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID2) },
> +#endif /* CONFIG_BE2NET_BE3 */
> { PCI_DEVICE(EMULEX_VENDOR_ID, OC_DEVICE_ID3)},
> { PCI_DEVICE(EMULEX_VENDOR_ID, OC_DEVICE_ID4)},
> { PCI_DEVICE(EMULEX_VENDOR_ID, OC_DEVICE_ID5)},
>