mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 00:28:52 +02:00 
			
		
		
		
	module: Convert symbol namespace to string literal
Clean up the existing export namespace code along the same lines of
commit 33def8498f ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.
Scripted using
  git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
  do
    awk -i inplace '
      /^#define EXPORT_SYMBOL_NS/ {
        gsub(/__stringify\(ns\)/, "ns");
        print;
        next;
      }
      /^#define MODULE_IMPORT_NS/ {
        gsub(/__stringify\(ns\)/, "ns");
        print;
        next;
      }
      /MODULE_IMPORT_NS/ {
        $0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
      }
      /EXPORT_SYMBOL_NS/ {
        if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
  	if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &&
  	    $0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &&
  	    $0 !~ /^my/) {
  	  getline line;
  	  gsub(/[[:space:]]*\\$/, "");
  	  gsub(/[[:space:]]/, "", line);
  	  $0 = $0 " " line;
  	}
  	$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
  		    "\\1(\\2, \"\\3\")", "g");
        }
      }
      { print }' $file;
  done
Requested-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
			
			
This commit is contained in:
		
							parent
							
								
									e70140ba0d
								
							
						
					
					
						commit
						cdd30ebb1b
					
				
					 876 changed files with 2189 additions and 2196 deletions
				
			
		|  | @ -46,7 +46,7 @@ Please note that due to macro expansion that argument needs to be a | |||
| preprocessor symbol. E.g. to export the symbol ``usb_stor_suspend`` into the | ||||
| namespace ``USB_STORAGE``, use:: | ||||
| 
 | ||||
| 	EXPORT_SYMBOL_NS(usb_stor_suspend, USB_STORAGE); | ||||
| 	EXPORT_SYMBOL_NS(usb_stor_suspend, "USB_STORAGE"); | ||||
| 
 | ||||
| The corresponding ksymtab entry struct ``kernel_symbol`` will have the member | ||||
| ``namespace`` set accordingly. A symbol that is exported without a namespace will | ||||
|  | @ -94,7 +94,7 @@ for the namespaces it uses symbols from. E.g. a module using the | |||
| usb_stor_suspend symbol from above, needs to import the namespace USB_STORAGE | ||||
| using a statement like:: | ||||
| 
 | ||||
| 	MODULE_IMPORT_NS(USB_STORAGE); | ||||
| 	MODULE_IMPORT_NS("USB_STORAGE"); | ||||
| 
 | ||||
| This will create a ``modinfo`` tag in the module for each imported namespace. | ||||
| This has the side effect, that the imported namespaces of a module can be | ||||
|  | @ -106,7 +106,7 @@ inspected with modinfo:: | |||
| 	[...] | ||||
| 
 | ||||
| 
 | ||||
| It is advisable to add the MODULE_IMPORT_NS() statement close to other module | ||||
| It is advisable to add the MODULE_IMPORT_NS("") statement close to other module | ||||
| metadata definitions like MODULE_AUTHOR() or MODULE_LICENSE(). Refer to section | ||||
| 5. for a way to create missing import statements automatically. | ||||
| 
 | ||||
|  | @ -128,7 +128,7 @@ enable loading regardless, but will emit a warning. | |||
| Missing namespaces imports can easily be detected at build time. In fact, | ||||
| modpost will emit a warning if a module uses a symbol from a namespace | ||||
| without importing it. | ||||
| MODULE_IMPORT_NS() statements will usually be added at a definite location | ||||
| MODULE_IMPORT_NS("") statements will usually be added at a definite location | ||||
| (along with other module meta data). To make the life of module authors (and | ||||
| subsystem maintainers) easier, a script and make target is available to fixup | ||||
| missing imports. Fixing missing imports can be done with:: | ||||
|  |  | |||
|  | @ -43,7 +43,7 @@ Tenete presente che per via dell'espansione delle macro questo argomento deve | |||
| essere un simbolo di preprocessore. Per esempio per esportare il | ||||
| simbolo ``usb_stor_suspend`` nello spazio dei nomi ``USB_STORAGE`` usate:: | ||||
| 
 | ||||
| 	EXPORT_SYMBOL_NS(usb_stor_suspend, USB_STORAGE); | ||||
| 	EXPORT_SYMBOL_NS(usb_stor_suspend, "USB_STORAGE"); | ||||
| 
 | ||||
| Di conseguenza, nella tabella dei simboli del kernel ci sarà una voce | ||||
| rappresentata dalla struttura ``kernel_symbol`` che avrà il campo | ||||
|  | @ -94,7 +94,7 @@ dei nomi che contiene i simboli desiderati. Per esempio un modulo che | |||
| usa il simbolo usb_stor_suspend deve importare lo spazio dei nomi | ||||
| USB_STORAGE usando la seguente dichiarazione:: | ||||
| 
 | ||||
| 	MODULE_IMPORT_NS(USB_STORAGE); | ||||
| 	MODULE_IMPORT_NS("USB_STORAGE"); | ||||
| 
 | ||||
| Questo creerà un'etichetta ``modinfo`` per ogni spazio dei nomi | ||||
| importato. Un risvolto di questo fatto è che gli spazi dei | ||||
|  | @ -107,7 +107,7 @@ modinfo:: | |||
| 	[...] | ||||
| 
 | ||||
| 
 | ||||
| Si consiglia di posizionare la dichiarazione MODULE_IMPORT_NS() vicino | ||||
| Si consiglia di posizionare la dichiarazione MODULE_IMPORT_NS("") vicino | ||||
| ai metadati del modulo come MODULE_AUTHOR() o MODULE_LICENSE(). Fate | ||||
| riferimento alla sezione 5. per creare automaticamente le importazioni | ||||
| mancanti. | ||||
|  | @ -131,7 +131,7 @@ emetterà un avviso. | |||
| La mancanza di un'importazione può essere individuata facilmente al momento | ||||
| della compilazione. Infatti, modpost emetterà un avviso se il modulo usa | ||||
| un simbolo da uno spazio dei nomi che non è stato importato. | ||||
| La dichiarazione MODULE_IMPORT_NS() viene solitamente aggiunta in un posto | ||||
| La dichiarazione MODULE_IMPORT_NS("") viene solitamente aggiunta in un posto | ||||
| ben definito (assieme agli altri metadati del modulo). Per facilitare | ||||
| la vita di chi scrive moduli (e i manutentori di sottosistemi), esistono uno | ||||
| script e un target make per correggere le importazioni mancanti. Questo può | ||||
|  |  | |||
|  | @ -48,7 +48,7 @@ | |||
| 要是一个预处理器符号。例如,要把符号 ``usb_stor_suspend`` 导出到命名空间 ``USB_STORAGE``, | ||||
| 请使用:: | ||||
| 
 | ||||
|        EXPORT_SYMBOL_NS(usb_stor_suspend, USB_STORAGE); | ||||
|        EXPORT_SYMBOL_NS(usb_stor_suspend, "USB_STORAGE"); | ||||
| 
 | ||||
| 相应的 ksymtab 条目结构体 ``kernel_symbol`` 将有相应的成员 ``命名空间`` 集。 | ||||
| 导出时未指明命名空间的符号将指向 ``NULL`` 。如果没有定义命名空间,则默认没有。 | ||||
|  | @ -88,7 +88,7 @@ | |||
| 表示它所使用的命名空间的符号。例如,一个使用usb_stor_suspend符号的 | ||||
| 模块,需要使用如下语句导入命名空间USB_STORAGE:: | ||||
| 
 | ||||
