/* * module_amba_driver() - Helper macro for drivers that don't do anything * special in module init/exit. This eliminates a lot of boilerplate. Each * module may only use this macro once, and calling it replaces module_init() * and module_exit() */ #define module_amba_driver(__amba_drv) \ module_driver(__amba_drv, amba_driver_register, amba_driver_unregister)
#define module_driver(__driver, __register, __unregister, ...) \ static int __init __driver##_init(void) \ { \ return __register(&(__driver) , ##__VA_ARGS__); \ }
drivers/amba/Kconfig:2:config ARM_AMBA
root@ubuntu:~/linux_arm64/linux-5.14# grep ARM64 .config CONFIG_ARM64=y
root@ubuntu:~/linux_arm64/linux-5.14# grep ARM_AMBA .config CONFIG_ARM_AMBA=y
drivers/amba/Makefile:2:obj-$(CONFIG_ARM_AMBA) += bus.o include/linux/amba/bus.h:108:#ifdef CONFIG_ARM_AMBA
drivers/amba/bus.c
EXPORT_SYMBOL(amba_driver_register);
EXPORT_SYMBOL(amba_driver_unregister);
EXPORT_SYMBOL(amba_device_register);
EXPORT_SYMBOL(amba_device_unregister);
EXPORT_SYMBOL(amba_find_device);
EXPORT_SYMBOL(amba_request_regions);
EXPORT_SYMBOL(amba_release_regions);
root@ubuntu:~/linux_arm64/linux-5.14# grep ARM_SP805_WATCHDOG .config CONFIG_ARM_SP805_WATCHDOG=m root@ubuntu:~/linux_arm64/linux-5.14# lscpu Architecture: aarch64 Byte Order: Little Endian CPU(s): 64 On-line CPU(s) list: 0-63 Thread(s) per core: 1 Core(s) per socket: 32 Socket(s): 2 NUMA node(s): 4 Vendor ID: ARM Model: 2 Model name: Cortex-A72 Stepping: r0p2 BogoMIPS: 100.00 L1d cache: 32K L1i cache: 48K L2 cache: 1024K L3 cache: 16384K NUMA node0 CPU(s): 0-15 NUMA node1 CPU(s): 16-31 NUMA node2 CPU(s): 32-47 NUMA node3 CPU(s): 48-63 Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid root@ubuntu:~/linux_arm64/linux-5.14#
riscv SP805
# ALPHA Architecture # ARM Architecture config ARM_SP805_WATCHDOG tristate "ARM SP805 Watchdog" depends on (ARM || ARM64 || COMPILE_TEST) && ARM_AMBA select WATCHDOG_CORE help ARM Primecell SP805 Watchdog timer. This will reboot your system when the timeout is reached.
[root@centos7 linux-5.14]# grep SP805 .config CONFIG_ARM_SP805_WATCHDOG=y [root@centos7 linux-5.14]#