linux/drivers/auxdisplay/ks0108.c

// SPDX-License-Identifier: GPL-2.0
/*
 *    Filename: ks0108.c
 *     Version: 0.1.0
 * Description: ks0108 LCD Controller driver
 *     Depends: parport
 *
 *      Author: Copyright (C) Miguel Ojeda <[email protected]>
 *        Date: 2006-10-31
 */

#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

/*
 * Module Parameters
 */

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();

/*
 * Device
 */

static struct parport *ks0108_parport;
static struct pardevice *ks0108_pardevice;

/*
 * ks0108 Exported Commands (don't lock)
 *
 *   You _should_ lock in the top driver: This functions _should not_
 *   get race conditions in any way. Locking for each byte here would be
 *   so slow and useless.
 *
 *   There are not bit definitions because they are not flags,
 *   just arbitrary combinations defined by the documentation for each
 *   function in the ks0108 LCD controller. If you want to know what means
 *   a specific combination, look at the function's name.
 *
 *   The ks0108_writecontrol bits need to be reverted ^(0,1,3) because
 *   the parallel port also revert them using a "not" logic gate.
 */

#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();

/*
 * Is the module inited?
 */

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)
{}

/*
 * Module Init & Exit
 */

static struct parport_driver ks0108_parport_driver =;
module_parport_driver();

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