xref: /linux/drivers/staging/gpib/include/gpibP.h (revision 1641684528815bb7e85737d5d2bceb551c55d5a8)
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