linux/drivers/video/fbdev/i740fb.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * i740fb - framebuffer driver for Intel740
 * Copyright (c) 2011 Ondrej Zary
 *
 * Based on old i740fb driver (c) 2001-2002 Andrey Ulanov <[email protected]>
 * which was partially based on:
 *  VGA 16-color framebuffer driver (c) 1999 Ben Pfaff <[email protected]>
 *	and Petr Vandrovec <[email protected]>
 *  i740 driver from XFree86 (c) 1998-1999 Precision Insight, Inc., Cedar Park,
 *	Texas.
 *  i740fb by Patrick LERDA, v0.9
 */

#include <linux/aperture.h>
#include <linux/module.h>
#include <linux/kernel.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/init.h>
#include <linux/pci.h>
#include <linux/pci_ids.h>
#include <linux/i2c.h>
#include <linux/i2c-algo-bit.h>
#include <linux/console.h>
#include <video/vga.h>

#include "i740_reg.h"

static char *mode_option;
static int mtrr =;

struct i740fb_par {};

#define DACSPEED8
#define DACSPEED16
#define DACSPEED24_SG
#define DACSPEED24_SD
#define DACSPEED32

static const struct fb_fix_screeninfo i740fb_fix =;

static inline void i740outb(struct i740fb_par *par, u16 port, u8 val)
{}
static inline u8 i740inb(struct i740fb_par *par, u16 port)
{}
static inline void i740outreg(struct i740fb_par *par, u16 port, u8 reg, u8 val)
{}
static inline u8 i740inreg(struct i740fb_par *par, u16 port, u8 reg)
{}
static inline void i740outreg_mask(struct i740fb_par *par, u16 port, u8 reg,
				   u8 val, u8 mask)
{}

#define REG_DDC_DRIVE
#define REG_DDC_STATE
#define DDC_SCL
#define DDC_SDA

static void i740fb_ddc_setscl(void *data, int val)
{}

static void i740fb_ddc_setsda(void *data, int val)
{}

static int i740fb_ddc_getscl(void *data)
{}

static int i740fb_ddc_getsda(void *data)
{}

static int i740fb_setup_ddc_bus(struct fb_info *info)
{}

static int i740fb_open(struct fb_info *info, int user)
{}

static int i740fb_release(struct fb_info *info, int user)
{}

static u32 i740_calc_fifo(struct i740fb_par *par, u32 freq, int bpp)
{}

/* clock calculation from i740fb by Patrick LERDA */

#define I740_RFREQ
#define TARGET_MAX_N
#define I740_FFIX
#define I740_RFREQ_FIX
#define I740_REF_FREQ
#define I740_MAX_VCO_FREQ

static void i740_calc_vclk(u32 freq, struct i740fb_par *par)
{}

static int i740fb_decode_var(const struct fb_var_screeninfo *var,
			     struct i740fb_par *par, struct fb_info *info)
{}

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

static void vga_protect(struct i740fb_par *par)
{}

static void vga_unprotect(struct i740fb_par *par)
{}

static int i740fb_set_par(struct fb_info *info)
{}

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

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

static int i740fb_blank(int blank_mode, struct fb_info *info)
{}

static const struct fb_ops i740fb_ops =;

/* ------------------------------------------------------------------------- */

static int i740fb_probe(struct pci_dev *dev, const struct pci_device_id *ent)
{}

static void i740fb_remove(struct pci_dev *dev)
{}

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

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

static const struct dev_pm_ops i740fb_pm_ops =;

#define I740_ID_PCI
#define I740_ID_AGP

static const struct pci_device_id i740fb_id_table[] =;
MODULE_DEVICE_TABLE(pci, i740fb_id_table);

static struct pci_driver i740fb_driver =;

#ifndef MODULE
static int  __init i740fb_setup(char *options)
{}
#endif

static int __init i740fb_init(void)
{}

static void __exit i740fb_exit(void)
{}

module_init();
module_exit(i740fb_exit);

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

module_param(mode_option, charp, 0444);
MODULE_PARM_DESC();

module_param(mtrr, int, 0444);
MODULE_PARM_DESC();