Since the generic debugfs interfaces for setting the periodic pulse
signal loopback have been added to the ptp_clock driver, so covert the
vendor-defined debugfs interfaces to the generic interfaces.

Signed-off-by: Wei Fang <wei.f...@nxp.com>
---
 MAINTAINERS                     |   1 -
 drivers/ptp/Kconfig             |   2 +-
 drivers/ptp/Makefile            |   4 +-
 drivers/ptp/ptp_qoriq.c         |  24 +++++++-
 drivers/ptp/ptp_qoriq_debugfs.c | 101 --------------------------------
 include/linux/fsl/ptp_qoriq.h   |  10 ----
 6 files changed, 24 insertions(+), 118 deletions(-)
 delete mode 100644 drivers/ptp/ptp_qoriq_debugfs.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 6cad6225381a..4140fdd6ccf3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9816,7 +9816,6 @@ F:        drivers/net/ethernet/freescale/dpaa2/dpaa2-ptp*
 F:     drivers/net/ethernet/freescale/dpaa2/dprtc*
 F:     drivers/net/ethernet/freescale/enetc/enetc_ptp.c
 F:     drivers/ptp/ptp_qoriq.c
-F:     drivers/ptp/ptp_qoriq_debugfs.c
 F:     include/linux/fsl/ptp_qoriq.h
 
 FREESCALE QUAD SPI DRIVER
diff --git a/drivers/ptp/Kconfig b/drivers/ptp/Kconfig
index 9256bf2e8ad4..5f8ea34d11d6 100644
--- a/drivers/ptp/Kconfig
+++ b/drivers/ptp/Kconfig
@@ -67,7 +67,7 @@ config PTP_1588_CLOCK_QORIQ
          packets using the SO_TIMESTAMPING API.
 
          To compile this driver as a module, choose M here: the module
-         will be called ptp-qoriq.
+         will be called ptp_qoriq.
 
 comment "Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional 
clocks."
        depends on PHYLIB=n || NETWORK_PHY_TIMESTAMPING=n
diff --git a/drivers/ptp/Makefile b/drivers/ptp/Makefile
index 8985d723d29c..bdc47e284f14 100644
--- a/drivers/ptp/Makefile
+++ b/drivers/ptp/Makefile
@@ -12,9 +12,7 @@ obj-$(CONFIG_PTP_1588_CLOCK_INES)     += ptp_ines.o
 obj-$(CONFIG_PTP_1588_CLOCK_PCH)       += ptp_pch.o
 obj-$(CONFIG_PTP_1588_CLOCK_KVM)       += ptp_kvm.o
 obj-$(CONFIG_PTP_1588_CLOCK_VMCLOCK)   += ptp_vmclock.o
-obj-$(CONFIG_PTP_1588_CLOCK_QORIQ)     += ptp-qoriq.o
-ptp-qoriq-y                            += ptp_qoriq.o
-ptp-qoriq-$(CONFIG_DEBUG_FS)           += ptp_qoriq_debugfs.o
+obj-$(CONFIG_PTP_1588_CLOCK_QORIQ)     += ptp_qoriq.o
 obj-$(CONFIG_PTP_1588_CLOCK_IDTCM)     += ptp_clockmatrix.o
 obj-$(CONFIG_PTP_1588_CLOCK_FC3W)      += ptp_fc3.o
 obj-$(CONFIG_PTP_1588_CLOCK_IDT82P33)  += ptp_idt82p33.o
diff --git a/drivers/ptp/ptp_qoriq.c b/drivers/ptp/ptp_qoriq.c
index 4d488c1f1941..8da995e36aeb 100644
--- a/drivers/ptp/ptp_qoriq.c
+++ b/drivers/ptp/ptp_qoriq.c
@@ -465,6 +465,25 @@ static int ptp_qoriq_auto_config(struct ptp_qoriq 
*ptp_qoriq,
        return 0;
 }
 
