/* 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 */