1c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 22e0bc452SZach Brown /* Copyright (C) 2016 National Instruments Corp. 32e0bc452SZach Brown */ 42e0bc452SZach Brown #ifndef __PHY_LED_TRIGGERS 52e0bc452SZach Brown #define __PHY_LED_TRIGGERS 62e0bc452SZach Brown 72e0bc452SZach Brown struct phy_device; 82e0bc452SZach Brown 92e0bc452SZach Brown #ifdef CONFIG_LED_TRIGGER_PHY 102e0bc452SZach Brown 112e0bc452SZach Brown #include <linux/leds.h> 123c880eb0SGeert Uytterhoeven #include <linux/phy.h> 132e0bc452SZach Brown 14457937bdSKyle Roeschley #define PHY_LED_TRIGGER_SPEED_SUFFIX_SIZE 11 152e0bc452SZach Brown 163c880eb0SGeert Uytterhoeven #define PHY_LINK_LED_TRIGGER_NAME_SIZE (MII_BUS_ID_SIZE + \ 17c593642cSPankaj Bharadiya sizeof_field(struct mdio_device, addr)+\ 182e0bc452SZach Brown PHY_LED_TRIGGER_SPEED_SUFFIX_SIZE) 192e0bc452SZach Brown 202e0bc452SZach Brown struct phy_led_trigger { 212e0bc452SZach Brown struct led_trigger trigger; 222e0bc452SZach Brown char name[PHY_LINK_LED_TRIGGER_NAME_SIZE]; 232e0bc452SZach Brown unsigned int speed; 242e0bc452SZach Brown }; 252e0bc452SZach Brown 262e0bc452SZach Brown 272e0bc452SZach Brown extern int phy_led_triggers_register(struct phy_device *phy); 282e0bc452SZach Brown extern void phy_led_triggers_unregister(struct phy_device *phy); 292e0bc452SZach Brown extern void phy_led_trigger_change_speed(struct phy_device *phy); 302e0bc452SZach Brown 312e0bc452SZach Brown #else 322e0bc452SZach Brown phy_led_triggers_register(struct phy_device * phy)332e0bc452SZach Brownstatic inline int phy_led_triggers_register(struct phy_device *phy) 342e0bc452SZach Brown { 352e0bc452SZach Brown return 0; 362e0bc452SZach Brown } phy_led_triggers_unregister(struct phy_device * phy)372e0bc452SZach Brownstatic inline void phy_led_triggers_unregister(struct phy_device *phy) { } phy_led_trigger_change_speed(struct phy_device * phy)382e0bc452SZach Brownstatic inline void phy_led_trigger_change_speed(struct phy_device *phy) { } 392e0bc452SZach Brown 402e0bc452SZach Brown #endif 412e0bc452SZach Brown 422e0bc452SZach Brown #endif 43