drivers/gpib/include/gpibP.h

Source file repositories/reference/linux-study-clean/drivers/gpib/include/gpibP.h

File Facts

System
Linux kernel
Corpus path
drivers/gpib/include/gpibP.h
Extension
.h
Size
1600 bytes
Lines
42
Domain
Driver Families
Bucket
drivers/gpib
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _GPIB_P_H
#define _GPIB_P_H

#include <linux/types.h>

#include "gpib_types.h"
#include "gpib_proto.h"
#include "gpib_cmd.h"
#include <linux/gpib.h>
#include <linux/gpib_ioctl.h>

#include <linux/fs.h>
#include <linux/interrupt.h>
#include <linux/io.h>

int gpib_register_driver(struct gpib_interface *interface, struct module *mod);
void gpib_unregister_driver(struct gpib_interface *interface);
struct pci_dev *gpib_pci_get_device(const struct gpib_board_config *config, unsigned int vendor_id,
				    unsigned int device_id, struct pci_dev *from);
struct pci_dev *gpib_pci_get_subsys(const struct gpib_board_config *config, unsigned int vendor_id,
				    unsigned int device_id, unsigned int ss_vendor,
				    unsigned int ss_device, struct pci_dev *from);
unsigned int num_gpib_events(const struct gpib_event_queue *queue);
int push_gpib_event(struct gpib_board *board, short event_type);
int pop_gpib_event(struct gpib_board *board, struct gpib_event_queue *queue, short *event_type);
int gpib_request_pseudo_irq(struct gpib_board *board, irqreturn_t (*handler)(int, void *));
void gpib_free_pseudo_irq(struct gpib_board *board);
int gpib_match_device_path(struct device *dev, const char *device_path_in);

extern struct gpib_board board_array[GPIB_MAX_NUM_BOARDS];

extern struct list_head registered_drivers;

#endif	// _GPIB_P_H

Annotation

Implementation Notes