mirror of
https://github.com/xcat2/xNBA.git
synced 2025-02-19 12:04:32 +00:00
[pci] Allow pci_vpd_init() return status to be ignored
Most xxx_init() functions are void functions with no failure cases. Allow pci_vpd_init() to be used in the same way. (Subsequent calls to pci_vpd_read() etc. will fail if pci_vpd_init() fails.) Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
17d28f4877
commit
267ef31791
@ -73,6 +73,10 @@ static int pci_vpd_read_dword ( struct pci_vpd *vpd, int address,
|
||||
unsigned int retries;
|
||||
uint16_t flag;
|
||||
|
||||
/* Fail if no VPD present */
|
||||
if ( ! cap )
|
||||
return -ENOTTY;
|
||||
|
||||
/* Return cached value, if present */
|
||||
if ( pci_vpd_cache_is_valid ( vpd ) &&
|
||||
( vpd->cache.address == address ) ) {
|
||||
@ -127,6 +131,10 @@ static int pci_vpd_write_dword ( struct pci_vpd *vpd, int address,
|
||||
unsigned int retries;
|
||||
uint16_t flag;
|
||||
|
||||
/* Fail if no VPD present */
|
||||
if ( ! cap )
|
||||
return -ENOTTY;
|
||||
|
||||
/* Invalidate cache */
|
||||
pci_vpd_invalidate_cache ( vpd );
|
||||
|
||||
|
@ -133,6 +133,17 @@ struct pci_vpd {
|
||||
struct pci_vpd_cache cache;
|
||||
};
|
||||
|
||||
/**
|
||||
* Check for presence of PCI VPD
|
||||
*
|
||||
* @v vpd PCI VPD
|
||||
* @ret is_present VPD is present
|
||||
*/
|
||||
static inline __attribute__ (( always_inline )) int
|
||||
pci_vpd_is_present ( struct pci_vpd *vpd ) {
|
||||
return ( vpd->cap != 0 );
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if PCI VPD read cache is valid
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user