siena: Make MTD support specific for Siena
authorMartin Habets <habetsm.xilinx@gmail.com>
Wed, 11 May 2022 16:19:24 +0000 (17:19 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 12 May 2022 23:49:29 +0000 (16:49 -0700)
Add a Siena Kconfig option and use it in stead of the sfc one.

Signed-off-by: Martin Habets <habetsm.xilinx@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/sfc/Kconfig
drivers/net/ethernet/sfc/siena/Kconfig
drivers/net/ethernet/sfc/siena/Makefile
drivers/net/ethernet/sfc/siena/efx.h
drivers/net/ethernet/sfc/siena/efx_common.c
drivers/net/ethernet/sfc/siena/mcdi.c
drivers/net/ethernet/sfc/siena/mcdi.h
drivers/net/ethernet/sfc/siena/net_driver.h
drivers/net/ethernet/sfc/siena/siena.c

index 98db551ba2b7efd4629e1840e8c491bb516998d7..79b8ccaeee01d59d32572c2af19ee815b2468279 100644 (file)
@@ -32,7 +32,7 @@ config SFC
          To compile this driver as a module, choose M here.  The module
          will be called sfc.
 config SFC_MTD
-       bool "Solarflare SFC9000/SFC9100-family MTD support"
+       bool "Solarflare SFC9100-family MTD support"
        depends on SFC && MTD && !(SFC=y && MTD=m)
        default y
        help
index 3d52aee50d5a3199048e85782c0dc328e9030e6d..805b902f903d8b527700e59f9a4a8ec88fac7905 100644 (file)
@@ -10,3 +10,11 @@ config SFC_SIENA
 
          To compile this driver as a module, choose M here.  The module
          will be called sfc-siena.
+config SFC_SIENA_MTD
+       bool "Solarflare SFC9000-family MTD support"
+       depends on SFC_SIENA && MTD && !(SFC_SIENA=y && MTD=m)
+       default y
+       help
+         This exposes the on-board flash and/or EEPROM as MTD devices
+         (e.g. /dev/mtd1).  This is required to update the firmware or
+         the boot configuration under Linux.
index 74cb8b7d281e9b9966784be5c5e81a5e5f002752..3729095a51d970516a95749801f2a13b77c826d1 100644 (file)
@@ -5,7 +5,7 @@ sfc-siena-y             += farch.o siena.o \
                           selftest.o ethtool.o ethtool_common.o ptp.o \
                           mcdi.o mcdi_port.o mcdi_port_common.o \
                           mcdi_mon.o
-sfc-siena-$(CONFIG_SFC_MTD)    += mtd.o
-sfc-siena-$(CONFIG_SFC_SRIOV)  += siena_sriov.o
+sfc-siena-$(CONFIG_SFC_SIENA_MTD)      += mtd.o
+sfc-siena-$(CONFIG_SFC_SRIOV)          += siena_sriov.o
 
 obj-$(CONFIG_SFC_SIENA)        += sfc-siena.o
index f91f3c94a2750b440baf017f21d75df91e292bba..1d9755e59d75f8a3514c9d7105fd32a232a5c852 100644 (file)
@@ -162,7 +162,7 @@ void efx_siena_get_irq_moderation(struct efx_nic *efx, unsigned int *tx_usecs,
 void efx_siena_update_sw_stats(struct efx_nic *efx, u64 *stats);
 
 /* MTD */
-#ifdef CONFIG_SFC_MTD
+#ifdef CONFIG_SFC_SIENA_MTD
 int efx_siena_mtd_add(struct efx_nic *efx, struct efx_mtd_partition *parts,
                      size_t n_parts, size_t sizeof_part);
 static inline int efx_mtd_probe(struct efx_nic *efx)
index b44a7114e319e794b384bb68bee29460fb4cf867..7c400fd590f5343287fd13bdd2511fdf094d0099 100644 (file)
@@ -997,7 +997,7 @@ int efx_siena_init_struct(struct efx_nic *efx,
        INIT_LIST_HEAD(&efx->node);
        INIT_LIST_HEAD(&efx->secondary_list);
        spin_lock_init(&efx->biu_lock);
-#ifdef CONFIG_SFC_MTD
+#ifdef CONFIG_SFC_SIENA_MTD
        INIT_LIST_HEAD(&efx->mtd_list);
 #endif
        INIT_WORK(&efx->reset_work, efx_reset_work);
index eb13aa59fe50a070ae758558a4b3824a1af0d876..b767e29cfe92fbc9b767857b7f527eda0c369f08 100644 (file)
@@ -2014,7 +2014,7 @@ int efx_siena_mcdi_wol_filter_reset(struct efx_nic *efx)
        return rc;
 }
 
-#ifdef CONFIG_SFC_MTD
+#ifdef CONFIG_SFC_SIENA_MTD
 
 #define EFX_MCDI_NVRAM_LEN_MAX 128
 
@@ -2256,4 +2256,4 @@ void efx_siena_mcdi_mtd_rename(struct efx_mtd_partition *part)
                 efx->name, part->type_name, mcdi_part->fw_subtype);
 }
 
