OSDN Git Service

net: dsa: Split platform data to header file
authorFlorian Fainelli <f.fainelli@gmail.com>
Tue, 15 Jan 2019 23:06:11 +0000 (15:06 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 17 Jan 2019 19:31:24 +0000 (11:31 -0800)
Instead of having net/dsa.h contain both the internal switch tree/driver
structures, split the relevant platform_data parts into
include/linux/platform_data/dsa.h and make that header be included by
net/dsa.h in order not to break any setup. A subsequent set of patches
will update code including net/dsa.h to include only the platform_data
header.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
MAINTAINERS
include/linux/platform_data/dsa.h [new file with mode: 0644]
include/net/dsa.h

index 4d04ceb..a592b99 100644 (file)
@@ -10576,6 +10576,7 @@ F:      Documentation/devicetree/bindings/net/dsa/
 F:     net/dsa/
 F:     include/net/dsa.h
 F:     include/linux/dsa/
+F:     include/linux/platform_data/dsa.h
 F:     drivers/net/dsa/
 
 NETWORKING [GENERAL]
diff --git a/include/linux/platform_data/dsa.h b/include/linux/platform_data/dsa.h
new file mode 100644 (file)
index 0000000..d4d9bf2
--- /dev/null
@@ -0,0 +1,68 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __DSA_PDATA_H
+#define __DSA_PDATA_H
+
+struct device;
+struct net_device;
+
+#define DSA_MAX_SWITCHES       4
+#define DSA_MAX_PORTS          12
+#define DSA_RTABLE_NONE                -1
+
+struct dsa_chip_data {
+       /*
+        * How to access the switch configuration registers.
+        */
+       struct device   *host_dev;
+       int             sw_addr;
+
+       /*
+        * Reference to network devices
+        */
+       struct device   *netdev[DSA_MAX_PORTS];
+
+       /* set to size of eeprom if supported by the switch */
+       int             eeprom_len;
+
+       /* Device tree node pointer for this specific switch chip
+        * used during switch setup in case additional properties
+        * and resources needs to be used
+        */
+       struct device_node *of_node;
+
+       /*
+        * The names of the switch's ports.  Use "cpu" to
+        * designate the switch port that the cpu is connected to,
+        * "dsa" to indicate that this port is a DSA link to
+        * another switch, NULL to indicate the port is unused,
+        * or any other string to indicate this is a physical port.
+        */
+       char            *port_names[DSA_MAX_PORTS];
+       struct device_node *port_dn[DSA_MAX_PORTS];
+
+       /*
+        * An array of which element [a] indicates which port on this
+        * switch should be used to send packets to that are destined
+        * for switch a. Can be NULL if there is only one switch chip.
+        */
+       s8              rtable[DSA_MAX_SWITCHES];
+};
+
+struct dsa_platform_data {
+       /*
+        * Reference to a Linux network interface that connects
+        * to the root switch chip of the tree.
+        */
+       struct device   *netdev;
+       struct net_device *of_netdev;
+
+       /*
+        * Info structs describing each of the switch chips
+        * connected via this network interface.
+        */
+       int             nr_chips;
+       struct dsa_chip_data    *chip;
+};
+
+
+#endif /* __DSA_PDATA_H */
index 2f1daf2..7f2a668 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/ethtool.h>
 #include <linux/net_tstamp.h>
 #include <linux/phy.h>
+#include <linux/platform_data/dsa.h>
 #include <net/devlink.h>
 #include <net/switchdev.h>
 
@@ -44,66 +45,6 @@ enum dsa_tag_protocol {
        DSA_TAG_LAST,           /* MUST BE LAST */
 };
 
-#define DSA_MAX_SWITCHES       4
-#define DSA_MAX_PORTS          12
-
-#define DSA_RTABLE_NONE                -1
-
-struct dsa_chip_data {
-       /*
-        * How to access the switch configuration registers.
-        */
-       struct device   *host_dev;
-       int             sw_addr;
-
-       /*
-        * Reference to network devices
-        */
-       struct device   *netdev[DSA_MAX_PORTS];
-
-       /* set to size of eeprom if supported by the switch */
-       int             eeprom_len;
-
-       /* Device tree node pointer for this specific switch chip
-        * used during switch setup in case additional properties
-        * and resources needs to be used
-        */
-       struct device_node *of_node;
-
-       /*
-        * The names of the switch's ports.  Use "cpu" to
-        * designate the switch port that the cpu is connected to,
-        * "dsa" to indicate that this port is a DSA link to
-        * another switch, NULL to indicate the port is unused,
-        * or any other string to indicate this is a physical port.
-        */
-       char            *port_names[DSA_MAX_PORTS];
-       struct device_node *port_dn[DSA_MAX_PORTS];
-
-       /*
-        * An array of which element [a] indicates which port on this
-        * switch should be used to send packets to that are destined
-        * for switch a. Can be NULL if there is only one switch chip.
-        */
-       s8              rtable[DSA_MAX_SWITCHES];
-};
-
-struct dsa_platform_data {
-       /*
-        * Reference to a Linux network interface that connects
-        * to the root switch chip of the tree.
-        */
-       struct device   *netdev;
-       struct net_device *of_netdev;
-
-       /*
-        * Info structs describing each of the switch chips
-        * connected via this network interface.
-        */
-       int             nr_chips;
-       struct dsa_chip_data    *chip;
-};
-
 struct packet_type;
 struct dsa_switch;