Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

module: Convert default symbol namespace to string literal

Commit cdd30ebb1b9f ("module: Convert symbol namespace to string
literal") only converted MODULE_IMPORT_NS() and EXPORT_SYMBOL_NS(),
leaving DEFAULT_SYMBOL_NAMESPACE as a macro expansion.

This commit converts DEFAULT_SYMBOL_NAMESPACE in the same way to avoid
annoyance for the default namespace as well.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Masahiro Yamada and committed by
Linus Torvalds
ceb8bf2c 3727b1a7

+21 -21
+2 -2
Documentation/core-api/symbol-namespaces.rst
··· 68 68 export all symbols defined in usb-common into the namespace USB_COMMON, add a 69 69 line like this to drivers/usb/common/Makefile:: 70 70 71 - ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE=USB_COMMON 71 + ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE='"USB_COMMON"' 72 72 73 73 That will affect all EXPORT_SYMBOL() and EXPORT_SYMBOL_GPL() statements. A 74 74 symbol exported with EXPORT_SYMBOL_NS() while this definition is present, will ··· 79 79 unit as preprocessor statement. The above example would then read:: 80 80 81 81 #undef DEFAULT_SYMBOL_NAMESPACE 82 - #define DEFAULT_SYMBOL_NAMESPACE USB_COMMON 82 + #define DEFAULT_SYMBOL_NAMESPACE "USB_COMMON" 83 83 84 84 within the corresponding compilation unit before any EXPORT_SYMBOL macro is 85 85 used.
+2 -2
Documentation/translations/it_IT/core-api/symbol-namespaces.rst
··· 69 69 dei nomi USB_COMMON, si può aggiungere la seguente linea in 70 70 drivers/usb/common/Makefile:: 71 71 72 - ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE=USB_COMMON 72 + ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE='"USB_COMMON"' 73 73 74 74 Questo cambierà tutte le macro EXPORT_SYMBOL() ed EXPORT_SYMBOL_GPL(). Invece, 75 75 un simbolo esportato con EXPORT_SYMBOL_NS() non verrà cambiato e il simbolo ··· 79 79 direttamente nei file da compilare. L'esempio precedente diventerebbe:: 80 80 81 81 #undef DEFAULT_SYMBOL_NAMESPACE 82 - #define DEFAULT_SYMBOL_NAMESPACE USB_COMMON 82 + #define DEFAULT_SYMBOL_NAMESPACE "USB_COMMON" 83 83 84 84 Questo va messo prima di un qualsiasi uso di EXPORT_SYMBOL. 85 85
+2 -2
Documentation/translations/zh_CN/core-api/symbol-namespaces.rst
··· 66 66 子系统的 ``Makefile`` 中定义默认命名空间。例如,如果要将usb-common中定义的所有符号导 67 67 出到USB_COMMON命名空间,可以在drivers/usb/common/Makefile中添加这样一行:: 68 68 69 - ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE=USB_COMMON 69 + ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE='"USB_COMMON"' 70 70 71 71 这将影响所有 EXPORT_SYMBOL() 和 EXPORT_SYMBOL_GPL() 语句。当这个定义存在时, 72 72 用EXPORT_SYMBOL_NS()导出的符号仍然会被导出到作为命名空间参数传递的命名空间中, ··· 76 76 成:: 77 77 78 78 #undef DEFAULT_SYMBOL_NAMESPACE 79 - #define DEFAULT_SYMBOL_NAMESPACE USB_COMMON 79 + #define DEFAULT_SYMBOL_NAMESPACE "USB_COMMON" 80 80 81 81 应置于相关编译单元中任何 EXPORT_SYMBOL 宏之前 82 82
+1 -1
drivers/cdx/Makefile
··· 5 5 # Copyright (C) 2022-2023, Advanced Micro Devices, Inc. 6 6 # 7 7 8 - ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE=CDX_BUS 8 + ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE='"CDX_BUS"' 9 9 10 10 obj-$(CONFIG_CDX_BUS) += cdx.o controller/ 11 11
+1 -1
drivers/crypto/intel/iaa/Makefile
··· 3 3 # Makefile for IAA crypto device drivers 4 4 # 5 5 6 - ccflags-y += -I $(srctree)/drivers/dma/idxd -DDEFAULT_SYMBOL_NAMESPACE=IDXD 6 + ccflags-y += -I $(srctree)/drivers/dma/idxd -DDEFAULT_SYMBOL_NAMESPACE='"IDXD"' 7 7 8 8 obj-$(CONFIG_CRYPTO_DEV_IAA_CRYPTO) := iaa_crypto.o 9 9
+1 -1
drivers/crypto/intel/qat/qat_common/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 obj-$(CONFIG_CRYPTO_DEV_QAT) += intel_qat.o 3 - ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE=CRYPTO_QAT 3 + ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE='"CRYPTO_QAT"' 4 4 intel_qat-objs := adf_cfg.o \ 5 5 adf_isr.o \ 6 6 adf_ctl_drv.o \
+1 -1
drivers/dma/idxd/Makefile
··· 1 - ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE=IDXD 1 + ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE='"IDXD"' 2 2 3 3 obj-$(CONFIG_INTEL_IDXD_BUS) += idxd_bus.o 4 4 idxd_bus-y := bus.o
+1 -1
drivers/gpio/gpio-idio-16.c
··· 14 14 15 15 #include "gpio-idio-16.h" 16 16 17 - #define DEFAULT_SYMBOL_NAMESPACE GPIO_IDIO_16 17 + #define DEFAULT_SYMBOL_NAMESPACE "GPIO_IDIO_16" 18 18 19 19 #define IDIO_16_DAT_BASE 0x0 20 20 #define IDIO_16_OUT_BASE IDIO_16_DAT_BASE
+1 -1
drivers/hwmon/nct6775-core.c
··· 57 57 #include "nct6775.h" 58 58 59 59 #undef DEFAULT_SYMBOL_NAMESPACE 60 - #define DEFAULT_SYMBOL_NAMESPACE HWMON_NCT6775 60 + #define DEFAULT_SYMBOL_NAMESPACE "HWMON_NCT6775" 61 61 62 62 #define USE_ALTERNATE 63 63
+1 -1
drivers/i2c/busses/i2c-designware-common.c
··· 29 29 #include <linux/types.h> 30 30 #include <linux/units.h> 31 31 32 - #define DEFAULT_SYMBOL_NAMESPACE I2C_DW_COMMON 32 + #define DEFAULT_SYMBOL_NAMESPACE "I2C_DW_COMMON" 33 33 34 34 #include "i2c-designware-core.h" 35 35
+1 -1
drivers/i2c/busses/i2c-designware-master.c
··· 22 22 #include <linux/regmap.h> 23 23 #include <linux/reset.h> 24 24 25 - #define DEFAULT_SYMBOL_NAMESPACE I2C_DW 25 + #define DEFAULT_SYMBOL_NAMESPACE "I2C_DW" 26 26 27 27 #include "i2c-designware-core.h" 28 28
+1 -1
drivers/i2c/busses/i2c-designware-slave.c
··· 16 16 #include <linux/pm_runtime.h> 17 17 #include <linux/regmap.h> 18 18 19 - #define DEFAULT_SYMBOL_NAMESPACE I2C_DW 19 + #define DEFAULT_SYMBOL_NAMESPACE "I2C_DW" 20 20 21 21 #include "i2c-designware-core.h" 22 22
+1 -1
drivers/pwm/core.c
··· 6 6 * Copyright (C) 2011-2012 Avionic Design GmbH 7 7 */ 8 8 9 - #define DEFAULT_SYMBOL_NAMESPACE PWM 9 + #define DEFAULT_SYMBOL_NAMESPACE "PWM" 10 10 11 11 #include <linux/acpi.h> 12 12 #include <linux/module.h>
+1 -1
drivers/pwm/pwm-dwc-core.c
··· 9 9 * Author: Raymond Tan <raymond.tan@intel.com> 10 10 */ 11 11 12 - #define DEFAULT_SYMBOL_NAMESPACE dwc_pwm 12 + #define DEFAULT_SYMBOL_NAMESPACE "dwc_pwm" 13 13 14 14 #include <linux/bitops.h> 15 15 #include <linux/export.h>
+1 -1
drivers/pwm/pwm-lpss.c
··· 19 19 #include <linux/pm_runtime.h> 20 20 #include <linux/time.h> 21 21 22 - #define DEFAULT_SYMBOL_NAMESPACE PWM_LPSS 22 + #define DEFAULT_SYMBOL_NAMESPACE "PWM_LPSS" 23 23 24 24 #include "pwm-lpss.h" 25 25
+1 -1
drivers/tty/serial/sc16is7xx.c
··· 8 8 */ 9 9 10 10 #undef DEFAULT_SYMBOL_NAMESPACE 11 - #define DEFAULT_SYMBOL_NAMESPACE SERIAL_NXP_SC16IS7XX 11 + #define DEFAULT_SYMBOL_NAMESPACE "SERIAL_NXP_SC16IS7XX" 12 12 13 13 #include <linux/bits.h> 14 14 #include <linux/clk.h>
+1 -1
drivers/usb/storage/Makefile
··· 8 8 9 9 ccflags-y := -I $(srctree)/drivers/scsi 10 10 11 - ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE=USB_STORAGE 11 + ccflags-y += -DDEFAULT_SYMBOL_NAMESPACE='"USB_STORAGE"' 12 12 13 13 obj-$(CONFIG_USB_UAS) += uas.o 14 14 obj-$(CONFIG_USB_STORAGE) += usb-storage.o
+1 -1
include/linux/export.h
··· 60 60 #endif 61 61 62 62 #ifdef DEFAULT_SYMBOL_NAMESPACE 63 - #define _EXPORT_SYMBOL(sym, license) __EXPORT_SYMBOL(sym, license, __stringify(DEFAULT_SYMBOL_NAMESPACE)) 63 + #define _EXPORT_SYMBOL(sym, license) __EXPORT_SYMBOL(sym, license, DEFAULT_SYMBOL_NAMESPACE) 64 64 #else 65 65 #define _EXPORT_SYMBOL(sym, license) __EXPORT_SYMBOL(sym, license, "") 66 66 #endif