summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-08-13 23:19:22 +0200
committerDavid S. Miller <davem@davemloft.net>2018-08-13 20:43:47 -0700
commit9dc502d79778324df7db4e093ffddf5413a1cd5f (patch)
tree88ffaffaa9e72e4439386e85c71adc4937b7e576
parent3aad924025e2865e80212b9154749303618a1826 (diff)
downloadlinux-9dc502d79778324df7db4e093ffddf5413a1cd5f.tar.bz2
net: lan743x: fix building without CONFIG_PTP_1588_CLOCK
Building without CONFIG_PTP_1588_CLOCK results in multiple failures, this was obviously not well tested: drivers/net/ethernet/microchip/lan743x_ptp.c: In function 'lan743x_ptp_isr': drivers/net/ethernet/microchip/lan743x_ptp.c:781:28: error: 'struct lan743x_ptp' has no member named 'ptp_clock'; did you mean 'tx_ts_lock'? ptp_schedule_worker(ptp->ptp_clock, 0); ^~~~~~~~~ tx_ts_lock drivers/net/ethernet/microchip/lan743x_ptp.c: In function 'lan743x_ptp_open': drivers/net/ethernet/microchip/lan743x_ptp.c:879:6: error: unused variable 'ret' [-Werror=unused-variable] int ret = -ENODEV; ^~~ At top level: drivers/net/ethernet/microchip/lan743x_ptp.c:63:13: error: 'lan743x_ptp_tx_ts_enqueue_ts' defined but not used [-Werror=unused-function] static void lan743x_ptp_tx_ts_enqueue_ts(struct lan743x_adapter *adapter, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors drivers/net/ethernet/microchip/lan743x_ethtool.c: In function 'lan743x_ethtool_get_ts_info': drivers/net/ethernet/microchip/lan743x_ethtool.c:558:19: error: 'struct lan743x_ptp' has no member named 'ptp_clock'; did you mean 'tx_ts_lock'? Those #ifdef checks are hard to get right, replace them all with IS_ENABLED() checks that leave the same code visible to the compiler but let it optimize out the unused bits based on the configuration. Fixes: 07624df1c9ef ("lan743x: lan743x: Add PTP support") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/microchip/lan743x_ptp.c15
-rw-r--r--drivers/net/ethernet/microchip/lan743x_ptp.h2
2 files changed, 6 insertions, 11 deletions
diff --git a/drivers/net/ethernet/microchip/lan743x_ptp.c b/drivers/net/ethernet/microchip/lan743x_ptp.c
index 029a2af90d5e..64dba96edc79 100644
--- a/drivers/net/ethernet/microchip/lan743x_ptp.c
+++ b/drivers/net/ethernet/microchip/lan743x_ptp.c
@@ -4,6 +4,7 @@
#include <linux/netdevice.h>
#include "lan743x_main.h"
+#include <linux/ptp_clock_kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/net_tstamp.h>
@@ -138,7 +139,6 @@ done:
spin_unlock_bh(&ptp->tx_ts_lock);
}
-#ifdef CONFIG_PTP_1588_CLOCK
static int lan743x_ptp_reserve_event_ch(struct lan743x_adapter *adapter)
{
struct lan743x_ptp *ptp = &adapter->ptp;
@@ -760,7 +760,6 @@ static void lan743x_ptp_clock_step(struct lan743x_adapter *adapter,
mutex_unlock(&ptp->command_lock);
}
}
-#endif /* CONFIG_PTP_1588_CLOCK */
void lan743x_ptp_isr(void *context)
{
@@ -889,7 +888,9 @@ int lan743x_ptp_open(struct lan743x_adapter *adapter)
PTP_INT_BIT_TX_SWTS_ERR_ | PTP_INT_BIT_TX_TS_);
ptp->flags |= PTP_FLAG_ISR_ENABLED;
-#ifdef CONFIG_PTP_1588_CLOCK
+ if (!IS_ENABLED(CONFIG_PTP_1588_CLOCK))
+ return 0;
+
snprintf(ptp->pin_config[0].name, 32, "lan743x_ptp_pin_0");
ptp->pin_config[0].index = 0;
ptp->pin_config[0].func = PTP_PF_PEROUT;
@@ -931,9 +932,6 @@ int lan743x_ptp_open(struct lan743x_adapter *adapter)
done:
lan743x_ptp_close(adapter);
return ret;
-#else
- return 0;
-#endif
}
void lan743x_ptp_close(struct lan743x_adapter *adapter)
@@ -941,15 +939,14 @@ void lan743x_ptp_close(struct lan743x_adapter *adapter)
struct lan743x_ptp *ptp = &adapter->ptp;
int index;
-#ifdef CONFIG_PTP_1588_CLOCK
- if (ptp->flags & PTP_FLAG_PTP_CLOCK_REGISTERED) {
+ if (IS_ENABLED(CONFIG_PTP_1588_CLOCK) &&
+ ptp->flags & PTP_FLAG_PTP_CLOCK_REGISTERED) {
ptp_clock_unregister(ptp->ptp_clock);
ptp->ptp_clock = NULL;
ptp->flags &= ~PTP_FLAG_PTP_CLOCK_REGISTERED;
netif_info(adapter, drv, adapter->netdev,
"ptp clock unregister\n");
}
-#endif
if (ptp->flags & PTP_FLAG_ISR_ENABLED) {
lan743x_csr_write(adapter, PTP_INT_EN_CLR,
diff --git a/drivers/net/ethernet/microchip/lan743x_ptp.h b/drivers/net/ethernet/microchip/lan743x_ptp.h
index 20f2223024dc..5fc1b3cd5e33 100644
--- a/drivers/net/ethernet/microchip/lan743x_ptp.h
+++ b/drivers/net/ethernet/microchip/lan743x_ptp.h
@@ -49,11 +49,9 @@ struct lan743x_ptp {
/* command_lock: used to prevent concurrent ptp commands */
struct mutex command_lock;
-#ifdef CONFIG_PTP_1588_CLOCK
struct ptp_clock *ptp_clock;
struct ptp_clock_info ptp_clock_info;
struct ptp_pin_desc pin_config[1];
-#endif /* CONFIG_PTP_1588_CLOCK */
#define LAN743X_PTP_NUMBER_OF_EVENT_CHANNELS (2)
unsigned long used_event_ch;