#define pr_fmt(fmt) …
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/delay.h>
#include <linux/parport.h>
#include <linux/ks0108.h>
#define KS0108_NAME …
static unsigned int ks0108_port = …;
module_param(ks0108_port, uint, 0444);
MODULE_PARM_DESC(…) …;
static unsigned int ks0108_delay = …;
module_param(ks0108_delay, uint, 0444);
MODULE_PARM_DESC(…) …;
static struct parport *ks0108_parport;
static struct pardevice *ks0108_pardevice;
#define bit(n) …
void ks0108_writedata(unsigned char byte)
{ … }
void ks0108_writecontrol(unsigned char byte)
{ … }
void ks0108_displaystate(unsigned char state)
{ … }
void ks0108_startline(unsigned char startline)
{ … }
void ks0108_address(unsigned char address)
{ … }
void ks0108_page(unsigned char page)
{ … }
EXPORT_SYMBOL_GPL(…);
EXPORT_SYMBOL_GPL(…);
EXPORT_SYMBOL_GPL(…);
EXPORT_SYMBOL_GPL(…);
EXPORT_SYMBOL_GPL(…);
EXPORT_SYMBOL_GPL(…);
static unsigned char ks0108_inited;
unsigned char ks0108_isinited(void)
{ … }
EXPORT_SYMBOL_GPL(…);
static void ks0108_parport_attach(struct parport *port)
{ … }
static void ks0108_parport_detach(struct parport *port)
{ … }
static struct parport_driver ks0108_parport_driver = …;
module_parport_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;