xref: /linux/drivers/net/wireless/realtek/rtw89/led.h (revision 91ec2035134982b98fab0609a9fd8480e8217dc1)
1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2 /* Copyright(c) 2026 Realtek Corporation
3  */
4 
5 #ifndef __RTW89_LED_H__
6 #define __RTW89_LED_H__
7 
8 #include "core.h"
9 
10 void rtw89_led_gpio_config(struct rtw89_dev *rtwdev,
11 			   const struct rtw89_led_gpio_entry *e);
12 void rtw89_led_gpio_set(struct rtw89_dev *rtwdev,
13 			const struct rtw89_led_gpio_entry *e,
14 			enum led_brightness brightness);
15 
16 #ifdef CONFIG_RTW89_LEDS
17 void rtw89_led_init(struct rtw89_dev *rtwdev);
18 void rtw89_led_deinit(struct rtw89_dev *rtwdev);
19 #else
rtw89_led_init(struct rtw89_dev * rtwdev)20 static inline void rtw89_led_init(struct rtw89_dev *rtwdev) {}
rtw89_led_deinit(struct rtw89_dev * rtwdev)21 static inline void rtw89_led_deinit(struct rtw89_dev *rtwdev) {}
22 #endif
23 
24 #ifdef CONFIG_RTW89_LEDS_MC
25 int rtw89_led_mc_init(struct rtw89_dev *rtwdev, const struct rtw89_led_desc *desc);
26 void rtw89_led_mc_deinit(struct rtw89_dev *rtwdev);
27 #else
rtw89_led_mc_init(struct rtw89_dev * rtwdev,const struct rtw89_led_desc * desc)28 static inline int rtw89_led_mc_init(struct rtw89_dev *rtwdev,
29 				    const struct rtw89_led_desc *desc)
30 {
31 	return -EOPNOTSUPP;
32 }
33 
rtw89_led_mc_deinit(struct rtw89_dev * rtwdev)34 static inline void rtw89_led_mc_deinit(struct rtw89_dev *rtwdev) {}
35 #endif
36 
37 #endif
38