static LIST_HEAD(syscore_ops_list);static DEFINE_MUTEX(syscore_ops_lock);/** * register_syscore_ops - Register a set of system core operations. * @ops: System core operations to register. */void register_syscore_ops(struct syscore_ops *ops){ mutex_lock(&syscore_ops_lock); list_add_tail(&ops->node, &syscore_ops_list); mutex_unlock(&syscore_ops_lock);}EXPORT_SYMBOL_GPL(register_syscore_ops);/** * unregister_syscore_ops - Unregister a set of system core operations. * @ops: System core operations to unregister. */void unregister_syscore_ops(struct syscore_ops *ops){ mutex_lock(&syscore_ops_lock); list_del(&ops->node); mutex_unlock(&syscore_ops_lock);}EXPORT_SYMBOL_GPL(unregister_syscore_ops);
