@ -794,6 +794,26 @@ static int b53_port_get_link(struct switch_dev *dev, int port,
}
}
static int b53_phy_read16 ( struct switch_dev * dev , int addr , u8 reg , u16 * value )
{
struct b53_device * priv = sw_to_b53 ( dev ) ;
if ( priv - > ops - > phy_read16 )
return priv - > ops - > phy_read16 ( priv , addr , reg , value ) ;
return b53_read16 ( priv , B53_PORT_MII_PAGE ( addr ) , reg , value ) ;
}
static int b53_phy_write16 ( struct switch_dev * dev , int addr , u8 reg , u16 value )
{
struct b53_device * priv = sw_to_b53 ( dev ) ;
if ( priv - > ops - > phy_write16 )
return priv - > ops - > phy_write16 ( priv , addr , reg , value ) ;
return b53_write16 ( priv , B53_PORT_MII_PAGE ( addr ) , reg , value ) ;
}
static int b53_global_reset_switch ( struct switch_dev * dev )
static int b53_global_reset_switch ( struct switch_dev * dev )
{
{
struct b53_device * priv = sw_to_b53 ( dev ) ;
struct b53_device * priv = sw_to_b53 ( dev ) ;
@ -1002,6 +1022,8 @@ static const struct switch_dev_ops b53_switch_ops_25 = {
. apply_config = b53_global_apply_config ,
. apply_config = b53_global_apply_config ,
. reset_switch = b53_global_reset_switch ,
. reset_switch = b53_global_reset_switch ,
. get_port_link = b53_port_get_link ,
. get_port_link = b53_port_get_link ,
. phy_read16 = b53_phy_read16 ,
. phy_write16 = b53_phy_write16 ,
} ;
} ;
static const struct switch_dev_ops b53_switch_ops_65 = {
static const struct switch_dev_ops b53_switch_ops_65 = {
@ -1025,6 +1047,8 @@ static const struct switch_dev_ops b53_switch_ops_65 = {
. apply_config = b53_global_apply_config ,
. apply_config = b53_global_apply_config ,
. reset_switch = b53_global_reset_switch ,
. reset_switch = b53_global_reset_switch ,
. get_port_link = b53_port_get_link ,
. get_port_link = b53_port_get_link ,
. phy_read16 = b53_phy_read16 ,
. phy_write16 = b53_phy_write16 ,
} ;
} ;
static const struct switch_dev_ops b53_switch_ops = {
static const struct switch_dev_ops b53_switch_ops = {
@ -1048,6 +1072,8 @@ static const struct switch_dev_ops b53_switch_ops = {
. apply_config = b53_global_apply_config ,
. apply_config = b53_global_apply_config ,
. reset_switch = b53_global_reset_switch ,
. reset_switch = b53_global_reset_switch ,
. get_port_link = b53_port_get_link ,
. get_port_link = b53_port_get_link ,
. phy_read16 = b53_phy_read16 ,
. phy_write16 = b53_phy_write16 ,
} ;
} ;
struct b53_chip_data {
struct b53_chip_data {