24 lines
		
	
	
		
			760 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			760 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef LINUX_HTIRQ_H
 | 
						|
#define LINUX_HTIRQ_H
 | 
						|
 | 
						|
struct ht_irq_msg {
 | 
						|
	u32	address_lo;	/* low 32 bits of the ht irq message */
 | 
						|
	u32	address_hi;	/* high 32 bits of the it irq message */
 | 
						|
};
 | 
						|
 | 
						|
/* Helper functions.. */
 | 
						|
void fetch_ht_irq_msg(unsigned int irq, struct ht_irq_msg *msg);
 | 
						|
void write_ht_irq_msg(unsigned int irq, struct ht_irq_msg *msg);
 | 
						|
void mask_ht_irq(unsigned int irq);
 | 
						|
void unmask_ht_irq(unsigned int irq);
 | 
						|
 | 
						|
/* The arch hook for getting things started */
 | 
						|
int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev);
 | 
						|
 | 
						|
/* For drivers of buggy hardware */
 | 
						|
typedef void (ht_irq_update_t)(struct pci_dev *dev, int irq,
 | 
						|
			       struct ht_irq_msg *msg);
 | 
						|
int __ht_create_irq(struct pci_dev *dev, int idx, ht_irq_update_t *update);
 | 
						|
 | 
						|
#endif /* LINUX_HTIRQ_H */
 |