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 */
|