Introduce ARCH_NO_SYSDEV_OPS config option (v2)
Introduce Kconfig option allowing architectures where sysdev operations used during system suspend, resume and shutdown have been completely replaced with struct sycore_ops operations to avoid building sysdev code that will never be used. Make callbacks in struct sys_device and struct sysdev_driver depend on ARCH_NO_SYSDEV_OPS to allows us to verify if all of the references have been actually removed from the code the given architecture depends on. Make x86 select ARCH_NO_SYSDEV_OPS. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
This commit is contained in:
@@ -168,4 +168,11 @@ config SYS_HYPERVISOR
|
||||
bool
|
||||
default n
|
||||
|
||||
config ARCH_NO_SYSDEV_OPS
|
||||
bool
|
||||
---help---
|
||||
To be selected by architectures that don't use sysdev class or
|
||||
sysdev driver power management (suspend/resume) and shutdown
|
||||
operations.
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -329,7 +329,7 @@ void sysdev_unregister(struct sys_device *sysdev)
|
||||
}
|
||||
|
||||
|
||||
|
||||
#ifndef CONFIG_ARCH_NO_SYSDEV_OPS
|
||||
/**
|
||||
* sysdev_shutdown - Shut down all system devices.
|
||||
*
|
||||
@@ -524,6 +524,7 @@ int sysdev_resume(void)
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sysdev_resume);
|
||||
#endif /* CONFIG_ARCH_NO_SYSDEV_OPS */
|
||||
|
||||
int __init system_bus_init(void)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user