 5f92c32936
			
		
	
	
	5f92c32936
	
	
	
		
			
			1) sun4{u,v}_build_msi() have improper return value handling.
   We should always return negative error codes, instead of
   using the magic value "0" which could in fact be a valid
   MSI number.
2) sun4{u,v}_build_msi() should return -ENOMEM instead of
   calling prom_prom() halt with kzalloc() of the interrupt
   data fails.
3) We 'remembered' the MSI number using a singleton in the
   struct device archdata area, this doesn't work for MSI-X
   which can cause multiple MSIs assosciated with one device.
   Delete that archdata member, and instead store the MSI
   number in the IRQ chip data area.
Signed-off-by: David S. Miller <davem@davemloft.net>
		
	
			
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			369 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			369 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Arch specific extensions to struct device
 | |
|  *
 | |
|  * This file is released under the GPLv2
 | |
|  */
 | |
| #ifndef _ASM_SPARC64_DEVICE_H
 | |
| #define _ASM_SPARC64_DEVICE_H
 | |
| 
 | |
| struct device_node;
 | |
| struct of_device;
 | |
| 
 | |
| struct dev_archdata {
 | |
| 	void			*iommu;
 | |
| 	void			*stc;
 | |
| 	void			*host_controller;
 | |
| 
 | |
| 	struct device_node	*prom_node;
 | |
| 	struct of_device	*op;
 | |
| };
 | |
| 
 | |
| #endif /* _ASM_SPARC64_DEVICE_H */
 |