Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH] wifi: mt76: pass LED define via ccflags-y in driver submodules
@ 2026-07-15  4:44 Mateus B. Cassiano
  0 siblings, 0 replies; only message in thread
From: Mateus B. Cassiano @ 2026-07-15  4:44 UTC (permalink / raw)
  To: nbd
  Cc: lorenzo, ryder.lee, shayne.chen, sean.wang, linux-wireless,
	linux-mediatek, Mateus B. Cassiano

Commit d2b01fbc329b ("mt76: pass LED define via ccflags-y")
converted the top-level Makefile from the deprecated EXTRA_CFLAGS
to ccflags-y so that -DCONFIG_MT76_LEDS keeps working now that
kbuild no longer honours EXTRA_CFLAGS.

However, ccflags-y (like EXTRA_CFLAGS before it) only applies to
the kbuild makefile it is set in and is not inherited by
subdirectories pulled in via obj-y/obj-m. The mt7603, mt7615 and
mt7915 driver subdirectories each set their own
"EXTRA_CFLAGS += ... -DCONFIG_MT76_LEDS", which is now a silent
no-op. As a result, CONFIG_MT76_LEDS is undefined when building
mt7603/init.c, mt7615/init.c, mt7615/pci_init.c and mt7915/init.c,
the IS_ENABLED(CONFIG_MT76_LEDS) blocks are compiled out, and the
mt76-* LED class devices are never registered for these drivers.

Convert these subdirectory Makefiles to ccflags-y as well.

mt7996/Makefile never carried the define at all, even though
mt7996/init.c has the same IS_ENABLED(CONFIG_MT76_LEDS) checks for
its LED callbacks and GPIO mux setup. Add ccflags-y there too so
mt7996 LED support is enabled consistently with the other drivers.

mt76x0, mt76x2, mt7921 and mt7925 contain no CONFIG_MT76_LEDS
references and are left untouched.

Fixes: d2b01fbc329b ("mt76: pass LED define via ccflags-y")
Link: https://github.com/openwrt/mt76/issues/1077
Signed-off-by: Mateus B. Cassiano <mbc07@live.com>
---
Notes for reviewers (not for the commit message):

Previously submitted as https://github.com/openwrt/mt76/pull/1090
before I noticed that PRs on the GitHub mirror don't seem to be
reviewed.

Tested on a D-Link DIR-882 A1 (dual MT7615 radios) by building
OpenWrt at commit e4c35c2eec66 with this change applied to the mt76
package: the mt76-* LED class devices appeared again under
/sys/class/leds. The same result was reported on different MT7615
hardware in
https://github.com/openwrt/mt76/issues/1077#issuecomment-4557037203

The mt7603 and mt7915 hunks are the same fix applied for consistency,
but I don't have that hardware to test.

mt7996 in particular enables IS_ENABLED(CONFIG_MT76_LEDS) code paths
that appear to have never been built with the define before, so it
would be good if someone with mt7996 hardware could confirm nothing
regresses. I'm happy to drop the mt7996 hunk and keep only the others
if preferred.
 mt7603/Makefile | 2 +-
 mt7615/Makefile | 2 +-
 mt7915/Makefile | 2 +-
 mt7996/Makefile | 1 +
 4 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/mt7603/Makefile b/mt7603/Makefile
index 57d28591..5e7ab30f 100644
--- a/mt7603/Makefile
+++ b/mt7603/Makefile
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause-Clear
-EXTRA_CFLAGS += -Werror -DCONFIG_MT76_LEDS
+ccflags-y += -Werror -DCONFIG_MT76_LEDS
 obj-m += mt7603e.o
 
 mt7603e-y := \
diff --git a/mt7615/Makefile b/mt7615/Makefile
index 9274c006..8b8eff3f 100644
--- a/mt7615/Makefile
+++ b/mt7615/Makefile
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause-Clear
 
-EXTRA_CFLAGS += -DCONFIG_MT76_LEDS
+ccflags-y += -DCONFIG_MT76_LEDS
 obj-$(CONFIG_MT7615_COMMON) += mt7615-common.o
 obj-$(CONFIG_MT7615E) += mt7615e.o
 obj-$(CONFIG_MT7663_USB_SDIO_COMMON) += mt7663-usb-sdio-common.o
diff --git a/mt7915/Makefile b/mt7915/Makefile
index 6b0058ca..7ea5b05c 100644
--- a/mt7915/Makefile
+++ b/mt7915/Makefile
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause-Clear
 
-EXTRA_CFLAGS += -DCONFIG_MT76_LEDS
+ccflags-y += -DCONFIG_MT76_LEDS
 obj-$(CONFIG_MT7915E) += mt7915e.o
 
 mt7915e-y := pci.o init.o dma.o eeprom.o main.o mcu.o mac.o \
diff --git a/mt7996/Makefile b/mt7996/Makefile
index 69d2d4bb..28ecee3c 100644
--- a/mt7996/Makefile
+++ b/mt7996/Makefile
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: BSD-3-Clause-Clear
 
+ccflags-y += -DCONFIG_MT76_LEDS
 obj-$(CONFIG_MT7996E) += mt7996e.o
 
 mt7996e-y := pci.o init.o dma.o eeprom.o main.o mcu.o mac.o \
-- 
2.43.0


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-15  4:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15  4:44 [PATCH] wifi: mt76: pass LED define via ccflags-y in driver submodules Mateus B. Cassiano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox