UPSTREAM: PCI: rockchip: cleanup bit definition for PCIE_RC_CONFIG_LCS
[firefly-linux-kernel-4.4.55.git] / drivers / misc / rk29_modem / rk29_modem.h
1 #include <linux/platform_device.h>\r
2 #include <mach/board.h>\r
3 \r
4 /* Modem states */\r
5 #define MODEM_DISABLE       0\r
6 #define MODEM_ENABLE        1\r
7 #define MODEM_SLEEP         2\r
8 #define MODEM_WAKEUP        3\r
9 #define MODEM_MAX_STATUS    4\r
10 \r
11 struct rk29_irq_t {\r
12     unsigned long irq_addr;\r
13     unsigned long irq_trigger;\r
14 };\r
15 \r
16 struct rk29_modem_t {\r
17     struct platform_driver *driver;\r
18     // ¿ØÖÆmodemµçÔ´µÄIO\r
19     struct rk29_io_t *modem_power;\r
20     // µ±AP¾ÍÐ÷»òÕßδ¾ÍÐ÷ʱ£¬Í¨¹ý ap_ready Õâ¸öIOÀ´Í¨ÖªBP¡£\r
21     struct rk29_io_t *ap_ready;\r
22     // µ±BP½ÓÊÕµ½¶ÌÐÅ»òÕßÀ´µçʱ£¬Í¨¹ý bp_wakeup_ap Õâ¸öIRQÀ´»½ÐÑAP\r
23     struct rk29_irq_t *bp_wakeup_ap;\r
24     // µ±Ç°modem״̬£¬Ä¿Ç°Ö»Óõ½MODEM_ENABLE(Éϵç)¡¢MODEM_DISABLE(ϵç)\r
25     // Í¬Ê±£¬statusµÄ³õʼֵҲ¾ö¶¨¿ª»úʱµÄmodemÊÇ·ñÉϵç\r
26     int status;\r
27     struct wake_lock wakelock_bbwakeupap;\r
28 \r
29     // É豸³õʼ»¯º¯Êý, Ö÷ÒªÉèÖø÷¸öGPIOÒÔ¼°IRQµÄÉêÇëµÈ\r
30     int (*dev_init)(struct rk29_modem_t *driver);\r
31     int (*dev_uninit)(struct rk29_modem_t *driver);\r
32     irqreturn_t (*irq_handler)(int irq, void *dev_id);\r
33     int (*suspend)(struct platform_device *pdev, pm_message_t state);\r
34     int (*resume)(struct platform_device *pdev);\r
35 \r
36     int (*enable)(struct rk29_modem_t *driver);\r
37     int (*disable)(struct rk29_modem_t *driver);\r
38     int (*sleep)(struct rk29_modem_t *driver);\r
39     int (*wakeup)(struct rk29_modem_t *driver);\r
40 };\r
41 \r
42 void rk29_modem_exit(void);\r
43 int rk29_modem_init(struct rk29_modem_t *rk29_modem);\r
44 int rk29_modem_suspend(struct platform_device *pdev, pm_message_t state);\r
45 int rk29_modem_resume(struct platform_device *pdev);\r
46 \r