| /* |
| * Copyright 2012, Fabio Baltieri <fabio.baltieri@gmail.com> |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| */ |
| |
| #ifndef _CAN_LED_H |
| #define _CAN_LED_H |
| |
| #include <linux/if.h> |
| #include <linux/leds.h> |
| |
| enum can_led_event { |
| CAN_LED_EVENT_OPEN, |
| CAN_LED_EVENT_STOP, |
| CAN_LED_EVENT_TX, |
| CAN_LED_EVENT_RX, |
| }; |
| |
| #ifdef CONFIG_CAN_LEDS |
| |
| /* keep space for interface name + "-tx"/"-rx" suffix and null terminator */ |
| #define CAN_LED_NAME_SZ (IFNAMSIZ + 4) |
| |
| void can_led_event(struct net_device *netdev, enum can_led_event event); |
| void devm_can_led_init(struct net_device *netdev); |
| int __init can_led_notifier_init(void); |
| void __exit can_led_notifier_exit(void); |
| |
| #else |
| |
| static inline void can_led_event(struct net_device *netdev, |
| enum can_led_event event) |
| { |
| } |
| static inline void devm_can_led_init(struct net_device *netdev) |
| { |
| } |
| static inline int can_led_notifier_init(void) |
| { |
| return 0; |
| } |
| static inline void can_led_notifier_exit(void) |
| { |
| } |
| |
| #endif |
| |
| #endif /* !_CAN_LED_H */ |