OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [linux/] [kthread.h] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
#ifndef _LINUX_KTHREAD_H
2
#define _LINUX_KTHREAD_H
3
/* Simple interface for creating and stopping kernel threads without mess. */
4
#include <linux/err.h>
5
#include <linux/sched.h>
6
 
7
struct task_struct *kthread_create(int (*threadfn)(void *data),
8
                                   void *data,
9
                                   const char namefmt[], ...);
10
 
11
/**
12
 * kthread_run - create and wake a thread.
13
 * @threadfn: the function to run until signal_pending(current).
14
 * @data: data ptr for @threadfn.
15
 * @namefmt: printf-style name for the thread.
16
 *
17
 * Description: Convenient wrapper for kthread_create() followed by
18
 * wake_up_process().  Returns the kthread or ERR_PTR(-ENOMEM).
19
 */
20
#define kthread_run(threadfn, data, namefmt, ...)                          \
21
({                                                                         \
22
        struct task_struct *__k                                            \
23
                = kthread_create(threadfn, data, namefmt, ## __VA_ARGS__); \
24
        if (!IS_ERR(__k))                                                  \
25
                wake_up_process(__k);                                      \
26
        __k;                                                               \
27
})
28
 
29
void kthread_bind(struct task_struct *k, unsigned int cpu);
30
int kthread_stop(struct task_struct *k);
31
int kthread_should_stop(void);
32
 
33
int kthreadd(void *unused);
34
extern struct task_struct *kthreadd_task;
35
 
36
#endif /* _LINUX_KTHREAD_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.