1 /* SPDX-License-Identifier: GPL-2.0 */
3 /***************************************************************************
4 * copyright : (C) 2002,2003 by Frank Mori Hess
5 ***************************************************************************/
10 #include <linux/types.h>
12 #include "gpib_types.h"
13 #include "gpib_proto.h"
14 #include "gpib_user.h"
15 #include "gpib_ioctl.h"
18 #include <linux/interrupt.h>
20 void gpib_register_driver(gpib_interface_t *interface, struct module *mod);
21 void gpib_unregister_driver(gpib_interface_t *interface);
22 struct pci_dev *gpib_pci_get_device(const gpib_board_config_t *config, unsigned int vendor_id,
23 unsigned int device_id, struct pci_dev *from);
24 struct pci_dev *gpib_pci_get_subsys(const gpib_board_config_t *config, unsigned int vendor_id,
25 unsigned int device_id, unsigned int ss_vendor,
26 unsigned int ss_device, struct pci_dev *from);
27 unsigned int num_gpib_events(const gpib_event_queue_t *queue);
28 int push_gpib_event(gpib_board_t *board, short event_type);
29 int pop_gpib_event(gpib_board_t *board, gpib_event_queue_t *queue, short *event_type);
30 int gpib_request_pseudo_irq(gpib_board_t *board, irqreturn_t (*handler)(int, void *));
31 void gpib_free_pseudo_irq(gpib_board_t *board);
32 int gpib_match_device_path(struct device *dev, const char *device_path_in);
34 extern gpib_board_t board_array[GPIB_MAX_NUM_BOARDS];
36 extern struct list_head registered_drivers;
40 void writeb_wrapper(unsigned int value, void *address);
41 unsigned int readb_wrapper(void *address);
42 void outb_wrapper(unsigned int value, void *address);
43 unsigned int inb_wrapper(void *address);
44 void writew_wrapper(unsigned int value, void *address);
45 unsigned int readw_wrapper(void *address);
46 void outw_wrapper(unsigned int value, void *address);
47 unsigned int inw_wrapper(void *address);