linux/drivers/video/fbdev/core/fbmem.c

/*
 *  linux/drivers/video/fbmem.c
 *
 *  Copyright (C) 1994 Martin Schaller
 *
 *	2001 - Documented with DocBook
 *	- Brad Douglas <[email protected]>
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file COPYING in the main directory of this archive
 * for more details.
 */

#include <linux/console.h>
#include <linux/export.h>
#include <linux/fb.h>
#include <linux/fbcon.h>

#include <video/nomodeset.h>

#include "fb_internal.h"

    /*
     *  Frame buffer device initialization and setup routines
     */

#define FBPIXMAPSIZE

struct class *fb_class;

DEFINE_MUTEX();
struct fb_info *registered_fb[FB_MAX] __read_mostly;
int num_registered_fb __read_mostly;
#define for_each_registered_fb(i)

struct fb_info *get_fb_info(unsigned int idx)
{}

void put_fb_info(struct fb_info *fb_info)
{}

/*
 * Helpers
 */

int fb_get_color_depth(struct fb_var_screeninfo *var,
		       struct fb_fix_screeninfo *fix)
{}
EXPORT_SYMBOL();

/*
 * Data padding functions.
 */
void fb_pad_aligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 s_pitch, u32 height)
{}
EXPORT_SYMBOL();

void fb_pad_unaligned_buffer(u8 *dst, u32 d_pitch, u8 *src, u32 idx, u32 height,
				u32 shift_high, u32 shift_low, u32 mod)
{}
EXPORT_SYMBOL();

/*
 * we need to lock this section since fb_cursor
 * may use fb_imageblit()
 */
char* fb_get_buffer_offset(struct fb_info *info, struct fb_pixmap *buf, u32 size)
{}
EXPORT_SYMBOL();

int
fb_pan_display(struct fb_info *info, struct fb_var_screeninfo *var)
{}
EXPORT_SYMBOL();

static int fb_check_caps(struct fb_info *info, struct fb_var_screeninfo *var,
			 u32 activate)
{}

int
fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
{}
EXPORT_SYMBOL();

int
fb_blank(struct fb_info *info, int blank)
{}
EXPORT_SYMBOL();

static int fb_check_foreignness(struct fb_info *fi)
{}

static int do_register_framebuffer(struct fb_info *fb_info)
{}

static void unbind_console(struct fb_info *fb_info)
{}

static void unlink_framebuffer(struct fb_info *fb_info)
{}

static void do_unregister_framebuffer(struct fb_info *fb_info)
{}

/**
 *	register_framebuffer - registers a frame buffer device
 *	@fb_info: frame buffer info structure
 *
 *	Registers a frame buffer device @fb_info.
 *
 *	Returns negative errno on error, or zero for success.
 *
 */
int
register_framebuffer(struct fb_info *fb_info)
{}
EXPORT_SYMBOL();

/**
 *	unregister_framebuffer - releases a frame buffer device
 *	@fb_info: frame buffer info structure
 *
 *	Unregisters a frame buffer device @fb_info.
 *
 *	Returns negative errno on error, or zero for success.
 *
 *      This function will also notify the framebuffer console
 *      to release the driver.
 *
 *      This is meant to be called within a driver's module_exit()
 *      function. If this is called outside module_exit(), ensure
 *      that the driver implements fb_open() and fb_release() to
 *      check that no processes are using the device.
 */
void
unregister_framebuffer(struct fb_info *fb_info)
{}
EXPORT_SYMBOL();

static void devm_unregister_framebuffer(void *data)
{}

/**
 *	devm_register_framebuffer - resource-managed frame buffer device registration
 *	@dev: device the framebuffer belongs to
 *	@fb_info: frame buffer info structure
 *
 *	Registers a frame buffer device @fb_info to device @dev.
 *
 *	Returns negative errno on error, or zero for success.
 *
 */
int
devm_register_framebuffer(struct device *dev, struct fb_info *fb_info)
{}
EXPORT_SYMBOL();

/**
 *	fb_set_suspend - low level driver signals suspend
 *	@info: framebuffer affected
 *	@state: 0 = resuming, !=0 = suspending
 *
 *	This is meant to be used by low level drivers to
 * 	signal suspend/resume to the core & clients.
 *	It must be called with the console semaphore held
 */
void fb_set_suspend(struct fb_info *info, int state)
{}
EXPORT_SYMBOL();

static int __init fbmem_init(void)
{}

#ifdef MODULE
static void __exit fbmem_exit(void)
{
	fb_console_exit();
	fb_unregister_chrdev();
	fb_cleanup_procfs();
	class_destroy(fb_class);
}

module_init(fbmem_init);
module_exit(fbmem_exit);
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Framebuffer base");
#else
subsys_initcall(fbmem_init);
#endif

int fb_new_modelist(struct fb_info *info)
{}

bool fb_modesetting_disabled(const char *drvname)
{}
EXPORT_SYMBOL();

MODULE_LICENSE();