1 /* 2 * Copyright 2012, Fabio Baltieri <fabio.baltieri@gmail.com> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8 9 #ifndef _CAN_LED_H 10 #define _CAN_LED_H 11 12 #include <linux/if.h> 13 #include <linux/leds.h> 14 15 enum can_led_event { 16 CAN_LED_EVENT_OPEN, 17 CAN_LED_EVENT_STOP, 18 CAN_LED_EVENT_TX, 19 CAN_LED_EVENT_RX, 20 }; 21 22 #ifdef CONFIG_CAN_LEDS 23 24 /* keep space for interface name + "-tx"/"-rx"/"-rxtx" 25 * suffix and null terminator 26 */ 27 #define CAN_LED_NAME_SZ (IFNAMSIZ + 6) 28 29 void can_led_event(struct net_device *netdev, enum can_led_event event); 30 void devm_can_led_init(struct net_device *netdev); 31 int __init can_led_notifier_init(void); 32 void __exit can_led_notifier_exit(void); 33 34 #else 35 can_led_event(struct net_device * netdev,enum can_led_event event)36static inline void can_led_event(struct net_device *netdev, 37 enum can_led_event event) 38 { 39 } devm_can_led_init(struct net_device * netdev)40static inline void devm_can_led_init(struct net_device *netdev) 41 { 42 } can_led_notifier_init(void)43static inline int can_led_notifier_init(void) 44 { 45 return 0; 46 } can_led_notifier_exit(void)47static inline void can_led_notifier_exit(void) 48 { 49 } 50 51 #endif 52 53 #endif /* !_CAN_LED_H */ 54