net: dsa: Mock-up driver

This patch adds support for a DSA mock-up driver which essentially does
the following:

- registers/unregisters 4 fixed PHYs to the slave network devices
- uses eth0 (configurable) as the master netdev
- registers the switch as a fixed MDIO device against the fixed MDIO bus
  at address 31
- includes dynamic debug prints for dsa_switch_ops functions that can be
  enabled to get call traces

This is a good way to test modular builds as well as exercise the DSA
APIs without requiring access to real hardware. This does not test the
data-path, although this could be added later on.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Florian Fainelli
2017-03-30 18:43:21 -07:00
committed by David S. Miller
parent 772c3bdad1
commit 98cd1552ea
5 changed files with 390 additions and 1 deletions

View File

@@ -0,0 +1,19 @@
#ifndef __DSA_LOOP_H
#define __DSA_LOOP_H
struct dsa_chip_data;
struct dsa_loop_pdata {
/* Must be first, such that dsa_register_switch() can access this
* without gory pointer manipulations
*/
struct dsa_chip_data cd;
const char *name;
unsigned int enabled_ports;
const char *netdev;
};
#define DSA_LOOP_NUM_PORTS 6
#define DSA_LOOP_CPU_PORT (DSA_LOOP_NUM_PORTS - 1)
#endif /* __DSA_LOOP_H */