net: dsa: provide a switch device device tree node pointer

We might need to fetch additional resources from the device tree node
pointer, such as register ranges or other properties. Keep a device_node
pointer around for this.

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 2014-08-27 17:04:49 -07:00 committed by David S. Miller
parent 464c3668f0
commit fa981d9af8
2 changed files with 8 additions and 0 deletions

View File

@ -15,6 +15,7 @@
#include <linux/list.h> #include <linux/list.h>
#include <linux/timer.h> #include <linux/timer.h>
#include <linux/workqueue.h> #include <linux/workqueue.h>
#include <linux/of.h>
#define DSA_MAX_SWITCHES 4 #define DSA_MAX_SWITCHES 4
#define DSA_MAX_PORTS 12 #define DSA_MAX_PORTS 12
@ -26,6 +27,12 @@ struct dsa_chip_data {
struct device *mii_bus; struct device *mii_bus;
int sw_addr; int sw_addr;
/* 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 * The names of the switch's ports. Use "cpu" to
* designate the switch port that the cpu is connected to, * designate the switch port that the cpu is connected to,

View File

@ -410,6 +410,7 @@ static int dsa_of_probe(struct platform_device *pdev)
chip_index++; chip_index++;
cd = &pd->chip[chip_index]; cd = &pd->chip[chip_index];
cd->of_node = child;
cd->mii_bus = &mdio_bus->dev; cd->mii_bus = &mdio_bus->dev;
sw_addr = of_get_property(child, "reg", NULL); sw_addr = of_get_property(child, "reg", NULL);