> @@ -452,11 +455,14 @@ static int dsa_cpu_parse(struct dsa_port *port, u32 > index, > struct net_device *ethernet_dev; > struct device_node *ethernet; > > - ethernet = of_parse_phandle(port->dn, "ethernet", 0); > - if (!ethernet) > - return -EINVAL; > + if (port->dn) { > + ethernet = of_parse_phandle(port->dn, "ethernet", 0); > + if (!ethernet) > + return -EINVAL; > + ethernet_dev = of_find_net_device_by_node(ethernet); > + } else > + ethernet_dev = dev_to_net_device(dst->pd->netdev);
Hi Florian This is not going to work with John's rework of my multi CPU ports code. I think you are going to have to modify the platform_data structure to support multi-CPU ports. I put higher priority on cleanly integrating multi-CPU ports using device tree, than supporting legacy platforms. I'm O.K. with preparatory patches, but i think we should wait for actually platform data changes until after Johns code has landed and we can design the platform_data to work with it. Andrew