gpibP.h 1.6 KB

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