Re: [PATCH net-next] tg3: Add the ability to conditionally build w/ HWMON

From: Siva Reddy Kallam <siva.kallam@broadcom.com>
Date: 2017-03-07 16:03:15
Also in: lkml

On Tue, Mar 7, 2017 at 2:26 AM, Florian Fainelli [off-list ref] wrote:
Introduce a Kconfig option: CONFIG_TIGON3_HWMON which allows to build
in/out support for thermal sensors reported by Tigon3 NICs.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Siva Reddy Kallam <siva.kallam@broadcom.com>
quoted hunk
---
 drivers/net/ethernet/broadcom/Kconfig | 8 +++++++-
 drivers/net/ethernet/broadcom/tg3.c   | 7 +++++++
 2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/Kconfig b/drivers/net/ethernet/broadcom/Kconfig
index 940fb24bba21..96413808c726 100644
--- a/drivers/net/ethernet/broadcom/Kconfig
+++ b/drivers/net/ethernet/broadcom/Kconfig
@@ -109,7 +109,6 @@ config TIGON3
        tristate "Broadcom Tigon3 support"
        depends on PCI
        select PHYLIB
-       select HWMON
        imply PTP_1588_CLOCK
        ---help---
          This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
@@ -117,6 +116,13 @@ config TIGON3
          To compile this driver as a module, choose M here: the module
          will be called tg3.  This is recommended.

+config TIGON3_HWMON
+       bool "Broadcom Tigon3 HWMON support"
+       default y
+       depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
+       ---help---
+         Say Y if you want to expose the thermal sensor on Tigon3 devices.
+
 config BNX2X
        tristate "Broadcom NetXtremeII 10Gb support"
        depends on PCI
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 30d1eb9ebec9..f395b951f5e7 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -825,6 +825,7 @@ static int tg3_ape_event_lock(struct tg3 *tp, u32 timeout_us)
        return timeout_us ? 0 : -EBUSY;
 }

+#ifdef CONFIG_TIGON3_HWMON
 static int tg3_ape_wait_for_event(struct tg3 *tp, u32 timeout_us)
 {
        u32 i, apedata;
@@ -904,6 +905,7 @@ static int tg3_ape_scratchpad_read(struct tg3 *tp, u32 *data, u32 base_off,

        return 0;
 }
+#endif

 static int tg3_ape_send_event(struct tg3 *tp, u32 event)
 {
@@ -10744,6 +10746,7 @@ static int tg3_init_hw(struct tg3 *tp, bool reset_phy)
        return tg3_reset_hw(tp, reset_phy);
 }

+#ifdef CONFIG_TIGON3_HWMON
 static void tg3_sd_scan_scratchpad(struct tg3 *tp, struct tg3_ocir *ocir)
 {
        int i;
@@ -10826,6 +10829,10 @@ static void tg3_hwmon_open(struct tg3 *tp)
                dev_err(&pdev->dev, "Cannot register hwmon device, aborting\n");
        }
 }
+#else
+static inline void tg3_hwmon_close(struct tg3 *tp) { }
+static inline void tg3_hwmon_open(struct tg3 *tp) { }
+#endif /* CONFIG_TIGON3_HWMON */


 #define TG3_STAT_ADD32(PSTAT, REG) \
--
2.9.3
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help