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" suffix and null terminator */ 25 #define CAN_LED_NAME_SZ (IFNAMSIZ + 4) 26 27 void can_led_event(struct net_device *netdev, enum can_led_event event); 28 void devm_can_led_init(struct net_device *netdev); 29 int __init can_led_notifier_init(void); 30 void __exit can_led_notifier_exit(void); 31 32 #else 33 can_led_event(struct net_device * netdev,enum can_led_event event)34static inline void can_led_event(struct net_device *netdev, 35 enum can_led_event event) 36 { 37 } devm_can_led_init(struct net_device * netdev)38static inline void devm_can_led_init(struct net_device *netdev) 39 { 40 } can_led_notifier_init(void)41static inline int can_led_notifier_init(void) 42 { 43 return 0; 44 } can_led_notifier_exit(void)45static inline void can_led_notifier_exit(void) 46 { 47 } 48 49 #endif 50 51 #endif /* !_CAN_LED_H */ 52