OSDN Git Service

ptp: ptp_clock: make scaled_ppm_to_ppb static inline
authorRadu Pirea (NXP OSS) <radu-nicolae.pirea@oss.nxp.com>
Mon, 10 May 2021 15:34:32 +0000 (18:34 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 May 2021 21:54:23 +0000 (14:54 -0700)
Make scaled_ppm_to_ppb static inline to be able to build drivers that
use this function even with PTP_1588_CLOCK disabled.

Signed-off-by: Radu Pirea (NXP OSS) <radu-nicolae.pirea@oss.nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/ptp/ptp_clock.c
include/linux/ptp_clock_kernel.h

index 03a246e..a780435 100644 (file)
@@ -63,27 +63,6 @@ static void enqueue_external_timestamp(struct timestamp_event_queue *queue,
        spin_unlock_irqrestore(&queue->lock, flags);
 }
 
-s32 scaled_ppm_to_ppb(long ppm)
-{
-       /*
-        * The 'freq' field in the 'struct timex' is in parts per
-        * million, but with a 16 bit binary fractional field.
-        *
-        * We want to calculate
-        *
-        *    ppb = scaled_ppm * 1000 / 2^16
-        *
-        * which simplifies to
-        *
-        *    ppb = scaled_ppm * 125 / 2^13
-        */
-       s64 ppb = 1 + ppm;
-       ppb *= 125;
-       ppb >>= 13;
-       return (s32) ppb;
-}
-EXPORT_SYMBOL(scaled_ppm_to_ppb);
-
 /* posix clock implementation */
 
 static int ptp_clock_getres(struct posix_clock *pc, struct timespec64 *tp)
index 0d47fd3..a311bdd 100644 (file)
@@ -186,6 +186,32 @@ struct ptp_clock_event {
        };
 };
 
+/**
+ * scaled_ppm_to_ppb() - convert scaled ppm to ppb
+ *
+ * @ppm:    Parts per million, but with a 16 bit binary fractional field
+ */
+static inline s32 scaled_ppm_to_ppb(long ppm)
+{
+       /*
+        * The 'freq' field in the 'struct timex' is in parts per
+        * million, but with a 16 bit binary fractional field.
+        *
+        * We want to calculate
+        *
+        *    ppb = scaled_ppm * 1000 / 2^16
+        *
+        * which simplifies to
+        *
+        *    ppb = scaled_ppm * 125 / 2^13
+        */
+       s64 ppb = 1 + ppm;
+
+       ppb *= 125;
+       ppb >>= 13;
+       return (s32)ppb;
+}
+
 #if IS_REACHABLE(CONFIG_PTP_1588_CLOCK)
 
 /**
@@ -230,14 +256,6 @@ extern void ptp_clock_event(struct ptp_clock *ptp,
 extern int ptp_clock_index(struct ptp_clock *ptp);
 
 /**
- * scaled_ppm_to_ppb() - convert scaled ppm to ppb
- *
- * @ppm:    Parts per million, but with a 16 bit binary fractional field
- */
-
-extern s32 scaled_ppm_to_ppb(long ppm);
-
-/**
  * ptp_find_pin() - obtain the pin index of a given auxiliary function
  *
  * The caller must hold ptp_clock::pincfg_mux.  Drivers do not have