linux/drivers/ata/pata_parport/pata_parport.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *	pata_parport.h	(c) 1997-8  Grant R. Guenther <[email protected]>
 *				    Under the terms of the GPL.
 *
 * This file defines the interface for parallel port IDE adapter chip drivers.
 */

#ifndef LINUX_PATA_PARPORT_H
#define LINUX_PATA_PARPORT_H

#include <linux/libata.h>

struct pi_adapter {};

/* registers are addressed as (cont,regr)
 *	cont: 0 for command register file, 1 for control register(s)
 *	regr: 0-7 for register number.
 */

/* macros and functions exported to the protocol modules */
#define delay_p
#define out_p(offs, byte)
#define in_p(offs)

#define w0(byte)
#define r0()
#define w1(byte)
#define r1()
#define w2(byte)
#define r2()
#define w3(byte)
#define w4(byte)
#define r4()
#define w4w(data)
#define w4l(data)
#define r4w()
#define r4l()

struct pi_protocol {};

#define PATA_PARPORT_SHT

int pata_parport_register_driver(struct pi_protocol *pr);
void pata_parport_unregister_driver(struct pi_protocol *pr);

/**
 * module_pata_parport_driver() - Helper macro for registering a pata_parport driver
 * @__pi_protocol: pi_protocol struct
 *
 * Helper macro for pata_parport drivers which do not do anything special in module
 * init/exit. This eliminates a lot of boilerplate. Each module may only
 * use this macro once, and calling it replaces module_init() and module_exit()
 */
#define module_pata_parport_driver(__pi_protocol)

#endif /* LINUX_PATA_PARPORT_H */