projects/linux·blob master · refs

85 lines · 1.9 KiB

1/* SPDX-License-Identifier: GPL-2.0 */
2
3#ifndef _FB_INTERNAL_H
4#define _FB_INTERNAL_H
5
6#include <linux/device.h>
7#include <linux/fb.h>
8#include <linux/mutex.h>
9
10/* fb_devfs.c */
11#if defined(CONFIG_FB_DEVICE)
12int fb_register_chrdev(void);
13void fb_unregister_chrdev(void);
14#else
15static inline int fb_register_chrdev(void)
16{
17 return 0;
18}
19static inline void fb_unregister_chrdev(void)
20{ }
21#endif
22
23/* fb_logo.c */
24#if defined(CONFIG_LOGO)
25extern bool fb_center_logo;
26extern int fb_logo_count;
27int fb_prepare_logo(struct fb_info *fb_info, int rotate);
28int fb_show_logo(struct fb_info *fb_info, int rotate);
29#else
30static inline int fb_prepare_logo(struct fb_info *info, int rotate)
31{
32 return 0;
33}
34static inline int fb_show_logo(struct fb_info *info, int rotate)
35{
36 return 0;
37}
38#endif /* CONFIG_LOGO */
39
40/* fbmem.c */
41extern struct class *fb_class;
42extern struct mutex registration_lock;
43extern struct fb_info *registered_fb[FB_MAX];
44extern int num_registered_fb;
45struct fb_info *get_fb_info(unsigned int idx);
46void put_fb_info(struct fb_info *fb_info);
47int fb_blank_from_user(struct fb_info *info, int blank);
48
49/* fb_procfs.c */
50#if defined(CONFIG_FB_DEVICE)
51int fb_init_procfs(void);
52void fb_cleanup_procfs(void);
53#else
54static inline int fb_init_procfs(void)
55{
56 return 0;
57}
58static inline void fb_cleanup_procfs(void)
59{ }
60#endif
61
62/* fbsysfs.c */
63#if defined(CONFIG_FB_DEVICE)
64int fb_device_create(struct fb_info *fb_info);
65void fb_device_destroy(struct fb_info *fb_info);
66#else
67static inline int fb_device_create(struct fb_info *fb_info)
68{
69 /*
70 * Acquire a reference on the parent device to avoid
71 * unplug operations behind our back. With the fbdev
72 * device enabled, this is performed within register_device().
73 */
74 get_device(fb_info->device);
75
76 return 0;
77}
78static inline void fb_device_destroy(struct fb_info *fb_info)
79{
80 /* Undo the get_device() from fb_device_create() */
81 put_device(fb_info->device);
82}
83#endif
84
85#endif