+static int ptp_qoriq_perout_loopback(struct ptp_clock_info *ptp,
+                                    unsigned int index, int on)
+{
+       struct ptp_qoriq *ptp_qoriq = container_of(ptp, struct ptp_qoriq, caps);
+       struct ptp_qoriq_registers *regs = &ptp_qoriq->regs;
+       u32 loopback_bit = index ? PP2L : PP1L;
+       u32 tmr_ctrl;
+
+       tmr_ctrl = ptp_qoriq->read(&regs->ctrl_regs->tmr_ctrl);
+       if (on)
+               tmr_ctrl |= loopback_bit;
+       else
+               tmr_ctrl &= ~loopback_bit;
+
+       ptp_qoriq->write(&regs->ctrl_regs->tmr_ctrl, tmr_ctrl);
+
+       return 0;
+}
+
 int ptp_qoriq_init(struct ptp_qoriq *ptp_qoriq, void __iomem *base,
                   const struct ptp_clock_info *caps)
 {
@@ -479,6 +498,8 @@ int ptp_qoriq_init(struct ptp_qoriq *ptp_qoriq, void 
__iomem *base,
 
        ptp_qoriq->base = base;
        ptp_qoriq->caps = *caps;
+       ptp_qoriq->caps.n_per_lp = 2;
+       ptp_qoriq->caps.perout_loopback = ptp_qoriq_perout_loopback;
 
        if (of_property_read_u32(node, "fsl,cksel", &ptp_qoriq->cksel))
                ptp_qoriq->cksel = DEFAULT_CKSEL;
@@ -568,7 +589,7 @@ int ptp_qoriq_init(struct ptp_qoriq *ptp_qoriq, void 
__iomem *base,
                return PTR_ERR(ptp_qoriq->clock);
 
        ptp_qoriq->phc_index = ptp_clock_index(ptp_qoriq->clock);
-       ptp_qoriq_create_debugfs(ptp_qoriq);
+
        return 0;
 }
 EXPORT_SYMBOL_GPL(ptp_qoriq_init);
@@ -580,7 +601,6 @@ void ptp_qoriq_free(struct ptp_qoriq *ptp_qoriq)
        ptp_qoriq->write(&regs->ctrl_regs->tmr_temask, 0);
        ptp_qoriq->write(&regs->ctrl_regs->tmr_ctrl,   0);
 
-       ptp_qoriq_remove_debugfs(ptp_qoriq);
        ptp_clock_unregister(ptp_qoriq->clock);
        iounmap(ptp_qoriq->base);
        free_irq(ptp_qoriq->irq, ptp_qoriq);
diff --git a/drivers/ptp/ptp_qoriq_debugfs.c b/drivers/ptp/ptp_qoriq_debugfs.c
deleted file mode 100644
index e8dddcedf288..000000000000
--- a/drivers/ptp/ptp_qoriq_debugfs.c
+++ /dev/null
@@ -1,101 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/* Copyright 2019 NXP
- */
-#include <linux/device.h>
-#include <linux/debugfs.h>
-#include <linux/fsl/ptp_qoriq.h>
-
-static int ptp_qoriq_fiper1_lpbk_get(void *data, u64 *val)
-{
-       struct ptp_qoriq *ptp_qoriq = data;
-       struct ptp_qoriq_registers *regs = &ptp_qoriq->regs;
-       u32 ctrl;
-
-       ctrl = ptp_qoriq->read(&regs->ctrl_regs->tmr_ctrl);
-       *val = ctrl & PP1L ? 1 : 0;
-
-       return 0;
-}
-
-static int ptp_qoriq_fiper1_lpbk_set(void *data, u64 val)
-{
-       struct ptp_qoriq *ptp_qoriq = data;
-       struct ptp_qoriq_registers *regs = &ptp_qoriq->regs;
-       u32 ctrl;
-
-       ctrl = ptp_qoriq->read(&regs->ctrl_regs->tmr_ctrl);
-       if (val == 0)
-               ctrl &= ~PP1L;
-       else
-               ctrl |= PP1L;
-
-       ptp_qoriq->write(&regs->ctrl_regs->tmr_ctrl, ctrl);
-       return 0;
-}
-
-DEFINE_DEBUGFS_ATTRIBUTE(ptp_qoriq_fiper1_fops, ptp_qoriq_fiper1_lpbk_get,
-                        ptp_qoriq_fiper1_lpbk_set, "%llu\n");
-
-static int ptp_qoriq_fiper2_lpbk_get(void *data, u64 *val)
-{
-       struct ptp_qoriq *ptp_qoriq = data;
-       struct ptp_qoriq_registers *regs = &ptp_qoriq->regs;
-       u32 ctrl;
-
-       ctrl = ptp_qoriq->read(&regs->ctrl_regs->tmr_ctrl);
-       *val = ctrl & PP2L ? 1 : 0;
-
-       return 0;
-}
-
-static int ptp_qoriq_fiper2_lpbk_set(void *data, u64 val)
-{
-       struct ptp_qoriq *ptp_qoriq = data;
-       struct ptp_qoriq_registers *regs = &ptp_qoriq->regs;
-       u32 ctrl;
-
-       ctrl = ptp_qoriq->read(&regs->ctrl_regs->tmr_ctrl);
-       if (val == 0)
-               ctrl &= ~PP2L;
-       else
-               ctrl |= PP2L;
-
-       ptp_qoriq->write(&regs->ctrl_regs->tmr_ctrl, ctrl);
-       return 0;
-}
-
-DEFINE_DEBUGFS_ATTRIBUTE(ptp_qoriq_fiper2_fops, ptp_qoriq_fiper2_lpbk_get,
-                        ptp_qoriq_fiper2_lpbk_set, "%llu\n");
-
-void ptp_qoriq_create_debugfs(struct ptp_qoriq *ptp_qoriq)
-{
-       struct dentry *root;
-
-       root = debugfs_create_dir(dev_name(ptp_qoriq->dev), NULL);
-       if (IS_ERR(root))
-               return;
-       if (!root)
-               goto err_root;
-
-       ptp_qoriq->debugfs_root = root;
-
-       if (!debugfs_create_file_unsafe("fiper1-loopback", 0600, root,
-                                       ptp_qoriq, &ptp_qoriq_fiper1_fops))
-               goto err_node;
-       if (!debugfs_create_file_unsafe("fiper2-loopback", 0600, root,
-                                       ptp_qoriq, &ptp_qoriq_fiper2_fops))
-               goto err_node;
-       return;
-
-err_node:
-       debugfs_remove_recursive(root);
-       ptp_qoriq->debugfs_root = NULL;
-err_root:
-       dev_err(ptp_qoriq->dev, "failed to initialize debugfs\n");
-}
-
-void ptp_qoriq_remove_debugfs(struct ptp_qoriq *ptp_qoriq)
-{
-       debugfs_remove_recursive(ptp_qoriq->debugfs_root);
-       ptp_qoriq->debugfs_root = NULL;
-}
diff --git a/include/linux/fsl/ptp_qoriq.h b/include/linux/fsl/ptp_qoriq.h
index b301bf7199d3..3601e25779ba 100644
--- a/include/linux/fsl/ptp_qoriq.h
+++ b/include/linux/fsl/ptp_qoriq.h
@@ -145,7 +145,6 @@ struct ptp_qoriq {
        struct ptp_clock *clock;
        struct ptp_clock_info caps;
        struct resource *rsrc;
-       struct dentry *debugfs_root;
        struct device *dev;
        bool extts_fifo_support;
        bool fiper3_support;
@@ -195,14 +194,5 @@ int ptp_qoriq_settime(struct ptp_clock_info *ptp,
 int ptp_qoriq_enable(struct ptp_clock_info *ptp,
                     struct ptp_clock_request *rq, int on);
 int extts_clean_up(struct ptp_qoriq *ptp_qoriq, int index, bool update_event);
-#ifdef CONFIG_DEBUG_FS
-void ptp_qoriq_create_debugfs(struct ptp_qoriq *ptp_qoriq);
-void ptp_qoriq_remove_debugfs(struct ptp_qoriq *ptp_qoriq);
-#else
-static inline void ptp_qoriq_create_debugfs(struct ptp_qoriq *ptp_qoriq)
-{ }
-static inline void ptp_qoriq_remove_debugfs(struct ptp_qoriq *ptp_qoriq)
-{ }
-#endif
 
 #endif
-- 
2.34.1


Reply via email to