[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v10 3/5] pci: add wrapper for parse_pci
From: Elena Ufimtseva <elena.ufimtseva@xxxxxxxxxx> For sbdf's parsing in RMRR command line add __parse_pci with additional parameter def_seg. __parse_pci will help to identify if segment was found in string being parsed or default segment was used. Make a wrapper parse_pci so the rest of the callers are not affected. Signed-off-by: Elena Ufimtseva <elena.ufimtseva@xxxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> --- xen/drivers/pci/pci.c | 11 +++++++++++ xen/include/xen/pci.h | 3 +++ 2 files changed, 14 insertions(+) diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c index ca07ed0..788a356 100644 --- a/xen/drivers/pci/pci.c +++ b/xen/drivers/pci/pci.c @@ -119,11 +119,21 @@ const char *__init parse_pci(const char *s, unsigned int *seg_p, unsigned int *bus_p, unsigned int *dev_p, unsigned int *func_p) { + bool_t def_seg; + + return __parse_pci(s, seg_p, bus_p, dev_p, func_p, &def_seg); +} + +const char *__init __parse_pci(const char *s, unsigned int *seg_p, + unsigned int *bus_p, unsigned int *dev_p, + unsigned int *func_p, bool_t *def_seg) +{ unsigned long seg = simple_strtoul(s, &s, 16), bus, dev, func; if ( *s != ':' ) return NULL; bus = simple_strtoul(s + 1, &s, 16); + *def_seg = 0; if ( *s == ':' ) dev = simple_strtoul(s + 1, &s, 16); else @@ -131,6 +141,7 @@ const char *__init parse_pci(const char *s, unsigned int *seg_p, dev = bus; bus = seg; seg = 0; + *def_seg = 1; } if ( func_p ) { diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h index 3908146..36e8cd3 100644 --- a/xen/include/xen/pci.h +++ b/xen/include/xen/pci.h @@ -148,6 +148,9 @@ int pci_find_ext_capability(int seg, int bus, int devfn, int cap); int pci_find_next_ext_capability(int seg, int bus, int devfn, int pos, int cap); const char *parse_pci(const char *, unsigned int *seg, unsigned int *bus, unsigned int *dev, unsigned int *func); +const char *__parse_pci(const char *, unsigned int *seg, unsigned int *bus, + unsigned int *dev, unsigned int *func, bool_t *def_seg); + bool_t pcie_aer_get_firmware_first(const struct pci_dev *); -- 2.1.3 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |