net: ti: icss-iep: Move icss_iep structure
authorMD Danish Anwar <danishanwar@ti.com>
Wed, 11 Sep 2024 08:15:59 +0000 (13:45 +0530)
committerJakub Kicinski <kuba@kernel.org>
Sat, 14 Sep 2024 22:14:07 +0000 (15:14 -0700)
Move icss_iep structure definition and to icss_iep.h file so that the
structure members can be used / accessed by all icssg driver files.

Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Link: https://patch.msgid.link/20240911081603.2521729-2-danishanwar@ti.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/ti/icssg/icss_iep.c
drivers/net/ethernet/ti/icssg/icss_iep.h

index 75c294c..5d6d1cf 100644 (file)
 #define IEP_CAP_CFG_CAPNR_1ST_EVENT_EN(n)      BIT(LATCH_INDEX(n))
 #define IEP_CAP_CFG_CAP_ASYNC_EN(n)            BIT(LATCH_INDEX(n) + 10)
 
-enum {
-       ICSS_IEP_GLOBAL_CFG_REG,
-       ICSS_IEP_GLOBAL_STATUS_REG,
-       ICSS_IEP_COMPEN_REG,
-       ICSS_IEP_SLOW_COMPEN_REG,
-       ICSS_IEP_COUNT_REG0,
-       ICSS_IEP_COUNT_REG1,
-       ICSS_IEP_CAPTURE_CFG_REG,
-       ICSS_IEP_CAPTURE_STAT_REG,
-
-       ICSS_IEP_CAP6_RISE_REG0,
-       ICSS_IEP_CAP6_RISE_REG1,
-
-       ICSS_IEP_CAP7_RISE_REG0,
-       ICSS_IEP_CAP7_RISE_REG1,
-
-       ICSS_IEP_CMP_CFG_REG,
-       ICSS_IEP_CMP_STAT_REG,
-       ICSS_IEP_CMP0_REG0,
-       ICSS_IEP_CMP0_REG1,
-       ICSS_IEP_CMP1_REG0,
-       ICSS_IEP_CMP1_REG1,
-
-       ICSS_IEP_CMP8_REG0,
-       ICSS_IEP_CMP8_REG1,
-       ICSS_IEP_SYNC_CTRL_REG,
-       ICSS_IEP_SYNC0_STAT_REG,
-       ICSS_IEP_SYNC1_STAT_REG,
-       ICSS_IEP_SYNC_PWIDTH_REG,
-       ICSS_IEP_SYNC0_PERIOD_REG,
-       ICSS_IEP_SYNC1_DELAY_REG,
-       ICSS_IEP_SYNC_START_REG,
-       ICSS_IEP_MAX_REGS,
-};
-
-/**
- * struct icss_iep_plat_data - Plat data to handle SoC variants
- * @config: Regmap configuration data
- * @reg_offs: register offsets to capture offset differences across SoCs
- * @flags: Flags to represent IEP properties
- */
-struct icss_iep_plat_data {
-       const struct regmap_config *config;
-       u32 reg_offs[ICSS_IEP_MAX_REGS];
-       u32 flags;
-};
-
-struct icss_iep {
-       struct device *dev;
-       void __iomem *base;
-       const struct icss_iep_plat_data *plat_data;
-       struct regmap *map;
-       struct device_node *client_np;
-       unsigned long refclk_freq;
-       int clk_tick_time;      /* one refclk tick time in ns */
-       struct ptp_clock_info ptp_info;
-       struct ptp_clock *ptp_clock;
-       struct mutex ptp_clk_mutex;     /* PHC access serializer */
-       u32 def_inc;
-       s16 slow_cmp_inc;
-       u32 slow_cmp_count;
-       const struct icss_iep_clockops *ops;
-       void *clockops_data;
-       u32 cycle_time_ns;
-       u32 perout_enabled;
-       bool pps_enabled;
-       int cap_cmp_irq;
-       u64 period;
-       u32 latch_enable;
-       struct work_struct work;
-};
-
 /**
  * icss_iep_get_count_hi() - Get the upper 32 bit IEP counter
  * @iep: Pointer to structure representing IEP.
index 803a4b7..0bdca01 100644 (file)
 #include <linux/ptp_clock_kernel.h>
 #include <linux/regmap.h>
 
-struct icss_iep;
+enum {
+       ICSS_IEP_GLOBAL_CFG_REG,
+       ICSS_IEP_GLOBAL_STATUS_REG,
+       ICSS_IEP_COMPEN_REG,
+       ICSS_IEP_SLOW_COMPEN_REG,
+       ICSS_IEP_COUNT_REG0,
+       ICSS_IEP_COUNT_REG1,
+       ICSS_IEP_CAPTURE_CFG_REG,
+       ICSS_IEP_CAPTURE_STAT_REG,
+
+       ICSS_IEP_CAP6_RISE_REG0,
+       ICSS_IEP_CAP6_RISE_REG1,
+
+       ICSS_IEP_CAP7_RISE_REG0,
+       ICSS_IEP_CAP7_RISE_REG1,
+
+       ICSS_IEP_CMP_CFG_REG,
+       ICSS_IEP_CMP_STAT_REG,
+       ICSS_IEP_CMP0_REG0,
+       ICSS_IEP_CMP0_REG1,
+       ICSS_IEP_CMP1_REG0,
+       ICSS_IEP_CMP1_REG1,
+
+       ICSS_IEP_CMP8_REG0,
+       ICSS_IEP_CMP8_REG1,
+       ICSS_IEP_SYNC_CTRL_REG,
+       ICSS_IEP_SYNC0_STAT_REG,
+       ICSS_IEP_SYNC1_STAT_REG,
+       ICSS_IEP_SYNC_PWIDTH_REG,
+       ICSS_IEP_SYNC0_PERIOD_REG,
+       ICSS_IEP_SYNC1_DELAY_REG,
+       ICSS_IEP_SYNC_START_REG,
+       ICSS_IEP_MAX_REGS,
+};
+
+/**
+ * struct icss_iep_plat_data - Plat data to handle SoC variants
+ * @config: Regmap configuration data
+ * @reg_offs: register offsets to capture offset differences across SoCs
+ * @flags: Flags to represent IEP properties
+ */
+struct icss_iep_plat_data {
+       const struct regmap_config *config;
+       u32 reg_offs[ICSS_IEP_MAX_REGS];
+       u32 flags;
+};
+
+struct icss_iep {
+       struct device *dev;
+       void __iomem *base;
+       const struct icss_iep_plat_data *plat_data;
+       struct regmap *map;
+       struct device_node *client_np;
+       unsigned long refclk_freq;
+       int clk_tick_time;      /* one refclk tick time in ns */
+       struct ptp_clock_info ptp_info;
+       struct ptp_clock *ptp_clock;
+       struct mutex ptp_clk_mutex;     /* PHC access serializer */
+       u32 def_inc;
+       s16 slow_cmp_inc;
+       u32 slow_cmp_count;
+       const struct icss_iep_clockops *ops;
+       void *clockops_data;
+       u32 cycle_time_ns;
+       u32 perout_enabled;
+       bool pps_enabled;
+       int cap_cmp_irq;
+       u64 period;
+       u32 latch_enable;
+       struct work_struct work;
+};
+
 extern const struct icss_iep_clockops prueth_iep_clockops;
 
 /* Firmware specific clock operations */