linux/drivers/staging/sm750fb/sm750.c

// SPDX-License-Identifier: GPL-2.0
#include <linux/aperture.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/fb.h>
#include <linux/ioport.h>
#include <linux/init.h>
#include <linux/pci.h>
#include <linux/mm_types.h>
#include <linux/vmalloc.h>
#include <linux/pagemap.h>
#include <linux/console.h>

#include "sm750.h"
#include "sm750_accel.h"
#include "sm750_cursor.h"

/*
 * #ifdef __BIG_ENDIAN
 * ssize_t lynxfb_ops_write(struct fb_info *info, const char __user *buf,
 * size_t count, loff_t *ppos);
 * ssize_t lynxfb_ops_read(struct fb_info *info, char __user *buf,
 * size_t count, loff_t *ppos);
 * #endif
 */

/* common var for all device */
static int g_hwcursor =;
static int g_noaccel;
static int g_nomtrr;
static const char *g_fbmode[] =;
static const char *g_def_fbmode =;
static char *g_settings;
static int g_dualview;
static char *g_option;

static const struct fb_videomode lynx750_ext[] =;

/* no hardware cursor supported under version 2.6.10, kernel bug */
static int lynxfb_ops_cursor(struct fb_info *info, struct fb_cursor *fbcursor)
{}

static void lynxfb_ops_fillrect(struct fb_info *info,
				const struct fb_fillrect *region)
{}

static void lynxfb_ops_copyarea(struct fb_info *info,
				const struct fb_copyarea *region)
{}

static void lynxfb_ops_imageblit(struct fb_info *info,
				 const struct fb_image *image)
{}

static int lynxfb_ops_pan_display(struct fb_var_screeninfo *var,
				  struct fb_info *info)
{}

static inline void lynxfb_set_visual_mode(struct fb_info *info)
{}

static inline int lynxfb_set_color_offsets(struct fb_info *info)
{}

static int lynxfb_ops_set_par(struct fb_info *info)
{}

static inline unsigned int chan_to_field(unsigned int chan,
					 struct fb_bitfield *bf)
{}

static int __maybe_unused lynxfb_suspend(struct device *dev)
{}

static int __maybe_unused lynxfb_resume(struct device *dev)
{}

static int lynxfb_ops_check_var(struct fb_var_screeninfo *var,
				struct fb_info *info)
{}

static int lynxfb_ops_setcolreg(unsigned int regno,
				unsigned int red,
				unsigned int green,
				unsigned int blue,
				unsigned int transp,
				struct fb_info *info)
{}

static int lynxfb_ops_blank(int blank, struct fb_info *info)
{}

static int sm750fb_set_drv(struct lynxfb_par *par)
{}

static const struct fb_ops lynxfb_ops =;

static const struct fb_ops lynxfb_ops_with_cursor =;

static const struct fb_ops lynxfb_ops_accel =;

static const struct fb_ops lynxfb_ops_accel_with_cursor =;

static int lynxfb_set_fbinfo(struct fb_info *info, int index)
{}

/*	chip specific g_option configuration routine */
static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
{}

static void sm750fb_framebuffer_release(struct sm750_dev *sm750_dev)
{}

static int sm750fb_framebuffer_alloc(struct sm750_dev *sm750_dev, int fbidx)
{}

static int lynxfb_pci_probe(struct pci_dev *pdev,
			    const struct pci_device_id *ent)
{}

static void lynxfb_pci_remove(struct pci_dev *pdev)
{}

static int __init lynxfb_setup(char *options)
{}

static const struct pci_device_id smi_pci_table[] =;

MODULE_DEVICE_TABLE(pci, smi_pci_table);

static SIMPLE_DEV_PM_OPS(lynxfb_pm_ops, lynxfb_suspend, lynxfb_resume);

static struct pci_driver lynxfb_driver =;

static int __init lynxfb_init(void)
{}
module_init();

static void __exit lynxfb_exit(void)
{}
module_exit(lynxfb_exit);

module_param(g_option, charp, 0444);

MODULE_PARM_DESC();

MODULE_AUTHOR();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();