myri10ge: remove broken select INTEL_IOATDMA from Kconfig
Subsystems (2)
PATCH 1/1 myri10ge: remove broken select INTEL_IOATDMA from Kconfig
We cannot select INTEL_IOATDMA in Kconfig as soon as MYRI10GE is enabled since the former is not available on all architectures. Just use a Kconfig bool MYRI10GE_DCA set to =y when DCA support can actually be built in myri10ge (when DCA is enabled, except if MYRI10GE=y and DCA=m).
Signed-off-by Brice Goglin <[email protected]>
drivers/net/Kconfig +5 -1
@@ -2462,7 +2462,6 @@ config MYRI10GE select FW_LOADER select CRC32 select INET_LRO - select INTEL_IOATDMA ---help--- This driver supports Myricom Myri-10G Dual Protocol interface in Ethernet mode. If the eeprom on your board is not recent enough,
@@ -2474,6 +2473,11 @@ config MYRI10GE To compile this driver as a module, choose M here. The module will be called myri10ge. +config MYRI10GE_DCA + bool + default y + depends on MYRI10GE && DCA && !(MYRI10GE=y && DCA=m) + config NETXEN_NIC tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC" depends on PCI
drivers/net/myri10ge/myri10ge.c +13 -13
@@ -188,7 +188,7 @@ struct myri10ge_slice_state {dma_addr_t fw_stats_bus;int watchdog_tx_done;int watchdog_tx_req; -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA int cached_dca_tag;int cpu;__be32 __iomem *dca_tag;
@@ -220,7 +220,7 @@ struct myri10ge_priv {int msi_enabled;int msix_enabled;struct msix_entry *msix_vectors; -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA int dca_enabled;#endif u32 link_state;
@@ -902,7 +902,7 @@ static int myri10ge_reset(struct myri10ge_priv *mgp)struct myri10ge_slice_state *ss;int i, status;size_t bytes; -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA unsigned long dca_tag_off;#endif
@@ -1012,7 +1012,7 @@ static int myri10ge_reset(struct myri10ge_priv *mgp) }put_be32 (htonl (mgp->intr_coal_delay), mgp->intr_coal_delay_ptr); -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA status =myri10ge_send_cmd (mgp,MXGEFW_CMD_GET_DCA_OFFSET , &cmd,0 ); dca_tag_off = cmd.data0;for (i =0 ; i < mgp->num_slices; i++) {
@@ -1051,7 +1051,7 @@ static int myri10ge_reset(struct myri10ge_priv *mgp)return status; } -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA static void myri10ge_write_dca (struct myri10ge_slice_state *ss,int cpu,int tag) {
@@ -1505,7 +1505,7 @@ static int myri10ge_poll(struct napi_struct *napi, int budget)struct net_device *netdev = ss->mgp->dev;int work_done; -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA if (ss->mgp->dca_enabled)myri10ge_update_dca (ss);#endif
@@ -1736,7 +1736,7 @@ static const char myri10ge_gstrings_main_stats[][ETH_GSTRING_LEN] = {"tx_boundary" ,"WC" ,"irq" ,"MSI" ,"MSIX" ,"read_dma_bw_MBs" ,"write_dma_bw_MBs" ,"read_write_dma_bw_MBs" ,"serial_number" ,"watchdog_resets" , -#if (defined CONFIG_DCA) || (defined CONFIG_DCA_MODULE) +#ifdef CONFIG_MYRI10GE_DCA"dca_capable_firmware" ,"dca_device_present" , #endif "link_changes", "link_up", "dropped_link_overflow",
@@ -1815,7 +1815,7 @@ myri10ge_get_ethtool_stats(struct net_device *netdev, data[i++] = (unsigned int )mgp->read_write_dma; data[i++] = (unsigned int )mgp->serial_number; data[i++] = (unsigned int )mgp->watchdog_resets; -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA data[i++] = (unsigned int )(mgp->ss[0 ].dca_tag !=NULL ); data[i++] = (unsigned int )(mgp->dca_enabled);#endif
@@ -3844,7 +3844,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)dev_err (&pdev->dev,"failed reset\n" ); goto abort_with_slices; } -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA myri10ge_setup_dca (mgp);#endif pci_set_drvdata (pdev, mgp);
@@ -3948,7 +3948,7 @@ static void myri10ge_remove(struct pci_dev *pdev) netdev = mgp->dev;unregister_netdev (netdev); -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA myri10ge_teardown_dca (mgp);#endif myri10ge_dummy_rdma (mgp,0 );
@@ -3993,7 +3993,7 @@ static struct pci_driver myri10ge_driver = {#endif }; -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA static int myri10ge_notify_dca (struct notifier_block *nb,unsigned long event,void *p) {
@@ -4024,7 +4024,7 @@ static __init int myri10ge_init_module(void) myri10ge_driver.name, myri10ge_rss_hash); myri10ge_rss_hash =MXGEFW_RSS_HASH_TYPE_SRC_PORT ; } -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA dca_register_notify (&myri10ge_dca_notifier);#endif if (myri10ge_max_slices >MYRI10GE_MAX_SLICES )
@@ -4037,7 +4037,7 @@ module_init(myri10ge_init_module); static __exit void myri10ge_cleanup_module(void) { -#if (definedCONFIG_DCA ) || (definedCONFIG_DCA_MODULE ) +#ifdef CONFIG_MYRI10GE_DCA dca_unregister_notify (&myri10ge_dca_notifier);#endif pci_unregister_driver (&myri10ge_driver);
Jeff Garzik
AppliedQuoted 7 lines · Brice Goglin
We cannot select
INTEL_IOATDMAinKconfigas soon as MYRI10GE is enabled since the former is not available on all architectures. Just use aKconfigboolMYRI10GE_DCAset to =y when DCA support can actually be built in myri10ge (when DCA is enabled, except if MYRI10GE=y and DCA=m).Signed-off-by Brice Goglin <[email protected]>
applied this, and the same again to ixgbe