@@ -1069,6 +1069,14 @@ static int mv88e6xxx_trunk_setup(struct mv88e6xxx_chip *chip)
10691069 return 0 ;
10701070}
10711071
1072+ static int mv88e6xxx_rmu_setup (struct mv88e6xxx_chip * chip )
1073+ {
1074+ if (chip -> info -> ops -> rmu_disable )
1075+ return chip -> info -> ops -> rmu_disable (chip );
1076+
1077+ return 0 ;
1078+ }
1079+
10721080static int mv88e6xxx_pot_setup (struct mv88e6xxx_chip * chip )
10731081{
10741082 if (chip -> info -> ops -> pot_clear )
@@ -2263,6 +2271,10 @@ static int mv88e6xxx_setup(struct dsa_switch *ds)
22632271 if (err )
22642272 goto unlock ;
22652273
2274+ err = mv88e6xxx_rmu_setup (chip );
2275+ if (err )
2276+ goto unlock ;
2277+
22662278 err = mv88e6xxx_rsvd2cpu_setup (chip );
22672279 if (err )
22682280 goto unlock ;
@@ -2530,6 +2542,7 @@ static const struct mv88e6xxx_ops mv88e6085_ops = {
25302542 .ppu_enable = mv88e6185_g1_ppu_enable ,
25312543 .ppu_disable = mv88e6185_g1_ppu_disable ,
25322544 .reset = mv88e6185_g1_reset ,
2545+ .rmu_disable = mv88e6085_g1_rmu_disable ,
25332546 .vtu_getnext = mv88e6352_g1_vtu_getnext ,
25342547 .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge ,
25352548 .serdes_power = mv88e6341_serdes_power ,
@@ -2588,6 +2601,7 @@ static const struct mv88e6xxx_ops mv88e6097_ops = {
25882601 .mgmt_rsvd2cpu = mv88e6352_g2_mgmt_rsvd2cpu ,
25892602 .pot_clear = mv88e6xxx_g2_pot_clear ,
25902603 .reset = mv88e6352_g1_reset ,
2604+ .rmu_disable = mv88e6085_g1_rmu_disable ,
25912605 .vtu_getnext = mv88e6352_g1_vtu_getnext ,
25922606 .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge ,
25932607};
@@ -2815,6 +2829,7 @@ static const struct mv88e6xxx_ops mv88e6172_ops = {
28152829 .mgmt_rsvd2cpu = mv88e6352_g2_mgmt_rsvd2cpu ,
28162830 .pot_clear = mv88e6xxx_g2_pot_clear ,
28172831 .reset = mv88e6352_g1_reset ,
2832+ .rmu_disable = mv88e6352_g1_rmu_disable ,
28182833 .vtu_getnext = mv88e6352_g1_vtu_getnext ,
28192834 .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge ,
28202835 .serdes_power = mv88e6352_serdes_power ,
@@ -2888,6 +2903,7 @@ static const struct mv88e6xxx_ops mv88e6176_ops = {
28882903 .mgmt_rsvd2cpu = mv88e6352_g2_mgmt_rsvd2cpu ,
28892904 .pot_clear = mv88e6xxx_g2_pot_clear ,
28902905 .reset = mv88e6352_g1_reset ,
2906+ .rmu_disable = mv88e6352_g1_rmu_disable ,
28912907 .vtu_getnext = mv88e6352_g1_vtu_getnext ,
28922908 .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge ,
28932909 .serdes_power = mv88e6352_serdes_power ,
@@ -2953,6 +2969,7 @@ static const struct mv88e6xxx_ops mv88e6190_ops = {
29532969 .mgmt_rsvd2cpu = mv88e6390_g1_mgmt_rsvd2cpu ,
29542970 .pot_clear = mv88e6xxx_g2_pot_clear ,
29552971 .reset = mv88e6352_g1_reset ,
2972+ .rmu_disable = mv88e6390_g1_rmu_disable ,
29562973 .vtu_getnext = mv88e6390_g1_vtu_getnext ,
29572974 .vtu_loadpurge = mv88e6390_g1_vtu_loadpurge ,
29582975 .serdes_power = mv88e6390_serdes_power ,
@@ -2989,6 +3006,7 @@ static const struct mv88e6xxx_ops mv88e6190x_ops = {
29893006 .mgmt_rsvd2cpu = mv88e6390_g1_mgmt_rsvd2cpu ,
29903007 .pot_clear = mv88e6xxx_g2_pot_clear ,
29913008 .reset = mv88e6352_g1_reset ,
3009+ .rmu_disable = mv88e6390_g1_rmu_disable ,
29923010 .vtu_getnext = mv88e6390_g1_vtu_getnext ,
29933011 .vtu_loadpurge = mv88e6390_g1_vtu_loadpurge ,
29943012 .serdes_power = mv88e6390_serdes_power ,
@@ -3025,6 +3043,7 @@ static const struct mv88e6xxx_ops mv88e6191_ops = {
30253043 .mgmt_rsvd2cpu = mv88e6390_g1_mgmt_rsvd2cpu ,
30263044 .pot_clear = mv88e6xxx_g2_pot_clear ,
30273045 .reset = mv88e6352_g1_reset ,
3046+ .rmu_disable = mv88e6390_g1_rmu_disable ,
30283047 .vtu_getnext = mv88e6390_g1_vtu_getnext ,
30293048 .vtu_loadpurge = mv88e6390_g1_vtu_loadpurge ,
30303049 .serdes_power = mv88e6390_serdes_power ,
@@ -3062,6 +3081,7 @@ static const struct mv88e6xxx_ops mv88e6240_ops = {
30623081 .mgmt_rsvd2cpu = mv88e6352_g2_mgmt_rsvd2cpu ,
30633082 .pot_clear = mv88e6xxx_g2_pot_clear ,
30643083 .reset = mv88e6352_g1_reset ,
3084+ .rmu_disable = mv88e6352_g1_rmu_disable ,
30653085 .vtu_getnext = mv88e6352_g1_vtu_getnext ,
30663086 .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge ,
30673087 .serdes_power = mv88e6352_serdes_power ,
@@ -3100,6 +3120,7 @@ static const struct mv88e6xxx_ops mv88e6290_ops = {
31003120 .mgmt_rsvd2cpu = mv88e6390_g1_mgmt_rsvd2cpu ,
31013121 .pot_clear = mv88e6xxx_g2_pot_clear ,
31023122 .reset = mv88e6352_g1_reset ,
3123+ .rmu_disable = mv88e6390_g1_rmu_disable ,
31033124 .vtu_getnext = mv88e6390_g1_vtu_getnext ,
31043125 .vtu_loadpurge = mv88e6390_g1_vtu_loadpurge ,
31053126 .serdes_power = mv88e6390_serdes_power ,
@@ -3316,6 +3337,7 @@ static const struct mv88e6xxx_ops mv88e6352_ops = {
33163337 .mgmt_rsvd2cpu = mv88e6352_g2_mgmt_rsvd2cpu ,
33173338 .pot_clear = mv88e6xxx_g2_pot_clear ,
33183339 .reset = mv88e6352_g1_reset ,
3340+ .rmu_disable = mv88e6352_g1_rmu_disable ,
33193341 .vtu_getnext = mv88e6352_g1_vtu_getnext ,
33203342 .vtu_loadpurge = mv88e6352_g1_vtu_loadpurge ,
33213343 .serdes_power = mv88e6352_serdes_power ,
@@ -3359,6 +3381,7 @@ static const struct mv88e6xxx_ops mv88e6390_ops = {
33593381 .mgmt_rsvd2cpu = mv88e6390_g1_mgmt_rsvd2cpu ,
33603382 .pot_clear = mv88e6xxx_g2_pot_clear ,
33613383 .reset = mv88e6352_g1_reset ,
3384+ .rmu_disable = mv88e6390_g1_rmu_disable ,
33623385 .vtu_getnext = mv88e6390_g1_vtu_getnext ,
33633386 .vtu_loadpurge = mv88e6390_g1_vtu_loadpurge ,
33643387 .serdes_power = mv88e6390_serdes_power ,
@@ -3399,6 +3422,7 @@ static const struct mv88e6xxx_ops mv88e6390x_ops = {
33993422 .mgmt_rsvd2cpu = mv88e6390_g1_mgmt_rsvd2cpu ,
34003423 .pot_clear = mv88e6xxx_g2_pot_clear ,
34013424 .reset = mv88e6352_g1_reset ,
3425+ .rmu_disable = mv88e6390_g1_rmu_disable ,
34023426 .vtu_getnext = mv88e6390_g1_vtu_getnext ,
34033427 .vtu_loadpurge = mv88e6390_g1_vtu_loadpurge ,
34043428 .serdes_power = mv88e6390_serdes_power ,
0 commit comments