modify display-sys.c and display-sys.h code style.
[firefly-linux-kernel-4.4.55.git] / include / linux / display-sys.h
1 #ifndef _LINUX_DISPLAY_RK_H
2 #define _LINUX_DISPLAY_RK_H
3
4 #include <linux/device.h>
5 #include <linux/fb.h>
6 #include <linux/list.h>
7
8 struct rk_display_device;
9
10 enum rk_display_priority {
11         DISPLAY_PRIORITY_TV = 0,
12         DISPLAY_PRIORITY_YPBPR,
13         DISPLAY_PRIORITY_VGA,
14         DISPLAY_PRIORITY_HDMI,
15         DISPLAY_PRIORITY_LCD,
16 };
17
18 enum {
19         DISPLAY_SCALE_X = 0,
20         DISPLAY_SCALE_Y
21 };
22
23 /* This structure defines all the properties of a Display. */
24 struct rk_display_driver {
25         void (*suspend)(struct rk_display_device *, pm_message_t state);
26         void (*resume)(struct rk_display_device *);
27         int  (*probe)(struct rk_display_device *, void *);
28         int  (*remove)(struct rk_display_device *);
29 };
30
31 struct rk_display_ops {
32         int (*setenable)(struct rk_display_device *, int enable);
33         int (*getenable)(struct rk_display_device *);
34         int (*getstatus)(struct rk_display_device *);
35         int (*getmodelist)(struct rk_display_device *,
36                            struct list_head **modelist);
37         int (*setmode)(struct rk_display_device *,
38                        struct fb_videomode *mode);
39         int (*getmode)(struct rk_display_device *,
40                        struct fb_videomode *mode);
41         int (*setscale)(struct rk_display_device *, int, int);
42         int (*getscale)(struct rk_display_device *, int);
43         int (*setdebug)(struct rk_display_device *, int);
44         int (*getedidaudioinfo)(struct rk_display_device *,
45                                 char *audioinfo, int len);
46         int (*getmonspecs)(struct rk_display_device *,
47                            struct fb_monspecs *monspecs);
48 };
49
50 struct rk_display_device {
51         struct module *owner;           /* Owner module */
52         struct rk_display_driver *driver;
53         struct device *parent;          /* This is the parent */
54         struct device *dev;             /* This is this display device */
55         struct mutex lock;
56         void *priv_data;
57         char type[16];
58         char *name;
59         int idx;
60         struct rk_display_ops *ops;
61         int priority;
62         struct list_head list;
63 };
64
65 struct rk_display_devicelist {
66         struct list_head list;
67         struct rk_display_device *dev;
68 };
69
70 struct rk_display_device
71         *rk_display_device_register(struct rk_display_driver *driver,
72                                     struct device *parent, void *devdata);
73 void rk_display_device_unregister(struct rk_display_device *dev);
74 void rk_display_device_enable(struct rk_display_device *ddev);
75 void rk_display_device_enable_other(struct rk_display_device *ddev);
76 void rk_display_device_disable_other(struct rk_display_device *ddev);
77 void rk_display_device_select(int priority);
78
79 #endif