be2net: Use Kconfig flag to support for enabling/disabling adapters
Add flags to enable/disable supported chips in be2net. With disable support are removed coresponding PCI IDs and also codepaths with [BE2|BE3|BEx|lancer|skyhawk]_chip checks. Disable chip will reduce module size by: BE2 ~2kb BE3 ~3kb Lancer ~10kb Skyhawk ~9kb When enable skyhawk only it will reduce module size by ~20kb New help style in Kconfig Reviewed-by: Ivan Vecera <ivecera@redhat.com> Signed-off-by: Petr Oros <poros@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
eb95f52fc7
commit
98471b5b72
|
@ -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,42 @@ 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 BE2 chipsets"
|
||||
depends on BE2NET
|
||||
default y
|
||||
help
|
||||
Say Y here if you want to use devices based on BE2
|
||||
chipsets. (e.g. OneConnect OCe10xxx)
|
||||
|
||||
config BE2NET_BE3
|
||||
bool "Support for BE3 chipsets"
|
||||
depends on BE2NET
|
||||
default y
|
||||
help
|
||||
Say Y here if you want to use devices based on BE3
|
||||
chipsets. (e.g. OneConnect OCe11xxx)
|
||||
|
||||
config BE2NET_LANCER
|
||||
bool "Support for Lancer chipsets"
|
||||
depends on BE2NET
|
||||
default y
|
||||
help
|
||||
Say Y here if you want to use devices based on Lancer
|
||||
chipsets. (e.g LightPulse LPe12xxx)
|
||||
|
||||
config BE2NET_SKYHAWK
|
||||
bool "Support for Skyhawk chipsets"
|
||||
depends on BE2NET
|
||||
default y
|
||||
help
|
||||
Say Y here if you want to use devices based on Skyhawk
|
||||
chipsets. (e.g. OneConnect OCe14xxx)
|
||||
|
||||
comment "WARNING: be2net is useless without any enabled chip"
|
||||
depends on BE2NET_BE2=n && BE2NET_BE3=n && BE2NET_LANCER=n && \
|
||||
BE2NET_SKYHAWK=n && BE2NET
|
||||
|
|
|
@ -752,17 +752,33 @@ static inline u16 be_max_any_irqs(struct be_adapter *adapter)
|
|||
/* Is BE in QNQ multi-channel mode */
|
||||
#define be_is_qnq_mode(adapter) (adapter->function_mode & QNQ_MODE)
|
||||
|
||||
#ifdef CONFIG_BE2NET_LANCER
|
||||
#define lancer_chip(adapter) (adapter->pdev->device == OC_DEVICE_ID3 || \
|
||||
adapter->pdev->device == OC_DEVICE_ID4)
|
||||
#else
|
||||
#define lancer_chip(adapter) (0)
|
||||
#endif /* CONFIG_BE2NET_LANCER */
|
||||
|
||||
#ifdef CONFIG_BE2NET_SKYHAWK
|
||||
#define skyhawk_chip(adapter) (adapter->pdev->device == OC_DEVICE_ID5 || \
|
||||
adapter->pdev->device == OC_DEVICE_ID6)
|
||||
#else
|
||||
#define skyhawk_chip(adapter) (0)
|
||||
#endif /* CONFIG_BE2NET_SKYHAWK */
|
||||
|
||||
#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))
|
||||
|
||||
|
|
|
@ -47,14 +47,22 @@ 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 */
|
||||
#ifdef CONFIG_BE2NET_LANCER
|
||||
{ PCI_DEVICE(EMULEX_VENDOR_ID, OC_DEVICE_ID3)},
|
||||
{ PCI_DEVICE(EMULEX_VENDOR_ID, OC_DEVICE_ID4)},
|
||||
#endif /* CONFIG_BE2NET_LANCER */
|
||||
#ifdef CONFIG_BE2NET_SKYHAWK
|
||||
{ PCI_DEVICE(EMULEX_VENDOR_ID, OC_DEVICE_ID5)},
|
||||
{ PCI_DEVICE(EMULEX_VENDOR_ID, OC_DEVICE_ID6)},
|
||||
#endif /* CONFIG_BE2NET_SKYHAWK */
|
||||
{ 0 }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pci, be_dev_ids);
|
||||
|
|
Loading…
Reference in New Issue