Fix duplicate atomic_t typedef conflicting with types.h
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _LINUX_SMPBOOT_H
|
||||
#define _LINUX_SMPBOOT_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct task_struct;
|
||||
/* Cookie handed to the thread_fn*/
|
||||
struct smpboot_thread_data;
|
||||
|
||||
/**
|
||||
* struct smp_hotplug_thread - CPU hotplug related thread descriptor
|
||||
* @store: Pointer to per cpu storage for the task pointers
|
||||
* @list: List head for core management
|
||||
* @thread_should_run: Check whether the thread should run or not. Called with
|
||||
* preemption disabled.
|
||||
* @thread_fn: The associated thread function
|
||||
* @create: Optional setup function, called when the thread gets
|
||||
* created (Not called from the thread context)
|
||||
* @setup: Optional setup function, called when the thread gets
|
||||
* operational the first time
|
||||
* @cleanup: Optional cleanup function, called when the thread
|
||||
* should stop (module exit)
|
||||
* @park: Optional park function, called when the thread is
|
||||
* parked (cpu offline)
|
||||
* @unpark: Optional unpark function, called when the thread is
|
||||
* unparked (cpu online)
|
||||
* @selfparking: Thread is not parked by the park function.
|
||||
* @thread_comm: The base name of the thread
|
||||
*/
|
||||
struct smp_hotplug_thread {
|
||||
struct task_struct * __percpu *store;
|
||||
struct list_head list;
|
||||
int (*thread_should_run)(unsigned int cpu);
|
||||
void (*thread_fn)(unsigned int cpu);
|
||||
void (*create)(unsigned int cpu);
|
||||
void (*setup)(unsigned int cpu);
|
||||
void (*cleanup)(unsigned int cpu, bool online);
|
||||
void (*park)(unsigned int cpu);
|
||||
void (*unpark)(unsigned int cpu);
|
||||
bool selfparking;
|
||||
const char *thread_comm;
|
||||
};
|
||||
|
||||
int smpboot_register_percpu_thread(struct smp_hotplug_thread *plug_thread);
|
||||
|
||||
void smpboot_unregister_percpu_thread(struct smp_hotplug_thread *plug_thread);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user