xref: /linux/drivers/net/wireless/realtek/rtw89/led.h (revision 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d)
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
20 static inline void rtw89_led_init(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
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 
34 static inline void rtw89_led_mc_deinit(struct rtw89_dev *rtwdev) {}
35 #endif
36 
37 #endif
38