1 /* 2 * Copyright (c) 2026 Ahmad Khalifa <vexeduxr@FreeBSD.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7 #include <sys/param.h> 8 #include <sys/lock.h> 9 #include <sys/mutex.h> 10 #include <sys/mbuf.h> 11 #include <sys/kernel.h> 12 #include <sys/socket.h> 13 #include <sys/systm.h> 14 #include <sys/malloc.h> 15 #include <sys/queue.h> 16 #include <sys/taskqueue.h> 17 #include <sys/bus.h> 18 #include <sys/endian.h> 19 #include <sys/linker.h> 20 21 #include <net/if.h> 22 #include <net/ethernet.h> 23 #include <net/if_media.h> 24 25 #include <net80211/ieee80211_var.h> 26 #include <net80211/ieee80211_radiotap.h> 27 28 #include <dev/rtwn/if_rtwnreg.h> 29 #include <dev/rtwn/if_rtwnvar.h> 30 31 #include <dev/rtwn/rtl8192c/r92c_reg.h> 32 33 #include <dev/rtwn/rtl8723b/r23b.h> 34 #include <dev/rtwn/rtl8723b/r23b_reg.h> 35 36 void 37 r23b_set_led(struct rtwn_softc *sc, int led, int on) 38 { 39 if (led != RTWN_LED_LINK) 40 return; 41 42 sc->ledlink = on; 43 rtwn_setbits_1(sc, R92C_LEDCFG2, R23B_LEDCFG2_LED_M, 44 R23B_LEDCFG2_LED_SW_CTRL | (on ? 0 : R23B_LEDCFG2_LED_DISABLE)); 45 } 46