Commit d2b01fbc32 ("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: d2b01fbc32 ("mt76: pass LED define via ccflags-y")
Link: https://github.com/openwrt/mt76/issues/1077
Signed-off-by: Mateus B. Cassiano <[email protected]>
MediaTek has asked to switch from the ISC license to BSD-3-Clause-Clear,
in order to improve clarity and the legal integrity of the code.
The BSD-3-Clause license includes the "no endorsement" clause, which is
important for protecting the reputation of the original authors and
contributors by preventing unauthorized use of their names for endorsement
purposes.
This clause is absent in the BSD-2-Clause license, which is more permissive
but lacks this specific protection.
This change also cleans up the license of some Kconfig/Makefile files,
which were accidentally marked as GPL.
The GPL 2.0 remains in use on mt76x0, as well as two source files in mt7615
for which the license situation still needs to be clarified.
Signed-off-by: Felix Fietkau <[email protected]>
When building with CONFIG_KERNEL_DYNAMIC_DEBUG=y enabled, the build
fails with following error:
<command-line>:0:37: error: redeclaration of enumerator 'IEEE80211_HW_REPORTS_TX_ACK_STATUS'
<command-line>:0:37: note: in definition of macro 'IEEE80211_HW_TX_STATUS_NO_AMPDU_LEN'
In file included from mt76-2019-07-22-75656a45/mt7603/../mt76.h:27:0,
from mt76-2019-07-22-75656a45/mt7603/mt7603.h:8,
from mt76-2019-07-22-75656a45/mt7603/pci.c:7:
usr/include/mac80211/net/mac80211.h:2293:2: note: previous definition of 'IEEE80211_HW_REPORTS_TX_ACK_STATUS' was here
IEEE80211_HW_REPORTS_TX_ACK_STATUS,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This is caused by failing check-cc-enum build check due to the following
compile error:
./include/linux/dynamic_debug.h:77:14: error: 'KBUILD_MODNAME' undeclared (first use in this function); did you mean 'KERN_NODENAME'?
.modname = KBUILD_MODNAME, \
So this patch adds missing KBUILD_MODNAME variable to
CHECK_CC_ENUM_FLAGS in order to make check-cc-enum build check compile
again.
Fixes: c4e4982fa9 ("mt7603: set IEEE80211_HW_TX_STATUS_NO_AMPDU_LEN")
Cc: Felix Fietkau <[email protected]>
Reported-by: Joan Moreau <[email protected]>
Signed-off-by: Petr Štetiar <[email protected]>
The hardware cannot report accurate tx A-MPDU length information, so tell rate
control to ignore it. Improves tx rate selection
Signed-off-by: Felix Fietkau <[email protected]>