|        MODULE_IMPORT_NS(USB_STORAGE); | ||||
|        MODULE_IMPORT_NS("USB_STORAGE"); | ||||
| 
 | ||||
| 这将在模块中为每个导入的命名空间创建一个 ``modinfo`` 标签。这也顺带 | ||||
| 使得可以用modinfo检查模块已导入的命名空间:: | ||||
|  | @ -99,7 +99,7 @@ | |||
|        [...] | ||||
| 
 | ||||
| 
 | ||||
| 建议将 MODULE_IMPORT_NS() 语句添加到靠近其他模块元数据定义的地方, | ||||
| 建议将 MODULE_IMPORT_NS("") 语句添加到靠近其他模块元数据定义的地方, | ||||
| 如 MODULE_AUTHOR() 或 MODULE_LICENSE() 。关于自动创建缺失的导入 | ||||
| 语句的方法,请参考第5节。 | ||||
| 
 | ||||
|  | @ -118,7 +118,7 @@ EINVAL方式失败。要允许加载不满足这个前提条件的模块,可 | |||
| 
 | ||||
| 缺少命名空间的导入可以在构建时很容易被检测到。事实上,如果一个模块 | ||||
| 使用了一个命名空间的符号而没有导入它,modpost会发出警告。 | ||||
| MODULE_IMPORT_NS()语句通常会被添加到一个明确的位置(和其他模块元 | ||||
| MODULE_IMPORT_NS("")语句通常会被添加到一个明确的位置(和其他模块元 | ||||
| 数据一起)。为了使模块作者(和子系统维护者)的生活更加轻松,我们提 | ||||
| 供了一个脚本和make目标来修复丢失的导入。修复丢失的导入可以用:: | ||||
| 
 | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ | |||
| 
 | ||||
| #include "aes-ce-setkey.h" | ||||
| 
 | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
| 
 | ||||
| static int num_rounds(struct crypto_aes_ctx *ctx) | ||||
| { | ||||
|  |  | |||
|  | @ -1048,7 +1048,7 @@ static int __init aes_init(void) | |||
| 
 | ||||
| #ifdef USE_V8_CRYPTO_EXTENSIONS | ||||
| module_cpu_feature_match(AES, aes_init); | ||||
| EXPORT_SYMBOL_NS(ce_aes_mac_update, CRYPTO_INTERNAL); | ||||
| EXPORT_SYMBOL_NS(ce_aes_mac_update, "CRYPTO_INTERNAL"); | ||||
| #else | ||||
| module_init(aes_init); | ||||
| EXPORT_SYMBOL(neon_aes_ecb_encrypt); | ||||
|  |  | |||
|  | @ -74,4 +74,4 @@ MODULE_DESCRIPTION("IBM VMX cryptographic acceleration instructions " | |||
| 		   "support on Power 8"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_VERSION("1.0.0"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -1168,4 +1168,4 @@ MODULE_ALIAS_CRYPTO("aes-all"); | |||
| 
 | ||||
| MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -354,7 +354,7 @@ bool cpu_cache_has_invalidate_memregion(void) | |||
| { | ||||
| 	return !cpu_feature_enabled(X86_FEATURE_HYPERVISOR); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(cpu_cache_has_invalidate_memregion, DEVMEM); | ||||
| EXPORT_SYMBOL_NS_GPL(cpu_cache_has_invalidate_memregion, "DEVMEM"); | ||||
| 
 | ||||
| int cpu_cache_invalidate_memregion(int res_desc) | ||||
| { | ||||
|  | @ -363,7 +363,7 @@ int cpu_cache_invalidate_memregion(int res_desc) | |||
| 	wbinvd_on_all_cpus(); | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(cpu_cache_invalidate_memregion, DEVMEM); | ||||
| EXPORT_SYMBOL_NS_GPL(cpu_cache_invalidate_memregion, "DEVMEM"); | ||||
| #endif | ||||
| 
 | ||||
| static void __cpa_flush_all(void *arg) | ||||
|  |  | |||
|  | @ -646,4 +646,4 @@ MODULE_DESCRIPTION("Adiantum length-preserving encryption mode"); | |||
| MODULE_LICENSE("GPL v2"); | ||||
| MODULE_AUTHOR("Eric Biggers <ebiggers@google.com>"); | ||||
| MODULE_ALIAS_CRYPTO("adiantum"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -471,4 +471,4 @@ subsys_initcall(prng_mod_init); | |||
| module_exit(prng_mod_fini); | ||||
| MODULE_ALIAS_CRYPTO("stdrng"); | ||||
| MODULE_ALIAS_CRYPTO("ansi_cprng"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -949,4 +949,4 @@ MODULE_ALIAS_CRYPTO("ccm_base"); | |||
| MODULE_ALIAS_CRYPTO("rfc4309"); | ||||
| MODULE_ALIAS_CRYPTO("ccm"); | ||||
| MODULE_ALIAS_CRYPTO("cbcmac"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -53,7 +53,7 @@ int crypto_cipher_setkey(struct crypto_cipher *tfm, | |||
| 
 | ||||
| 	return cia->cia_setkey(crypto_cipher_tfm(tfm), key, keylen); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(crypto_cipher_setkey, CRYPTO_INTERNAL); | ||||
| EXPORT_SYMBOL_NS_GPL(crypto_cipher_setkey, "CRYPTO_INTERNAL"); | ||||
| 
 | ||||
| static inline void cipher_crypt_one(struct crypto_cipher *tfm, | ||||
| 				    u8 *dst, const u8 *src, bool enc) | ||||
|  | @ -81,14 +81,14 @@ void crypto_cipher_encrypt_one(struct crypto_cipher *tfm, | |||
| { | ||||
| 	cipher_crypt_one(tfm, dst, src, true); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(crypto_cipher_encrypt_one, CRYPTO_INTERNAL); | ||||
| EXPORT_SYMBOL_NS_GPL(crypto_cipher_encrypt_one, "CRYPTO_INTERNAL"); | ||||
| 
 | ||||
| void crypto_cipher_decrypt_one(struct crypto_cipher *tfm, | ||||
| 			       u8 *dst, const u8 *src) | ||||
| { | ||||
| 	cipher_crypt_one(tfm, dst, src, false); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(crypto_cipher_decrypt_one, CRYPTO_INTERNAL); | ||||
| EXPORT_SYMBOL_NS_GPL(crypto_cipher_decrypt_one, "CRYPTO_INTERNAL"); | ||||
| 
 | ||||
| struct crypto_cipher *crypto_clone_cipher(struct crypto_cipher *cipher) | ||||
| { | ||||
|  |  | |||
|  | @ -313,4 +313,4 @@ module_exit(crypto_cmac_module_exit); | |||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_DESCRIPTION("CMAC keyed hash algorithm"); | ||||
| MODULE_ALIAS_CRYPTO("cmac"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -357,4 +357,4 @@ MODULE_LICENSE("GPL"); | |||
| MODULE_DESCRIPTION("CTR block cipher mode of operation"); | ||||
| MODULE_ALIAS_CRYPTO("rfc3686"); | ||||
| MODULE_ALIAS_CRYPTO("ctr"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -2151,4 +2151,4 @@ MODULE_DESCRIPTION("NIST SP800-90A Deterministic Random Bit Generator (DRBG) " | |||
| 		   CRYPTO_DRBG_HMAC_STRING | ||||
| 		   CRYPTO_DRBG_CTR_STRING); | ||||
| MODULE_ALIAS_CRYPTO("stdrng"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -225,4 +225,4 @@ module_exit(crypto_ecb_module_exit); | |||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_DESCRIPTION("ECB block cipher mode of operation"); | ||||
| MODULE_ALIAS_CRYPTO("ecb"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -649,4 +649,4 @@ module_exit(essiv_module_exit); | |||
| MODULE_DESCRIPTION("ESSIV skcipher/aead wrapper for block encryption"); | ||||
| MODULE_LICENSE("GPL v2"); | ||||
| MODULE_ALIAS_CRYPTO("essiv"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -576,4 +576,4 @@ module_exit(hctr2_module_exit); | |||
| MODULE_DESCRIPTION("HCTR2 length-preserving encryption mode"); | ||||
| MODULE_LICENSE("GPL v2"); | ||||
| MODULE_ALIAS_CRYPTO("hctr2"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -317,4 +317,4 @@ MODULE_LICENSE("Dual BSD/GPL"); | |||
| MODULE_AUTHOR("Stephan Mueller <smueller@chronox.de>"); | ||||
| MODULE_DESCRIPTION("Key Wrapping (RFC3394 / NIST SP800-38F)"); | ||||
| MODULE_ALIAS_CRYPTO("kw"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -192,4 +192,4 @@ module_exit(crypto_pcbc_module_exit); | |||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_DESCRIPTION("PCBC block cipher mode of operation"); | ||||
| MODULE_ALIAS_CRYPTO("pcbc"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -1085,4 +1085,4 @@ EXPORT_SYMBOL_GPL(skcipher_alloc_instance_simple); | |||
| 
 | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_DESCRIPTION("Symmetric key cipher type"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ | |||
| 
 | ||||
| #include "internal.h" | ||||
| 
 | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
| 
 | ||||
| static bool notests; | ||||
| module_param(notests, bool, 0644); | ||||
|  |  | |||
|  | @ -693,4 +693,4 @@ module_exit(vmac_module_exit); | |||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_DESCRIPTION("VMAC hash algorithm"); | ||||
| MODULE_ALIAS_CRYPTO("vmac64"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -261,4 +261,4 @@ module_exit(crypto_xcbc_module_exit); | |||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_DESCRIPTION("XCBC keyed hash algorithm"); | ||||
| MODULE_ALIAS_CRYPTO("xcbc"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -188,4 +188,4 @@ module_exit(crypto_xctr_module_exit); | |||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_DESCRIPTION("XCTR block cipher mode of operation"); | ||||
| MODULE_ALIAS_CRYPTO("xctr"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
|  |  | |||
|  | @ -472,5 +472,5 @@ module_exit(xts_module_exit); | |||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_DESCRIPTION("XTS block cipher mode"); | ||||
| MODULE_ALIAS_CRYPTO("xts"); | ||||
| MODULE_IMPORT_NS(CRYPTO_INTERNAL); | ||||
| MODULE_IMPORT_NS("CRYPTO_INTERNAL"); | ||||
| MODULE_SOFTDEP("pre: ecb"); | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ | |||
| #include <linux/vmalloc.h> | ||||
| #include <linux/pci-p2pdma.h> | ||||
| 
 | ||||
| MODULE_IMPORT_NS(DMA_BUF); | ||||
| MODULE_IMPORT_NS("DMA_BUF"); | ||||
| 
 | ||||
| #define HL_MMU_DEBUG	0 | ||||
| 
 | ||||
|  |  | |||
|  | @ -32,7 +32,7 @@ | |||
| #include "qaic_timesync.h" | ||||
| #include "sahara.h" | ||||
| 
 | ||||
| MODULE_IMPORT_NS(DMA_BUF); | ||||
| MODULE_IMPORT_NS("DMA_BUF"); | ||||
| 
 | ||||
| #define PCI_DEV_AIC080			0xa080 | ||||
| #define PCI_DEV_AIC100			0xa100 | ||||
|  |  | |||
|  | @ -45,7 +45,7 @@ int einj_cxl_available_error_type_show(struct seq_file *m, void *v) | |||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(einj_cxl_available_error_type_show, CXL); | ||||
| EXPORT_SYMBOL_NS_GPL(einj_cxl_available_error_type_show, "CXL"); | ||||
| 
 | ||||
| static int cxl_dport_get_sbdf(struct pci_dev *dport_dev, u64 *sbdf) | ||||
| { | ||||
|  | @ -83,7 +83,7 @@ int einj_cxl_inject_rch_error(u64 rcrb, u64 type) | |||
| 	return einj_cxl_rch_error_inject(type, 0x2, rcrb, GENMASK_ULL(63, 0), | ||||
| 					 0, 0); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(einj_cxl_inject_rch_error, CXL); | ||||
| EXPORT_SYMBOL_NS_GPL(einj_cxl_inject_rch_error, "CXL"); | ||||
| 
 | ||||
| int einj_cxl_inject_error(struct pci_dev *dport, u64 type) | ||||
| { | ||||
|  | @ -104,10 +104,10 @@ int einj_cxl_inject_error(struct pci_dev *dport, u64 type) | |||
| 
 | ||||
| 	return einj_error_inject(type, 0x4, 0, 0, 0, param4); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(einj_cxl_inject_error, CXL); | ||||
| EXPORT_SYMBOL_NS_GPL(einj_cxl_inject_error, "CXL"); | ||||
| 
 | ||||
| bool einj_cxl_is_initialized(void) | ||||
| { | ||||
| 	return einj_initialized; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(einj_cxl_is_initialized, CXL); | ||||
| EXPORT_SYMBOL_NS_GPL(einj_cxl_is_initialized, "CXL"); | ||||
|  |  | |||
|  | @ -726,7 +726,7 @@ int cxl_cper_register_work(struct work_struct *work) | |||
| 	cxl_cper_work = work; | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(cxl_cper_register_work, CXL); | ||||
| EXPORT_SYMBOL_NS_GPL(cxl_cper_register_work, "CXL"); | ||||
| 
 | ||||
| int cxl_cper_unregister_work(struct work_struct *work) | ||||
| { | ||||
|  | @ -737,13 +737,13 @@ int cxl_cper_unregister_work(struct work_struct *work) | |||
| 	cxl_cper_work = NULL; | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(cxl_cper_unregister_work, CXL); | ||||
| EXPORT_SYMBOL_NS_GPL(cxl_cper_unregister_work, "CXL"); | ||||
| 
 | ||||
| int cxl_cper_kfifo_get(struct cxl_cper_work_data *wd) | ||||
| { | ||||
| 	return kfifo_get(&cxl_cper_fifo, wd); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(cxl_cper_kfifo_get, CXL); | ||||
| EXPORT_SYMBOL_NS_GPL(cxl_cper_kfifo_get, "CXL"); | ||||
| 
 | ||||
| static bool ghes_do_proc(struct ghes *ghes, | ||||
| 			 const struct acpi_hest_generic_status *estatus) | ||||
|  |  | |||
|  | @ -151,7 +151,7 @@ int acpi_get_genport_coordinates(u32 uid, | |||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(acpi_get_genport_coordinates, CXL); | ||||
| EXPORT_SYMBOL_NS_GPL(acpi_get_genport_coordinates, "CXL"); | ||||
| 
 | ||||
| static __init void alloc_memory_initiator(unsigned int cpu_pxm) | ||||
| { | ||||
|  |  | |||
|  | @ -1082,7 +1082,7 @@ static void __exit acpi_thermal_exit(void) | |||
| module_init(acpi_thermal_init); | ||||
| module_exit(acpi_thermal_exit); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(ACPI_THERMAL); | ||||
| MODULE_IMPORT_NS("ACPI_THERMAL"); | ||||
| MODULE_AUTHOR("Paul Diefenbaugh"); | ||||
| MODULE_DESCRIPTION("ACPI Thermal Zone Driver"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -53,25 +53,25 @@ int acpi_active_trip_temp(struct acpi_device *adev, int id, int *ret_temp) | |||
| 
 | ||||
| 	return acpi_trip_temp(adev, obj_name, ret_temp); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(acpi_active_trip_temp, ACPI_THERMAL); | ||||
| EXPORT_SYMBOL_NS_GPL(acpi_active_trip_temp, "ACPI_THERMAL"); | ||||
| 
 | ||||
| int acpi_passive_trip_temp(struct acpi_device *adev, int *ret_temp) | ||||
| { | ||||
| 	return acpi_trip_temp(adev, "_PSV", ret_temp); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(acpi_passive_trip_temp, ACPI_THERMAL); | ||||
| EXPORT_SYMBOL_NS_GPL(acpi_passive_trip_temp, "ACPI_THERMAL"); | ||||
| 
 | ||||
| int acpi_hot_trip_temp(struct acpi_device *adev, int *ret_temp) | ||||
| { | ||||
| 	return acpi_trip_temp(adev, "_HOT", ret_temp); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(acpi_hot_trip_temp, ACPI_THERMAL); | ||||
| EXPORT_SYMBOL_NS_GPL(acpi_hot_trip_temp, "ACPI_THERMAL"); | ||||
| 
 | ||||
| int acpi_critical_trip_temp(struct acpi_device *adev, int *ret_temp) | ||||
| { | ||||
| 	return acpi_trip_temp(adev, "_CRT", ret_temp); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(acpi_critical_trip_temp, ACPI_THERMAL); | ||||
| EXPORT_SYMBOL_NS_GPL(acpi_critical_trip_temp, "ACPI_THERMAL"); | ||||
| 
 | ||||
| static int thermal_temp(int error, int temp_decik, int *ret_temp) | ||||
| { | ||||
|  |  | |||
|  | @ -780,5 +780,5 @@ module_i2c_driver(ht16k33_driver); | |||
| 
 | ||||
| MODULE_DESCRIPTION("Holtek HT16K33 driver"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(LINEDISP); | ||||
| MODULE_IMPORT_NS("LINEDISP"); | ||||
| MODULE_AUTHOR("Robin van der Gracht <robin@protonic.nl>"); | ||||
|  |  | |||
|  | @ -298,4 +298,4 @@ module_platform_driver(img_ascii_lcd_driver); | |||
| MODULE_DESCRIPTION("Imagination Technologies ASCII LCD Display"); | ||||
| MODULE_AUTHOR("Paul Burton <paul.burton@mips.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(LINEDISP); | ||||
| MODULE_IMPORT_NS("LINEDISP"); | ||||
|  |  | |||
|  | @ -381,7 +381,7 @@ int linedisp_register(struct linedisp *linedisp, struct device *parent, | |||
| 	put_device(&linedisp->dev); | ||||
| 	return err; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(linedisp_register, LINEDISP); | ||||
| EXPORT_SYMBOL_NS_GPL(linedisp_register, "LINEDISP"); | ||||
| 
 | ||||
| /**
 | ||||
|  * linedisp_unregister - unregister a character line display | ||||
|  | @ -394,7 +394,7 @@ void linedisp_unregister(struct linedisp *linedisp) | |||
| 	del_timer_sync(&linedisp->timer); | ||||
| 	put_device(&linedisp->dev); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(linedisp_unregister, LINEDISP); | ||||
| EXPORT_SYMBOL_NS_GPL(linedisp_unregister, "LINEDISP"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Character line display core support"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -191,4 +191,4 @@ module_i2c_driver(max6959_i2c_driver); | |||
| MODULE_DESCRIPTION("MAX6958/6959 7-segment LED controller"); | ||||
| MODULE_AUTHOR("Andy Shevchenko <andriy.shevchenko@linux.intel.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(LINEDISP); | ||||
| MODULE_IMPORT_NS("LINEDISP"); | ||||
|  |  | |||
|  | @ -108,4 +108,4 @@ module_platform_driver(seg_led_driver); | |||
| MODULE_AUTHOR("Chris Packham <chris.packham@alliedtelesis.co.nz>"); | ||||
| MODULE_DESCRIPTION("7 segment LED driver"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(LINEDISP); | ||||
| MODULE_IMPORT_NS("LINEDISP"); | ||||
|  |  | |||
|  | @ -61,7 +61,7 @@ bool firmware_request_builtin(struct firmware *fw, const char *name) | |||
| 
 | ||||
| 	return false; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(firmware_request_builtin, TEST_FIRMWARE); | ||||
| EXPORT_SYMBOL_NS_GPL(firmware_request_builtin, "TEST_FIRMWARE"); | ||||
| 
 | ||||
| /**
 | ||||
|  * firmware_request_builtin_buf() - load builtin firmware into optional buffer | ||||
|  |  | |||
|  | @ -22,7 +22,7 @@ struct firmware_fallback_config fw_fallback_config = { | |||
| 	.loading_timeout = 60, | ||||
| 	.old_timeout = 60, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(fw_fallback_config, FIRMWARE_LOADER_PRIVATE); | ||||
| EXPORT_SYMBOL_NS_GPL(fw_fallback_config, "FIRMWARE_LOADER_PRIVATE"); | ||||
| 
 | ||||
| #ifdef CONFIG_SYSCTL | ||||
| static struct ctl_table firmware_config_table[] = { | ||||
|  | @ -56,13 +56,13 @@ int register_firmware_config_sysctl(void) | |||
| 		return -ENOMEM; | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(register_firmware_config_sysctl, FIRMWARE_LOADER_PRIVATE); | ||||
| EXPORT_SYMBOL_NS_GPL(register_firmware_config_sysctl, "FIRMWARE_LOADER_PRIVATE"); | ||||
| 
 | ||||
| void unregister_firmware_config_sysctl(void) | ||||
| { | ||||
| 	unregister_sysctl_table(firmware_config_sysct_table_header); | ||||
| 	firmware_config_sysct_table_header = NULL; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(unregister_firmware_config_sysctl, FIRMWARE_LOADER_PRIVATE); | ||||
| EXPORT_SYMBOL_NS_GPL(unregister_firmware_config_sysctl, "FIRMWARE_LOADER_PRIVATE"); | ||||
| 
 | ||||
| #endif /* CONFIG_SYSCTL */ | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| 
 | ||||
| #include "firmware.h" | ||||
| 
 | ||||
| MODULE_IMPORT_NS(FIRMWARE_LOADER_PRIVATE); | ||||
| MODULE_IMPORT_NS("FIRMWARE_LOADER_PRIVATE"); | ||||
| 
 | ||||
| extern struct firmware_fallback_config fw_fallback_config; | ||||
| extern struct device_attribute dev_attr_loading; | ||||
|  |  | |||
|  | @ -868,7 +868,7 @@ int cdx_device_add(struct cdx_dev_params *dev_params) | |||
| 
 | ||||
| 	return ret; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(cdx_device_add, CDX_BUS_CONTROLLER); | ||||
| EXPORT_SYMBOL_NS_GPL(cdx_device_add, "CDX_BUS_CONTROLLER"); | ||||
| 
 | ||||
| struct device *cdx_bus_add(struct cdx_controller *cdx, u8 bus_num) | ||||
| { | ||||
|  | @ -915,7 +915,7 @@ struct device *cdx_bus_add(struct cdx_controller *cdx, u8 bus_num) | |||
| 
 | ||||
| 	return NULL; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(cdx_bus_add, CDX_BUS_CONTROLLER); | ||||
| EXPORT_SYMBOL_NS_GPL(cdx_bus_add, "CDX_BUS_CONTROLLER"); | ||||
| 
 | ||||
| int cdx_register_controller(struct cdx_controller *cdx) | ||||
| { | ||||
|  | @ -940,7 +940,7 @@ int cdx_register_controller(struct cdx_controller *cdx) | |||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(cdx_register_controller, CDX_BUS_CONTROLLER); | ||||
| EXPORT_SYMBOL_NS_GPL(cdx_register_controller, "CDX_BUS_CONTROLLER"); | ||||
| 
 | ||||
| void cdx_unregister_controller(struct cdx_controller *cdx) | ||||
| { | ||||
|  | @ -955,7 +955,7 @@ void cdx_unregister_controller(struct cdx_controller *cdx) | |||
| 
 | ||||
| 	mutex_unlock(&cdx_controller_lock); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(cdx_unregister_controller, CDX_BUS_CONTROLLER); | ||||
| EXPORT_SYMBOL_NS_GPL(cdx_unregister_controller, "CDX_BUS_CONTROLLER"); | ||||
| 
 | ||||
| static int __init cdx_bus_init(void) | ||||
| { | ||||
|  |  | |||
|  | @ -189,4 +189,4 @@ struct irq_domain *cdx_msi_domain_init(struct device *dev) | |||
| 
 | ||||
| 	return cdx_msi_domain; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(cdx_msi_domain_init, CDX_BUS_CONTROLLER); | ||||
| EXPORT_SYMBOL_NS_GPL(cdx_msi_domain_init, "CDX_BUS_CONTROLLER"); | ||||
|  |  | |||
|  | @ -275,4 +275,4 @@ module_exit(cdx_controller_exit); | |||
| MODULE_AUTHOR("AMD Inc."); | ||||
| MODULE_DESCRIPTION("CDX controller for AMD devices"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CDX_BUS_CONTROLLER); | ||||
| MODULE_IMPORT_NS("CDX_BUS_CONTROLLER"); | ||||
|  |  | |||
|  | @ -2246,4 +2246,4 @@ MODULE_DESCRIPTION("Amlogic A1 Peripherals Clock Controller driver"); | |||
| MODULE_AUTHOR("Jian Hu <jian.hu@amlogic.com>"); | ||||
| MODULE_AUTHOR("Dmitry Rokosov <ddrokosov@sberdevices.ru>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -360,4 +360,4 @@ MODULE_DESCRIPTION("Amlogic S4 PLL Clock Controller driver"); | |||
| MODULE_AUTHOR("Jian Hu <jian.hu@amlogic.com>"); | ||||
| MODULE_AUTHOR("Dmitry Rokosov <ddrokosov@sberdevices.ru>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -342,4 +342,4 @@ module_platform_driver(axg_aoclkc_driver); | |||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic AXG Always-ON Clock Controller driver"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -1821,4 +1821,4 @@ module_platform_driver(axg_audio_driver); | |||
| MODULE_DESCRIPTION("Amlogic AXG/G12A/SM1 Audio Clock driver"); | ||||
| MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -2181,4 +2181,4 @@ module_platform_driver(axg_driver); | |||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic AXG Main Clock Controller driver"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -2364,4 +2364,4 @@ module_platform_driver(c3_peripherals_driver); | |||
| MODULE_DESCRIPTION("Amlogic C3 Peripherals Clock Controller driver"); | ||||
| MODULE_AUTHOR("Chuan Liu <chuan.liu@amlogic.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -746,4 +746,4 @@ module_platform_driver(c3_pll_driver); | |||
| MODULE_DESCRIPTION("Amlogic C3 PLL Clock Controller driver"); | ||||
| MODULE_AUTHOR("Chuan Liu <chuan.liu@amlogic.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -65,9 +65,9 @@ const struct clk_ops meson_clk_cpu_dyndiv_ops = { | |||
| 	.determine_rate = meson_clk_cpu_dyndiv_determine_rate, | ||||
| 	.set_rate = meson_clk_cpu_dyndiv_set_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_cpu_dyndiv_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_cpu_dyndiv_ops, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic CPU Dynamic Clock divider"); | ||||
| MODULE_AUTHOR("Neil Armstrong <narmstrong@baylibre.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -130,15 +130,15 @@ const struct clk_ops meson_clk_dualdiv_ops = { | |||
| 	.determine_rate	= meson_clk_dualdiv_determine_rate, | ||||
| 	.set_rate	= meson_clk_dualdiv_set_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_dualdiv_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_dualdiv_ops, "CLK_MESON"); | ||||
| 
 | ||||
| const struct clk_ops meson_clk_dualdiv_ro_ops = { | ||||
| 	.recalc_rate	= meson_clk_dualdiv_recalc_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_dualdiv_ro_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_dualdiv_ro_ops, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic dual divider driver"); | ||||
| MODULE_AUTHOR("Neil Armstrong <narmstrong@baylibre.com>"); | ||||
| MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -154,7 +154,7 @@ const struct clk_ops meson_clk_mpll_ro_ops = { | |||
| 	.recalc_rate	= mpll_recalc_rate, | ||||
| 	.determine_rate	= mpll_determine_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_mpll_ro_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_mpll_ro_ops, "CLK_MESON"); | ||||
| 
 | ||||
| const struct clk_ops meson_clk_mpll_ops = { | ||||
| 	.recalc_rate	= mpll_recalc_rate, | ||||
|  | @ -162,9 +162,9 @@ const struct clk_ops meson_clk_mpll_ops = { | |||
| 	.set_rate	= mpll_set_rate, | ||||
| 	.init		= mpll_init, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_mpll_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_mpll_ops, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic MPLL driver"); | ||||
| MODULE_AUTHOR("Michael Turquette <mturquette@baylibre.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -61,7 +61,7 @@ const struct clk_ops meson_clk_phase_ops = { | |||
| 	.get_phase	= meson_clk_phase_get_phase, | ||||
| 	.set_phase	= meson_clk_phase_set_phase, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_phase_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_phase_ops, "CLK_MESON"); | ||||
| 
 | ||||
| /*
 | ||||
|  * This is a special clock for the audio controller. | ||||
|  | @ -123,7 +123,7 @@ const struct clk_ops meson_clk_triphase_ops = { | |||
| 	.get_phase	= meson_clk_triphase_get_phase, | ||||
| 	.set_phase	= meson_clk_triphase_set_phase, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_triphase_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_triphase_ops, "CLK_MESON"); | ||||
| 
 | ||||
| /*
 | ||||
|  * This is a special clock for the audio controller. | ||||
|  | @ -178,9 +178,9 @@ const struct clk_ops meson_sclk_ws_inv_ops = { | |||
| 	.get_phase	= meson_sclk_ws_inv_get_phase, | ||||
| 	.set_phase	= meson_sclk_ws_inv_set_phase, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_sclk_ws_inv_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_sclk_ws_inv_ops, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic phase driver"); | ||||
| MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -474,7 +474,7 @@ const struct clk_ops meson_clk_pcie_pll_ops = { | |||
| 	.enable		= meson_clk_pcie_pll_enable, | ||||
| 	.disable	= meson_clk_pll_disable | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_pcie_pll_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_pcie_pll_ops, "CLK_MESON"); | ||||
| 
 | ||||
| const struct clk_ops meson_clk_pll_ops = { | ||||
| 	.init		= meson_clk_pll_init, | ||||
|  | @ -485,16 +485,16 @@ const struct clk_ops meson_clk_pll_ops = { | |||
| 	.enable		= meson_clk_pll_enable, | ||||
| 	.disable	= meson_clk_pll_disable | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_pll_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_pll_ops, "CLK_MESON"); | ||||
| 
 | ||||
| const struct clk_ops meson_clk_pll_ro_ops = { | ||||
| 	.recalc_rate	= meson_clk_pll_recalc_rate, | ||||
| 	.is_enabled	= meson_clk_pll_is_enabled, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_pll_ro_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_pll_ro_ops, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic PLL driver"); | ||||
| MODULE_AUTHOR("Carlo Caione <carlo@endlessm.com>"); | ||||
| MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -49,12 +49,12 @@ const struct clk_ops clk_regmap_gate_ops = { | |||
| 	.disable = clk_regmap_gate_disable, | ||||
| 	.is_enabled = clk_regmap_gate_is_enabled, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_gate_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_gate_ops, "CLK_MESON"); | ||||
| 
 | ||||
| const struct clk_ops clk_regmap_gate_ro_ops = { | ||||
| 	.is_enabled = clk_regmap_gate_is_enabled, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_gate_ro_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_gate_ro_ops, "CLK_MESON"); | ||||
| 
 | ||||
| static unsigned long clk_regmap_div_recalc_rate(struct clk_hw *hw, | ||||
| 						unsigned long prate) | ||||
|  | @ -125,13 +125,13 @@ const struct clk_ops clk_regmap_divider_ops = { | |||
| 	.determine_rate = clk_regmap_div_determine_rate, | ||||
| 	.set_rate = clk_regmap_div_set_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_divider_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_divider_ops, "CLK_MESON"); | ||||
| 
 | ||||
| const struct clk_ops clk_regmap_divider_ro_ops = { | ||||
| 	.recalc_rate = clk_regmap_div_recalc_rate, | ||||
| 	.determine_rate = clk_regmap_div_determine_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_divider_ro_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_divider_ro_ops, "CLK_MESON"); | ||||
| 
 | ||||
| static u8 clk_regmap_mux_get_parent(struct clk_hw *hw) | ||||
| { | ||||
|  | @ -174,14 +174,14 @@ const struct clk_ops clk_regmap_mux_ops = { | |||
| 	.set_parent = clk_regmap_mux_set_parent, | ||||
| 	.determine_rate = clk_regmap_mux_determine_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_mux_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_mux_ops, "CLK_MESON"); | ||||
| 
 | ||||
| const struct clk_ops clk_regmap_mux_ro_ops = { | ||||
| 	.get_parent = clk_regmap_mux_get_parent, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_mux_ro_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(clk_regmap_mux_ro_ops, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic regmap backed clock driver"); | ||||
| MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -477,4 +477,4 @@ module_platform_driver(g12a_aoclkc_driver); | |||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic G12A Always-ON Clock Controller driver"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -5610,4 +5610,4 @@ module_platform_driver(g12a_driver); | |||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic G12/SM1 Main Clock Controller driver"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -303,4 +303,4 @@ module_platform_driver(gxbb_aoclkc_driver); | |||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic GXBB Always-ON Clock Controller driver"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -3565,4 +3565,4 @@ module_platform_driver(gxbb_driver); | |||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic GXBB Main Clock Controller driver"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -88,8 +88,8 @@ int meson_aoclkc_probe(struct platform_device *pdev) | |||
| 
 | ||||
| 	return devm_of_clk_add_hw_provider(dev, meson_clk_hw_get, (void *)&data->hw_clks); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(meson_aoclkc_probe, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_aoclkc_probe, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic Always-ON Clock Controller helpers"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -20,8 +20,8 @@ struct clk_hw *meson_clk_hw_get(struct of_phandle_args *clkspec, void *clk_hw_da | |||
| 
 | ||||
| 	return data->hws[idx]; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_hw_get, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_clk_hw_get, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic Clock Controller Utilities"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -57,8 +57,8 @@ int meson_eeclkc_probe(struct platform_device *pdev) | |||
| 
 | ||||
| 	return devm_of_clk_add_hw_provider(dev, meson_clk_hw_get, (void *)&data->hw_clks); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(meson_eeclkc_probe, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_eeclkc_probe, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic Main Clock Controller Helpers"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -3814,4 +3814,4 @@ module_platform_driver(s4_driver); | |||
| MODULE_DESCRIPTION("Amlogic S4 Peripherals Clock Controller driver"); | ||||
| MODULE_AUTHOR("Yu Tu <yu.tu@amlogic.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -872,4 +872,4 @@ module_platform_driver(s4_driver); | |||
| MODULE_DESCRIPTION("Amlogic S4 PLL Clock Controller driver"); | ||||
| MODULE_AUTHOR("Yu Tu <yu.tu@amlogic.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -247,9 +247,9 @@ const struct clk_ops meson_sclk_div_ops = { | |||
| 	.set_duty_cycle = sclk_div_set_duty_cycle, | ||||
| 	.init		= sclk_div_init, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_sclk_div_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_sclk_div_ops, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic Sample divider driver"); | ||||
| MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -49,7 +49,7 @@ const struct clk_ops meson_vclk_gate_ops = { | |||
| 	.disable = meson_vclk_gate_disable, | ||||
| 	.is_enabled = meson_vclk_gate_is_enabled, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_vclk_gate_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_vclk_gate_ops, "CLK_MESON"); | ||||
| 
 | ||||
| /* The VCLK Divider has supplementary reset & enable bits */ | ||||
| 
 | ||||
|  | @ -134,9 +134,9 @@ const struct clk_ops meson_vclk_div_ops = { | |||
| 	.disable = meson_vclk_div_disable, | ||||
| 	.is_enabled = meson_vclk_div_is_enabled, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_vclk_div_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_vclk_div_ops, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic vclk clock driver"); | ||||
| MODULE_AUTHOR("Neil Armstrong <neil.armstrong@linaro.org>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -92,9 +92,9 @@ static unsigned long meson_vid_pll_div_recalc_rate(struct clk_hw *hw, | |||
| const struct clk_ops meson_vid_pll_div_ro_ops = { | ||||
| 	.recalc_rate	= meson_vid_pll_div_recalc_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(meson_vid_pll_div_ro_ops, CLK_MESON); | ||||
| EXPORT_SYMBOL_NS_GPL(meson_vid_pll_div_ro_ops, "CLK_MESON"); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Amlogic video pll divider driver"); | ||||
| MODULE_AUTHOR("Neil Armstrong <narmstrong@baylibre.com>"); | ||||
| MODULE_LICENSE("GPL"); | ||||
| MODULE_IMPORT_NS(CLK_MESON); | ||||
| MODULE_IMPORT_NS("CLK_MESON"); | ||||
|  |  | |||
|  | @ -443,4 +443,4 @@ MODULE_DESCRIPTION("Microchip PolarFire SoC Clock Driver"); | |||
| MODULE_AUTHOR("Padmarao Begari <padmarao.begari@microchip.com>"); | ||||
| MODULE_AUTHOR("Daire McNamara <daire.mcnamara@microchip.com>"); | ||||
| MODULE_AUTHOR("Conor Dooley <conor.dooley@microchip.com>"); | ||||
| MODULE_IMPORT_NS(MCHP_CLK_MPFS); | ||||
| MODULE_IMPORT_NS("MCHP_CLK_MPFS"); | ||||
|  |  | |||
|  | @ -137,6 +137,6 @@ static struct platform_driver sun20i_d1_r_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun20i_d1_r_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner D1/R528/T113 PRCM CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -1406,6 +1406,6 @@ static struct platform_driver sun20i_d1_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun20i_d1_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner D1/R528/T113 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -1493,6 +1493,6 @@ static struct platform_driver sun4i_a10_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun4i_a10_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A10/A20 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -214,6 +214,6 @@ static struct platform_driver sun50i_a100_r_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun50i_a100_r_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A100 PRCM CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -1276,6 +1276,6 @@ static struct platform_driver sun50i_a100_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun50i_a100_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A100 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -994,6 +994,6 @@ static struct platform_driver sun50i_a64_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun50i_a64_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A64 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -256,6 +256,6 @@ static struct platform_driver sun50i_h6_r_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun50i_h6_r_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner H6 and H616 PRCM CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -1286,6 +1286,6 @@ static struct platform_driver sun50i_h6_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun50i_h6_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner H6 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -1185,6 +1185,6 @@ static struct platform_driver sun50i_h616_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun50i_h616_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner H616 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -1283,6 +1283,6 @@ static struct platform_driver sun6i_a31_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun6i_a31_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A31/A31s CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -381,6 +381,6 @@ int sun6i_rtc_ccu_probe(struct device *dev, void __iomem *reg) | |||
| 	return devm_sunxi_ccu_probe(dev, reg, &sun6i_rtc_ccu_desc); | ||||
| } | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner H616/R329 RTC CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -763,6 +763,6 @@ static struct platform_driver sun8i_a23_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun8i_a23_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A23 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -835,6 +835,6 @@ static struct platform_driver sun8i_a33_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun8i_a33_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A33 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -923,6 +923,6 @@ static struct platform_driver sun8i_a83t_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun8i_a83t_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A83T CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -348,6 +348,6 @@ static struct platform_driver sunxi_de2_clk_driver = { | |||
| }; | ||||
| module_platform_driver(sunxi_de2_clk_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner SoCs DE2 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -1094,6 +1094,6 @@ static struct platform_driver sun8i_h3_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun8i_h3_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner H3 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -274,6 +274,6 @@ static struct platform_driver sun8i_r_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun8i_r_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for Allwinner SoCs' PRCM CCUs"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -1375,6 +1375,6 @@ static struct platform_driver sun8i_r40_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun8i_r40_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner R40 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -780,6 +780,6 @@ static struct platform_driver sun8i_v3s_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun8i_v3s_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner V3s CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -266,6 +266,6 @@ static struct platform_driver sun9i_a80_de_clk_driver = { | |||
| }; | ||||
| module_platform_driver(sun9i_a80_de_clk_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A80 Display Engine CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -138,6 +138,6 @@ static struct platform_driver sun9i_a80_usb_clk_driver = { | |||
| }; | ||||
| module_platform_driver(sun9i_a80_usb_clk_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A80 USB CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -1248,6 +1248,6 @@ static struct platform_driver sun9i_a80_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(sun9i_a80_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner A80 CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -577,6 +577,6 @@ static struct platform_driver suniv_f1c100s_ccu_driver = { | |||
| }; | ||||
| module_platform_driver(suniv_f1c100s_ccu_driver); | ||||
| 
 | ||||
| MODULE_IMPORT_NS(SUNXI_CCU); | ||||
| MODULE_IMPORT_NS("SUNXI_CCU"); | ||||
| MODULE_DESCRIPTION("Support for the Allwinner newer F1C100s CCU"); | ||||
| MODULE_LICENSE("GPL"); | ||||
|  |  | |||
|  | @ -37,7 +37,7 @@ void ccu_helper_wait_for_lock(struct ccu_common *common, u32 lock) | |||
| 
 | ||||
| 	WARN_ON(readl_relaxed_poll_timeout(addr, reg, reg & lock, 100, 70000)); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_helper_wait_for_lock, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_helper_wait_for_lock, "SUNXI_CCU"); | ||||
| 
 | ||||
| bool ccu_is_better_rate(struct ccu_common *common, | ||||
| 			unsigned long target_rate, | ||||
|  | @ -59,7 +59,7 @@ bool ccu_is_better_rate(struct ccu_common *common, | |||
| 
 | ||||
| 	return current_rate <= target_rate && current_rate > best_rate; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_is_better_rate, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_is_better_rate, "SUNXI_CCU"); | ||||
| 
 | ||||
| /*
 | ||||
|  * This clock notifier is called when the frequency of a PLL clock is | ||||
|  | @ -107,7 +107,7 @@ int ccu_pll_notifier_register(struct ccu_pll_nb *pll_nb) | |||
| 	return clk_notifier_register(pll_nb->common->hw.clk, | ||||
| 				     &pll_nb->clk_nb); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_pll_notifier_register, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_pll_notifier_register, "SUNXI_CCU"); | ||||
| 
 | ||||
| static int sunxi_ccu_probe(struct sunxi_ccu *ccu, struct device *dev, | ||||
| 			   struct device_node *node, void __iomem *reg, | ||||
|  | @ -234,7 +234,7 @@ int devm_sunxi_ccu_probe(struct device *dev, void __iomem *reg, | |||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(devm_sunxi_ccu_probe, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(devm_sunxi_ccu_probe, "SUNXI_CCU"); | ||||
| 
 | ||||
| void of_sunxi_ccu_probe(struct device_node *node, void __iomem *reg, | ||||
| 			const struct sunxi_ccu_desc *desc) | ||||
|  |  | |||
|  | @ -141,4 +141,4 @@ const struct clk_ops ccu_div_ops = { | |||
| 	.recalc_rate	= ccu_div_recalc_rate, | ||||
| 	.set_rate	= ccu_div_set_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_div_ops, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_div_ops, "SUNXI_CCU"); | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ bool ccu_frac_helper_is_enabled(struct ccu_common *common, | |||
| 
 | ||||
| 	return !(readl(common->base + common->reg) & cf->enable); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_is_enabled, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_is_enabled, "SUNXI_CCU"); | ||||
| 
 | ||||
| void ccu_frac_helper_enable(struct ccu_common *common, | ||||
| 			    struct ccu_frac_internal *cf) | ||||
|  | @ -34,7 +34,7 @@ void ccu_frac_helper_enable(struct ccu_common *common, | |||
| 	writel(reg & ~cf->enable, common->base + common->reg); | ||||
| 	spin_unlock_irqrestore(common->lock, flags); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_enable, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_enable, "SUNXI_CCU"); | ||||
| 
 | ||||
| void ccu_frac_helper_disable(struct ccu_common *common, | ||||
| 			     struct ccu_frac_internal *cf) | ||||
|  | @ -50,7 +50,7 @@ void ccu_frac_helper_disable(struct ccu_common *common, | |||
| 	writel(reg | cf->enable, common->base + common->reg); | ||||
| 	spin_unlock_irqrestore(common->lock, flags); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_disable, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_disable, "SUNXI_CCU"); | ||||
| 
 | ||||
| bool ccu_frac_helper_has_rate(struct ccu_common *common, | ||||
| 			      struct ccu_frac_internal *cf, | ||||
|  | @ -61,7 +61,7 @@ bool ccu_frac_helper_has_rate(struct ccu_common *common, | |||
| 
 | ||||
| 	return (cf->rates[0] == rate) || (cf->rates[1] == rate); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_has_rate, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_has_rate, "SUNXI_CCU"); | ||||
| 
 | ||||
| unsigned long ccu_frac_helper_read_rate(struct ccu_common *common, | ||||
| 					struct ccu_frac_internal *cf) | ||||
|  | @ -83,7 +83,7 @@ unsigned long ccu_frac_helper_read_rate(struct ccu_common *common, | |||
| 
 | ||||
| 	return (reg & cf->select) ? cf->rates[1] : cf->rates[0]; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_read_rate, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_read_rate, "SUNXI_CCU"); | ||||
| 
 | ||||
| int ccu_frac_helper_set_rate(struct ccu_common *common, | ||||
| 			     struct ccu_frac_internal *cf, | ||||
|  | @ -112,4 +112,4 @@ int ccu_frac_helper_set_rate(struct ccu_common *common, | |||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_set_rate, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_frac_helper_set_rate, "SUNXI_CCU"); | ||||
|  |  | |||
|  | @ -24,7 +24,7 @@ void ccu_gate_helper_disable(struct ccu_common *common, u32 gate) | |||
| 
 | ||||
| 	spin_unlock_irqrestore(common->lock, flags); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_gate_helper_disable, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_gate_helper_disable, "SUNXI_CCU"); | ||||
| 
 | ||||
| static void ccu_gate_disable(struct clk_hw *hw) | ||||
| { | ||||
|  | @ -50,7 +50,7 @@ int ccu_gate_helper_enable(struct ccu_common *common, u32 gate) | |||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_gate_helper_enable, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_gate_helper_enable, "SUNXI_CCU"); | ||||
| 
 | ||||
| static int ccu_gate_enable(struct clk_hw *hw) | ||||
| { | ||||
|  | @ -66,7 +66,7 @@ int ccu_gate_helper_is_enabled(struct ccu_common *common, u32 gate) | |||
| 
 | ||||
| 	return readl(common->base + common->reg) & gate; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_gate_helper_is_enabled, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_gate_helper_is_enabled, "SUNXI_CCU"); | ||||
| 
 | ||||
| static int ccu_gate_is_enabled(struct clk_hw *hw) | ||||
| { | ||||
|  | @ -127,4 +127,4 @@ const struct clk_ops ccu_gate_ops = { | |||
| 	.set_rate	= ccu_gate_set_rate, | ||||
| 	.recalc_rate	= ccu_gate_recalc_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_gate_ops, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_gate_ops, "SUNXI_CCU"); | ||||
|  |  | |||
|  | @ -246,7 +246,7 @@ const struct clk_ops ccu_mp_ops = { | |||
| 	.recalc_rate	= ccu_mp_recalc_rate, | ||||
| 	.set_rate	= ccu_mp_set_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mp_ops, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mp_ops, "SUNXI_CCU"); | ||||
| 
 | ||||
| /*
 | ||||
|  * Support for MMC timing mode switching | ||||
|  | @ -327,4 +327,4 @@ const struct clk_ops ccu_mp_mmc_ops = { | |||
| 	.recalc_rate	= ccu_mp_mmc_recalc_rate, | ||||
| 	.set_rate	= ccu_mp_mmc_set_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mp_mmc_ops, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mp_mmc_ops, "SUNXI_CCU"); | ||||
|  |  | |||
|  | @ -170,4 +170,4 @@ const struct clk_ops ccu_mult_ops = { | |||
| 	.recalc_rate	= ccu_mult_recalc_rate, | ||||
| 	.set_rate	= ccu_mult_set_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mult_ops, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mult_ops, "SUNXI_CCU"); | ||||
|  |  | |||
|  | @ -66,7 +66,7 @@ unsigned long ccu_mux_helper_apply_prediv(struct ccu_common *common, | |||
| { | ||||
| 	return parent_rate / ccu_mux_get_prediv(common, cm, parent_index); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_helper_apply_prediv, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_helper_apply_prediv, "SUNXI_CCU"); | ||||
| 
 | ||||
| static unsigned long ccu_mux_helper_unapply_prediv(struct ccu_common *common, | ||||
| 					    struct ccu_mux_internal *cm, | ||||
|  | @ -155,7 +155,7 @@ int ccu_mux_helper_determine_rate(struct ccu_common *common, | |||
| 	req->rate = best_rate; | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_helper_determine_rate, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_helper_determine_rate, "SUNXI_CCU"); | ||||
| 
 | ||||
| u8 ccu_mux_helper_get_parent(struct ccu_common *common, | ||||
| 			     struct ccu_mux_internal *cm) | ||||
|  | @ -178,7 +178,7 @@ u8 ccu_mux_helper_get_parent(struct ccu_common *common, | |||
| 
 | ||||
| 	return parent; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_helper_get_parent, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_helper_get_parent, "SUNXI_CCU"); | ||||
| 
 | ||||
| int ccu_mux_helper_set_parent(struct ccu_common *common, | ||||
| 			      struct ccu_mux_internal *cm, | ||||
|  | @ -205,7 +205,7 @@ int ccu_mux_helper_set_parent(struct ccu_common *common, | |||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_helper_set_parent, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_helper_set_parent, "SUNXI_CCU"); | ||||
| 
 | ||||
| static void ccu_mux_disable(struct clk_hw *hw) | ||||
| { | ||||
|  | @ -273,7 +273,7 @@ const struct clk_ops ccu_mux_ops = { | |||
| 	.determine_rate	= ccu_mux_determine_rate, | ||||
| 	.recalc_rate	= ccu_mux_recalc_rate, | ||||
| }; | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_ops, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_ops, "SUNXI_CCU"); | ||||
| 
 | ||||
| /*
 | ||||
|  * This clock notifier is called when the frequency of the of the parent | ||||
|  | @ -308,4 +308,4 @@ int ccu_mux_notifier_register(struct clk *clk, struct ccu_mux_nb *mux_nb) | |||
| 
 | ||||
| 	return clk_notifier_register(clk, &mux_nb->clk_nb); | ||||
| } | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_notifier_register, SUNXI_CCU); | ||||
| EXPORT_SYMBOL_NS_GPL(ccu_mux_notifier_register, "SUNXI_CCU"); | ||||
|  |  | |||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
		Reference in a new issue
	
	 Peter Zijlstra
						Peter Zijlstra