]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: xgene: Move shared header file into include/linux
authorAndrew Lunn <andrew@lunn.ch>
Thu, 27 Aug 2020 02:00:30 +0000 (04:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Aug 2020 13:55:50 +0000 (06:55 -0700)
This header file is currently included into the ethernet driver via a
relative path into the PHY subsystem. This is bad practice, and causes
issues for the upcoming move of the MDIO driver. Move the header file
into include/linux to clean this up.

v2:
Move header to include/linux/mdio

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/apm/xgene/xgene_enet_main.h
drivers/net/phy/mdio-xgene.c
drivers/net/phy/mdio-xgene.h [deleted file]
include/linux/mdio/mdio-xgene.h [new file with mode: 0644]

index d35a338120cfeed387f52034691fc56f638ac273..643f5e646740b597802beaaaf2beb382225efb6a 100644 (file)
@@ -18,6 +18,7 @@
 #include <linux/of_platform.h>
 #include <linux/of_net.h>
 #include <linux/of_mdio.h>
+#include <linux/mdio/mdio-xgene.h>
 #include <linux/module.h>
 #include <net/ip.h>
 #include <linux/prefetch.h>
@@ -26,7 +27,6 @@
 #include "xgene_enet_hw.h"
 #include "xgene_enet_cle.h"
 #include "xgene_enet_ring2.h"
-#include "../../../phy/mdio-xgene.h"
 
 #define ETHER_MIN_PACKET       64
 #define ETHER_STD_PACKET       1518
index 34990eaa3298c0a8d1c81ebb925dbb7d07c68243..461207cdf5d6e81d4c9edfbe1899ad3c0a07dde2 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/efi.h>
 #include <linux/if_vlan.h>
 #include <linux/io.h>
+#include <linux/mdio/mdio-xgene.h>
 #include <linux/module.h>
 #include <linux/of_platform.h>
 #include <linux/of_net.h>
@@ -18,7 +19,6 @@
 #include <linux/prefetch.h>
 #include <linux/phy.h>
 #include <net/ip.h>
-#include "mdio-xgene.h"
 
 static bool xgene_mdio_status;
 
diff --git a/drivers/net/phy/mdio-xgene.h b/drivers/net/phy/mdio-xgene.h
deleted file mode 100644 (file)
index 8af93ad..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/* Applied Micro X-Gene SoC MDIO Driver
- *
- * Copyright (c) 2016, Applied Micro Circuits Corporation
- * Author: Iyappan Subramanian <isubramanian@apm.com>
- */
-
-#ifndef __MDIO_XGENE_H__
-#define __MDIO_XGENE_H__
-
-#define BLOCK_XG_MDIO_CSR_OFFSET       0x5000
-#define BLOCK_DIAG_CSR_OFFSET          0xd000
-#define XGENET_CONFIG_REG_ADDR         0x20
-
-#define MAC_ADDR_REG_OFFSET            0x00
-#define MAC_COMMAND_REG_OFFSET         0x04
-#define MAC_WRITE_REG_OFFSET           0x08
-#define MAC_READ_REG_OFFSET            0x0c
-#define MAC_COMMAND_DONE_REG_OFFSET    0x10
-
-#define CLKEN_OFFSET                   0x08
-#define SRST_OFFSET                    0x00
-
-#define MENET_CFG_MEM_RAM_SHUTDOWN_ADDR        0x70
-#define MENET_BLOCK_MEM_RDY_ADDR       0x74
-
-#define MAC_CONFIG_1_ADDR              0x00
-#define MII_MGMT_COMMAND_ADDR          0x24
-#define MII_MGMT_ADDRESS_ADDR          0x28
-#define MII_MGMT_CONTROL_ADDR          0x2c
-#define MII_MGMT_STATUS_ADDR           0x30
-#define MII_MGMT_INDICATORS_ADDR       0x34
-#define SOFT_RESET                     BIT(31)
-
-#define MII_MGMT_CONFIG_ADDR            0x20
-#define MII_MGMT_COMMAND_ADDR           0x24
-#define MII_MGMT_ADDRESS_ADDR           0x28
-#define MII_MGMT_CONTROL_ADDR           0x2c
-#define MII_MGMT_STATUS_ADDR            0x30
-#define MII_MGMT_INDICATORS_ADDR        0x34
-
-#define MIIM_COMMAND_ADDR               0x20
-#define MIIM_FIELD_ADDR                 0x24
-#define MIIM_CONFIGURATION_ADDR         0x28
-#define MIIM_LINKFAILVECTOR_ADDR        0x2c
-#define MIIM_INDICATOR_ADDR             0x30
-#define MIIMRD_FIELD_ADDR               0x34
-
-#define MDIO_CSR_OFFSET                        0x5000
-
-#define REG_ADDR_POS                   0
-#define REG_ADDR_LEN                   5
-#define PHY_ADDR_POS                   8
-#define PHY_ADDR_LEN                   5
-
-#define HSTMIIMWRDAT_POS               0
-#define HSTMIIMWRDAT_LEN               16
-#define HSTPHYADX_POS                  23
-#define HSTPHYADX_LEN                  5
-#define HSTREGADX_POS                  18
-#define HSTREGADX_LEN                  5
-#define HSTLDCMD                       BIT(3)
-#define HSTMIIMCMD_POS                 0
-#define HSTMIIMCMD_LEN                 3
-
-#define BUSY_MASK                      BIT(0)
-#define READ_CYCLE_MASK                        BIT(0)
-
-enum xgene_enet_cmd {
-       XGENE_ENET_WR_CMD = BIT(31),
-       XGENE_ENET_RD_CMD = BIT(30)
-};
-
-enum {
-       MIIM_CMD_IDLE,
-       MIIM_CMD_LEGACY_WRITE,
-       MIIM_CMD_LEGACY_READ,
-};
-
-enum xgene_mdio_id {
-       XGENE_MDIO_RGMII = 1,
-       XGENE_MDIO_XFI
-};
-
-struct xgene_mdio_pdata {
-       struct clk *clk;
-       struct device *dev;
-       void __iomem *mac_csr_addr;
-       void __iomem *diag_csr_addr;
-       void __iomem *mdio_csr_addr;
-       struct mii_bus *mdio_bus;
-       int mdio_id;
-       spinlock_t mac_lock; /* mac lock */
-};
-
-/* Set the specified value into a bit-field defined by its starting position
- * and length within a single u64.
- */
-static inline u64 xgene_enet_set_field_value(int pos, int len, u64 val)
-{
-       return (val & ((1ULL << len) - 1)) << pos;
-}
-
-#define SET_VAL(field, val) \
-               xgene_enet_set_field_value(field ## _POS, field ## _LEN, val)
-
-#define SET_BIT(field) \
-               xgene_enet_set_field_value(field ## _POS, 1, 1)
-
-/* Get the value from a bit-field defined by its starting position
- * and length within the specified u64.
- */
-static inline u64 xgene_enet_get_field_value(int pos, int len, u64 src)
-{
-       return (src >> pos) & ((1ULL << len) - 1);
-}
-
-#define GET_VAL(field, src) \
-               xgene_enet_get_field_value(field ## _POS, field ## _LEN, src)
-
-#define GET_BIT(field, src) \
-               xgene_enet_get_field_value(field ## _POS, 1, src)
-
-u32 xgene_mdio_rd_mac(struct xgene_mdio_pdata *pdata, u32 rd_addr);
-void xgene_mdio_wr_mac(struct xgene_mdio_pdata *pdata, u32 wr_addr, u32 data);
-int xgene_mdio_rgmii_read(struct mii_bus *bus, int phy_id, int reg);
-int xgene_mdio_rgmii_write(struct mii_bus *bus, int phy_id, int reg, u16 data);
-struct phy_device *xgene_enet_phy_register(struct mii_bus *bus, int phy_addr);
-
-#endif  /* __MDIO_XGENE_H__ */
diff --git a/include/linux/mdio/mdio-xgene.h b/include/linux/mdio/mdio-xgene.h
new file mode 100644 (file)
index 0000000..8af93ad
--- /dev/null
@@ -0,0 +1,130 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/* Applied Micro X-Gene SoC MDIO Driver
+ *
+ * Copyright (c) 2016, Applied Micro Circuits Corporation
+ * Author: Iyappan Subramanian <isubramanian@apm.com>
+ */
+
+#ifndef __MDIO_XGENE_H__
+#define __MDIO_XGENE_H__
+
+#define BLOCK_XG_MDIO_CSR_OFFSET       0x5000
+#define BLOCK_DIAG_CSR_OFFSET          0xd000
+#define XGENET_CONFIG_REG_ADDR         0x20
+
+#define MAC_ADDR_REG_OFFSET            0x00
+#define MAC_COMMAND_REG_OFFSET         0x04
+#define MAC_WRITE_REG_OFFSET           0x08
+#define MAC_READ_REG_OFFSET            0x0c
+#define MAC_COMMAND_DONE_REG_OFFSET    0x10
+
+#define CLKEN_OFFSET                   0x08
+#define SRST_OFFSET                    0x00
+
+#define MENET_CFG_MEM_RAM_SHUTDOWN_ADDR        0x70
+#define MENET_BLOCK_MEM_RDY_ADDR       0x74
+
+#define MAC_CONFIG_1_ADDR              0x00
+#define MII_MGMT_COMMAND_ADDR          0x24
+#define MII_MGMT_ADDRESS_ADDR          0x28
+#define MII_MGMT_CONTROL_ADDR          0x2c
+#define MII_MGMT_STATUS_ADDR           0x30
+#define MII_MGMT_INDICATORS_ADDR       0x34
+#define SOFT_RESET                     BIT(31)
+
+#define MII_MGMT_CONFIG_ADDR            0x20
+#define MII_MGMT_COMMAND_ADDR           0x24
+#define MII_MGMT_ADDRESS_ADDR           0x28
+#define MII_MGMT_CONTROL_ADDR           0x2c
+#define MII_MGMT_STATUS_ADDR            0x30
+#define MII_MGMT_INDICATORS_ADDR        0x34
+
+#define MIIM_COMMAND_ADDR               0x20
+#define MIIM_FIELD_ADDR                 0x24
+#define MIIM_CONFIGURATION_ADDR         0x28
+#define MIIM_LINKFAILVECTOR_ADDR        0x2c
+#define MIIM_INDICATOR_ADDR             0x30
+#define MIIMRD_FIELD_ADDR               0x34
+
+#define MDIO_CSR_OFFSET                        0x5000
+
+#define REG_ADDR_POS                   0
+#define REG_ADDR_LEN                   5
+#define PHY_ADDR_POS                   8
+#define PHY_ADDR_LEN                   5
+
+#define HSTMIIMWRDAT_POS               0
+#define HSTMIIMWRDAT_LEN               16
+#define HSTPHYADX_POS                  23
+#define HSTPHYADX_LEN                  5
+#define HSTREGADX_POS                  18
+#define HSTREGADX_LEN                  5
+#define HSTLDCMD                       BIT(3)
+#define HSTMIIMCMD_POS                 0
+#define HSTMIIMCMD_LEN                 3
+
+#define BUSY_MASK                      BIT(0)
+#define READ_CYCLE_MASK                        BIT(0)
+
+enum xgene_enet_cmd {
+       XGENE_ENET_WR_CMD = BIT(31),
+       XGENE_ENET_RD_CMD = BIT(30)
+};
+
+enum {
+       MIIM_CMD_IDLE,
+       MIIM_CMD_LEGACY_WRITE,
+       MIIM_CMD_LEGACY_READ,
+};
+
+enum xgene_mdio_id {
+       XGENE_MDIO_RGMII = 1,
+       XGENE_MDIO_XFI
+};
+
+struct xgene_mdio_pdata {
+       struct clk *clk;
+       struct device *dev;
+       void __iomem *mac_csr_addr;
+       void __iomem *diag_csr_addr;
+       void __iomem *mdio_csr_addr;
+       struct mii_bus *mdio_bus;
+       int mdio_id;
+       spinlock_t mac_lock; /* mac lock */
+};
+
+/* Set the specified value into a bit-field defined by its starting position
+ * and length within a single u64.
+ */
+static inline u64 xgene_enet_set_field_value(int pos, int len, u64 val)
+{
+       return (val & ((1ULL << len) - 1)) << pos;
+}
+
+#define SET_VAL(field, val) \
+               xgene_enet_set_field_value(field ## _POS, field ## _LEN, val)
+
+#define SET_BIT(field) \
+               xgene_enet_set_field_value(field ## _POS, 1, 1)
+
+/* Get the value from a bit-field defined by its starting position
+ * and length within the specified u64.
+ */
+static inline u64 xgene_enet_get_field_value(int pos, int len, u64 src)
+{
+       return (src >> pos) & ((1ULL << len) - 1);
+}
+
+#define GET_VAL(field, src) \
+               xgene_enet_get_field_value(field ## _POS, field ## _LEN, src)
+
+#define GET_BIT(field, src) \
+               xgene_enet_get_field_value(field ## _POS, 1, src)
+
+u32 xgene_mdio_rd_mac(struct xgene_mdio_pdata *pdata, u32 rd_addr);
+void xgene_mdio_wr_mac(struct xgene_mdio_pdata *pdata, u32 wr_addr, u32 data);
+int xgene_mdio_rgmii_read(struct mii_bus *bus, int phy_id, int reg);
+int xgene_mdio_rgmii_write(struct mii_bus *bus, int phy_id, int reg, u16 data);
+struct phy_device *xgene_enet_phy_register(struct mii_bus *bus, int phy_addr);
+
+#endif  /* __MDIO_XGENE_H__ */