1 /* SPDX-License-Identifier: GPL-2.0 */ 2 3 /*************************************************************************** 4 * copyright : (C) 2002,2003 by Frank Mori Hess 5 ***************************************************************************/ 6 7 #ifndef _GPIB_P_H 8 #define _GPIB_P_H 9 10 #include <linux/types.h> 11 12 #include "gpib_types.h" 13 #include "gpib_proto.h" 14 #include "gpib_cmd.h" 15 #include "gpib.h" 16 #include "gpib_ioctl.h" 17 18 #include <linux/fs.h> 19 #include <linux/interrupt.h> 20 #include <linux/io.h> 21 22 int gpib_register_driver(struct gpib_interface *interface, struct module *mod); 23 void gpib_unregister_driver(struct gpib_interface *interface); 24 struct pci_dev *gpib_pci_get_device(const struct gpib_board_config *config, unsigned int vendor_id, 25 unsigned int device_id, struct pci_dev *from); 26 struct pci_dev *gpib_pci_get_subsys(const struct gpib_board_config *config, unsigned int vendor_id, 27 unsigned int device_id, unsigned int ss_vendor, 28 unsigned int ss_device, struct pci_dev *from); 29 unsigned int num_gpib_events(const struct gpib_event_queue *queue); 30 int push_gpib_event(struct gpib_board *board, short event_type); 31 int pop_gpib_event(struct gpib_board *board, struct gpib_event_queue *queue, short *event_type); 32 int gpib_request_pseudo_irq(struct gpib_board *board, irqreturn_t (*handler)(int, void *)); 33 void gpib_free_pseudo_irq(struct gpib_board *board); 34 int gpib_match_device_path(struct device *dev, const char *device_path_in); 35 36 extern struct gpib_board board_array[GPIB_MAX_NUM_BOARDS]; 37 38 extern struct list_head registered_drivers; 39 40 #endif // _GPIB_P_H 41 42