summaryrefslogtreecommitdiff
path: root/drivers/modem/m6718_spi/modem_state.h
blob: a2f1d9fbe3e630fad6953a87428252cabfc8658b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
 * Copyright (C) ST-Ericsson SA 2011
 *
 * Author: Derek Morton <derek.morton@stericsson.com>
 *
 * License terms: GNU General Public License (GPL) version 2
 *
 * Power state driver for M6718 MODEM
 */
#ifndef MODEM_STATE_H
#define MODEM_STATE_H

enum modem_states {
	MODEM_STATE_OFF,
	MODEM_STATE_RESET,
	MODEM_STATE_CRASH,
	MODEM_STATE_ON,
	/*
	 * Add new states before end marker and update modem_state_str[]
	 * in modem_state.c
	 */
	MODEM_STATE_END_MARKER
};

void modem_state_power_on(void);
void modem_state_power_off(void);
void modem_state_force_reset(void);
int modem_state_get_state(void);
char *modem_state_to_str(int state);

/* Callbacks will be running in tasklet context */
int modem_state_register_callback(int (*callback) (unsigned long),
	unsigned long data);
int modem_state_remove_callback(int (*callback) (unsigned long));

#endif