misc: tegra-baseband: Add power management driver.
[linux-2.6.git] / drivers / misc / tegra-baseband / bb-power.h
1 /*
2  * drivers/misc/tegra-baseband/bb-power.h
3  *
4  * Copyright (C) 2011 NVIDIA Corporation
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  */
16
17 enum tegra_bb_callback_code {
18         CB_CODE_INIT = 1,
19         CB_CODE_DEINIT,
20         CB_CODE_L0L2,
21         CB_CODE_L2L0,
22         CB_CODE_L2L3,
23         CB_CODE_L3L0,
24         CB_CODE_INVALID,
25 };
26
27 struct tegra_bb_gpio_data {
28         struct gpio data;
29         bool doexport;
30 };
31
32 struct tegra_bb_gpio_irqdata {
33         int id;
34         const char *name;
35         irq_handler_t handler;
36         int flags;
37         void *cookie;
38 };
39
40 struct tegra_bb_power_gdata {
41         struct tegra_bb_gpio_data *gpio;
42         struct tegra_bb_gpio_irqdata *gpioirq;
43 };
44
45 typedef void* (*bb_init_cb)(void *pdata, int code);
46 typedef int (*bb_power_cb)(int code);