if (!phy->link) return phy_led_trigger_no_link(phy);
if (phy->speed == 0) return;
plt = phy_speed_to_led_trigger(phy, phy->speed); if (!plt) {
netdev_alert(phy->attached_dev, "No phy led trigger registered for speed(%d)\n",
phy->speed); return phy_led_trigger_no_link(phy);
}
if (plt != phy->last_triggered) { if (!phy->last_triggered)
led_trigger_event(&phy->led_link_trigger->trigger,
LED_FULL); else
led_trigger_event(&phy->last_triggered->trigger, LED_OFF);
for (i = 0; i < phy->phy_num_led_triggers; i++) {
err = phy_led_trigger_register(phy, &phy->phy_led_triggers[i],
speeds[i],
phy_speed_to_str(speeds[i])); if (err) goto out_unreg;
}
void phy_led_triggers_unregister(struct phy_device *phy)
{ int i;
for (i = 0; i < phy->phy_num_led_triggers; i++)
phy_led_trigger_unregister(&phy->phy_led_triggers[i]);
kfree(phy->phy_led_triggers);
phy->phy_led_triggers = NULL;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.