summaryrefslogtreecommitdiffstats
path: root/include/poweroff.h
blob: 217b68cdf966a3143845283b5148aa569d0d5282 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef __INCLUDE_POWEROFF_H
#define __INCLUDE_POWEROFF_H

void __noreturn poweroff_machine(void);

struct poweroff_handler {
	void (*poweroff)(struct poweroff_handler *);
	int priority;
	const char *name;
	struct list_head list;
};

int poweroff_handler_register(struct poweroff_handler *);
int poweroff_handler_register_fn(void (*poweroff_fn)(struct poweroff_handler *));

#define POWEROFF_DEFAULT_PRIORITY 100
#define POWEROFF_DEFAULT_NAME "default"

unsigned int of_get_poweroff_priority(struct device_node *node);

#endif /* __INCLUDE_POWEROFF_H */