octeon: update to 3.14
[openwrt.git] / target / linux / octeon / patches-3.14 / 110-er200-ethernet_probe_order.patch
1 Index: linux-3.14.14/drivers/staging/octeon/ethernet.c
2 ===================================================================
3 --- linux-3.14.14.orig/drivers/staging/octeon/ethernet.c        2014-08-07 17:03:44.000000000 +0200
4 +++ linux-3.14.14/drivers/staging/octeon/ethernet.c     2014-08-07 17:07:31.768932379 +0200
5 @@ -624,6 +624,7 @@
6         int interface;
7         int fau = FAU_NUM_PACKET_BUFFERS_TO_FREE;
8         int qos;
9 +       int i;
10         struct device_node *pip;
11  
12         octeon_mdiobus_force_mod_depencency();
13 @@ -707,13 +708,19 @@
14         }
15  
16         num_interfaces = cvmx_helper_get_number_of_interfaces();
17 -       for (interface = 0; interface < num_interfaces; interface++) {
18 -               cvmx_helper_interface_mode_t imode =
19 -                   cvmx_helper_interface_get_mode(interface);
20 -               int num_ports = cvmx_helper_ports_on_interface(interface);
21 +       for (i = 0; i < num_interfaces; i++) {
22 +               cvmx_helper_interface_mode_t imode;
23 +               int interface;
24 +               int num_ports;
25                 int port;
26                 int port_index;
27  
28 +               interface = i;
29 +               if (cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_UBNT_E200)
30 +                       interface = num_interfaces - (i + 1);
31 +
32 +               num_ports = cvmx_helper_ports_on_interface(interface);
33 +               imode = cvmx_helper_interface_get_mode(interface);
34                 for (port_index = 0,
35                      port = cvmx_helper_get_ipd_port(interface, 0);
36                      port < cvmx_helper_get_ipd_port(interface, num_ports);