diff options
| author | David S. Miller <davem@davemloft.net> | 2016-04-18 01:54:15 +0300 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2016-04-18 01:54:15 +0300 |
| commit | ccd37cffe39d7d4f1c1efcd42ec829ec16c7db66 (patch) | |
| tree | 0ed8e7835063165c4c28e55059036dbb92e59336 /include | |
| parent | efde611b0afa47e64f2a329f4430830b91d77ea2 (diff) | |
| parent | d967ecbc0b875081624857f27df4ed23c5eca106 (diff) | |
| download | linux-ccd37cffe39d7d4f1c1efcd42ec829ec16c7db66.tar.xz | |
Merge branch 'dsa-mv88e6xxx-switch-factorization'
Vivien Didelot says:
====================
net: dsa: mv88e6xxx: factorize switch info
This patchset factorizes the mv88e6xxx code by sharing a new extendable
info structure to store static data such as switch family, product
number, number of ports, number of databases and the name.
The next step is to add a "flags" bitmap member to the info structure in
order to simplify the shared code with a feature-based logic instead of
checking their family/ID.
This is a step forward having a single mv88e6xxx driver supporting many
similar devices, like any usual Linux driver.
Changes v3 -> v4:
- constify probed name in DSA
- rebase patchset above conflicting commit 48ace4e
Changes v2 -> v3:
- update commit messages and add Andrew's tags
- keep the info lookup code in a separated function
- split the single switch ID reading in probe in a new commit
Changes v1 -> v2:
- define PORT_SWITCH_ID_PROD_NUM_* values
- use plain struct mv88e6xxx_info
- remove non used yet ps->rev
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/dsa.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/net/dsa.h b/include/net/dsa.h index 689ebd3542ba..c4bc42bd3538 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -217,8 +217,9 @@ struct dsa_switch_driver { /* * Probing and setup. */ - char *(*probe)(struct device *dsa_dev, struct device *host_dev, - int sw_addr, void **priv); + const char *(*probe)(struct device *dsa_dev, + struct device *host_dev, int sw_addr, + void **priv); int (*setup)(struct dsa_switch *ds); int (*set_addr)(struct dsa_switch *ds, u8 *addr); u32 (*get_phy_flags)(struct dsa_switch *ds, int port); |
