diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2011-11-27 17:06:08 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-29 00:21:36 -0500 |
commit | c8f0b86996c88081095124d16b869e8d8a1c02c5 (patch) | |
tree | c8ae0274df112c03a9029625aec9e3eb4e2e7026 /net/dsa | |
parent | fa67a04497c03a1ead12cd896262de14980311e8 (diff) |
dsa: Move all definitions needed by drivers into <net/dsa.h>
Any headers included by drivers should be under include/, and
any definitions they use are not really private to the core as
the name "dsa_priv.h" suggests.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dsa')
-rw-r--r-- | net/dsa/dsa_priv.h | 91 | ||||
-rw-r--r-- | net/dsa/mv88e6060.c | 2 | ||||
-rw-r--r-- | net/dsa/mv88e6123_61_65.c | 2 | ||||
-rw-r--r-- | net/dsa/mv88e6131.c | 2 | ||||
-rw-r--r-- | net/dsa/mv88e6xxx.c | 2 |
5 files changed, 4 insertions, 95 deletions
diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h index 89a2eb48232..d4cf5cc747e 100644 --- a/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h @@ -11,64 +11,9 @@ #ifndef __DSA_PRIV_H #define __DSA_PRIV_H -#include <linux/list.h> #include <linux/phy.h> -#include <linux/timer.h> -#include <linux/workqueue.h> #include <net/dsa.h> -struct dsa_switch { - /* - * Parent switch tree, and switch index. - */ - struct dsa_switch_tree *dst; - int index; - - /* - * Configuration data for this switch. - */ - struct dsa_chip_data *pd; - - /* - * The used switch driver. - */ - struct dsa_switch_driver *drv; - - /* - * Reference to mii bus to use. - */ - struct mii_bus *master_mii_bus; - - /* - * Slave mii_bus and devices for the individual ports. - */ - u32 dsa_port_mask; - u32 phys_port_mask; - struct mii_bus *slave_mii_bus; - struct net_device *ports[DSA_MAX_PORTS]; -}; - -static inline bool dsa_is_cpu_port(struct dsa_switch *ds, int p) -{ - return !!(ds->index == ds->dst->cpu_switch && p == ds->dst->cpu_port); -} - -static inline u8 dsa_upstream_port(struct dsa_switch *ds) -{ - struct dsa_switch_tree *dst = ds->dst; - - /* - * If this is the root switch (i.e. the switch that connects - * to the CPU), return the cpu port number on this switch. - * Else return the (DSA) port number that connects to the - * switch that is one hop closer to the cpu. - */ - if (dst->cpu_switch == ds->index) - return dst->cpu_port; - else - return ds->pd->rtable[dst->cpu_switch]; -} - struct dsa_slave_priv { /* * The linux network interface corresponding to this @@ -90,44 +35,8 @@ struct dsa_slave_priv { struct phy_device *phy; }; -struct dsa_switch_driver { - struct list_head list; - - __be16 tag_protocol; - int priv_size; - - /* - * Probing and setup. - */ - char *(*probe)(struct mii_bus *bus, int sw_addr); - int (*setup)(struct dsa_switch *ds); - int (*set_addr)(struct dsa_switch *ds, u8 *addr); - - /* - * Access to the switch's PHY registers. - */ - int (*phy_read)(struct dsa_switch *ds, int port, int regnum); - int (*phy_write)(struct dsa_switch *ds, int port, - int regnum, u16 val); - - /* - * Link state polling and IRQ handling. - */ - void (*poll_link)(struct dsa_switch *ds); - - /* - * ethtool hardware statistics. - */ - void (*get_strings)(struct dsa_switch *ds, int port, uint8_t *data); - void (*get_ethtool_stats)(struct dsa_switch *ds, - int port, uint64_t *data); - int (*get_sset_count)(struct dsa_switch *ds); -}; - /* dsa.c */ extern char dsa_driver_version[]; -void register_switch_driver(struct dsa_switch_driver *type); -void unregister_switch_driver(struct dsa_switch_driver *type); /* slave.c */ void dsa_slave_mii_bus_init(struct dsa_switch *ds); diff --git a/net/dsa/mv88e6060.c b/net/dsa/mv88e6060.c index 0e028dfa89e..7fc4e81d4d4 100644 --- a/net/dsa/mv88e6060.c +++ b/net/dsa/mv88e6060.c @@ -11,7 +11,7 @@ #include <linux/list.h> #include <linux/netdevice.h> #include <linux/phy.h> -#include "dsa_priv.h" +#include <net/dsa.h> #define REG_PORT(p) (8 + (p)) #define REG_GLOBAL 0x0f diff --git a/net/dsa/mv88e6123_61_65.c b/net/dsa/mv88e6123_61_65.c index 6504405700f..c0a458fc698 100644 --- a/net/dsa/mv88e6123_61_65.c +++ b/net/dsa/mv88e6123_61_65.c @@ -11,7 +11,7 @@ #include <linux/list.h> #include <linux/netdevice.h> #include <linux/phy.h> -#include "dsa_priv.h" +#include <net/dsa.h> #include "mv88e6xxx.h" static char *mv88e6123_61_65_probe(struct mii_bus *bus, int sw_addr) diff --git a/net/dsa/mv88e6131.c b/net/dsa/mv88e6131.c index 6786ba48c10..e0eb6824383 100644 --- a/net/dsa/mv88e6131.c +++ b/net/dsa/mv88e6131.c @@ -11,7 +11,7 @@ #include <linux/list.h> #include <linux/netdevice.h> #include <linux/phy.h> -#include "dsa_priv.h" +#include <net/dsa.h> #include "mv88e6xxx.h" /* diff --git a/net/dsa/mv88e6xxx.c b/net/dsa/mv88e6xxx.c index cacd955edcb..5467c040824 100644 --- a/net/dsa/mv88e6xxx.c +++ b/net/dsa/mv88e6xxx.c @@ -11,7 +11,7 @@ #include <linux/list.h> #include <linux/netdevice.h> #include <linux/phy.h> -#include "dsa_priv.h" +#include <net/dsa.h> #include "mv88e6xxx.h" /* |