-#endif /* CONFIG_SFC_MTD */
+#endif /* CONFIG_SFC_SIENA_MTD */
index dcebdbf956ce3b757492df2d063c19e0aee7beaa..64990f398e67f24770c01a0023e2751f07726773 100644 (file)
@@ -373,7 +373,7 @@ static inline int efx_siena_mcdi_mon_probe(struct efx_nic *efx) { return 0; }
 static inline void efx_siena_mcdi_mon_remove(struct efx_nic *efx) {}
 #endif
 
-#ifdef CONFIG_SFC_MTD
+#ifdef CONFIG_SFC_SIENA_MTD
 int efx_siena_mcdi_mtd_read(struct mtd_info *mtd, loff_t start, size_t len,
                            size_t *retlen, u8 *buffer);
 int efx_siena_mcdi_mtd_erase(struct mtd_info *mtd, loff_t start, size_t len);
index 7e0659be4348d86e25a167aab23b885f31ab6bf2..6af172fb0b101177fece7a1277a41b776fb550a0 100644 (file)
@@ -1031,7 +1031,7 @@ struct efx_nic {
        unsigned irq_level;
        struct delayed_work selftest_work;
 
-#ifdef CONFIG_SFC_MTD
+#ifdef CONFIG_SFC_SIENA_MTD
        struct list_head mtd_list;
 #endif
 
@@ -1411,7 +1411,7 @@ struct efx_nic_type {
        bool (*filter_rfs_expire_one)(struct efx_nic *efx, u32 flow_id,
                                      unsigned int index);
 #endif
-#ifdef CONFIG_SFC_MTD
+#ifdef CONFIG_SFC_SIENA_MTD
        int (*mtd_probe)(struct efx_nic *efx);
        void (*mtd_rename)(struct efx_mtd_partition *part);
        int (*mtd_read)(struct mtd_info *mtd, loff_t start, size_t len,
index 741313aff1d1027e1aa9bb647b8db2dab5e5667c..9fe8ffc3a8d342bfb492e25ba1cdcd07e604fb02 100644 (file)
@@ -830,7 +830,7 @@ static int siena_mcdi_poll_reboot(struct efx_nic *efx)
  **************************************************************************
  */
 
-#ifdef CONFIG_SFC_MTD
+#ifdef CONFIG_SFC_SIENA_MTD
 
 struct siena_nvram_type_info {
        int port;
@@ -954,7 +954,7 @@ fail:
        return rc;
 }
 
-#endif /* CONFIG_SFC_MTD */
+#endif /* CONFIG_SFC_SIENA_MTD */
 
 static unsigned int siena_check_caps(const struct efx_nic *efx,
                                     u8 flag, u32 offset)
@@ -1058,7 +1058,7 @@ const struct efx_nic_type siena_a0_nic_type = {
 #ifdef CONFIG_RFS_ACCEL
        .filter_rfs_expire_one = efx_farch_filter_rfs_expire_one,
 #endif
-#ifdef CONFIG_SFC_MTD
+#ifdef CONFIG_SFC_SIENA_MTD
        .mtd_probe = siena_mtd_probe,
        .mtd_rename = efx_siena_mcdi_mtd_rename,
        .mtd_read = efx_siena_mcdi_mtd_read,