85 lines · 1.9 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _FB_INTERNAL_H#define _FB_INTERNAL_H #include <linux/device.h>#include <linux/fb.h>#include <linux/mutex.h> /* fb_devfs.c */#if defined(CONFIG_FB_DEVICE)int fb_register_chrdev(void);void fb_unregister_chrdev(void);#elsestatic inline int fb_register_chrdev(void){	return 0;}static inline void fb_unregister_chrdev(void){ }#endif /* fb_logo.c */#if defined(CONFIG_LOGO)extern bool fb_center_logo;extern int fb_logo_count;int fb_prepare_logo(struct fb_info *fb_info, int rotate);int fb_show_logo(struct fb_info *fb_info, int rotate);#elsestatic inline int fb_prepare_logo(struct fb_info *info, int rotate){	return 0;}static inline int fb_show_logo(struct fb_info *info, int rotate){	return 0;}#endif /* CONFIG_LOGO */ /* fbmem.c */extern struct class *fb_class;extern struct mutex registration_lock;extern struct fb_info *registered_fb[FB_MAX];extern int num_registered_fb;struct fb_info *get_fb_info(unsigned int idx);void put_fb_info(struct fb_info *fb_info);int fb_blank_from_user(struct fb_info *info, int blank); /* fb_procfs.c */#if defined(CONFIG_FB_DEVICE)int fb_init_procfs(void);void fb_cleanup_procfs(void);#elsestatic inline int fb_init_procfs(void){	return 0;}static inline void fb_cleanup_procfs(void){ }#endif /* fbsysfs.c */#if defined(CONFIG_FB_DEVICE)int fb_device_create(struct fb_info *fb_info);void fb_device_destroy(struct fb_info *fb_info);#elsestatic inline int fb_device_create(struct fb_info *fb_info){	/*	 * Acquire a reference on the parent device to avoid	 * unplug operations behind our back. With the fbdev	 * device enabled, this is performed within register_device().	 */	get_device(fb_info->device); 	return 0;}static inline void fb_device_destroy(struct fb_info *fb_info){	/* Undo the get_device() from fb_device_create() */	put_device(fb_info->device);}#endif #endif