port.c (56435d9145f5b97decca66244d2049e2d5e4616d) | port.c (18596f504a3e56c4f8e132b2a437cbe23a3f4635) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Handling of a single switch port 4 * 5 * Copyright (c) 2017 Savoir-faire Linux Inc. 6 * Vivien Didelot <vivien.didelot@savoirfairelinux.com> 7 */ 8 --- 854 unchanged lines hidden (view full) --- 863 return ret; 864 865 ret = phy_ethtool_get_sset_count(phydev); 866 put_device(&phydev->mdio.dev); 867 868 return ret; 869} 870EXPORT_SYMBOL_GPL(dsa_port_get_phy_sset_count); | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Handling of a single switch port 4 * 5 * Copyright (c) 2017 Savoir-faire Linux Inc. 6 * Vivien Didelot <vivien.didelot@savoirfairelinux.com> 7 */ 8 --- 854 unchanged lines hidden (view full) --- 863 return ret; 864 865 ret = phy_ethtool_get_sset_count(phydev); 866 put_device(&phydev->mdio.dev); 867 868 return ret; 869} 870EXPORT_SYMBOL_GPL(dsa_port_get_phy_sset_count); |
871 872int dsa_port_hsr_join(struct dsa_port *dp, struct net_device *hsr) 873{ 874 struct dsa_notifier_hsr_info info = { 875 .sw_index = dp->ds->index, 876 .port = dp->index, 877 .hsr = hsr, 878 }; 879 int err; 880 881 dp->hsr_dev = hsr; 882 883 err = dsa_port_notify(dp, DSA_NOTIFIER_HSR_JOIN, &info); 884 if (err) 885 dp->hsr_dev = NULL; 886 887 return err; 888} 889 890void dsa_port_hsr_leave(struct dsa_port *dp, struct net_device *hsr) 891{ 892 struct dsa_notifier_hsr_info info = { 893 .sw_index = dp->ds->index, 894 .port = dp->index, 895 .hsr = hsr, 896 }; 897 int err; 898 899 dp->hsr_dev = NULL; 900 901 err = dsa_port_notify(dp, DSA_NOTIFIER_HSR_LEAVE, &info); 902 if (err) 903 pr_err("DSA: failed to notify DSA_NOTIFIER_HSR_LEAVE\n"); 904} |
|