Re: [PATCH v4 1/3] PCI: Make specifying PCI devices in kernel parameters reusable
From: Randy Dunlap <hidden>
Date: 2018-06-22 20:06:24
Also in:
linux-pci, lkml
Hi, On 06/22/2018 12:43 PM, Logan Gunthorpe wrote:
quoted hunk ↗ jump to hunk
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 97acba712e4e..cb999b2a9530 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c@@ -191,6 +191,92 @@ void __iomem *pci_ioremap_wc_bar(struct pci_dev *pdev, int bar) EXPORT_SYMBOL_GPL(pci_ioremap_wc_bar); #endif +/** + * pci_dev_str_match - test if a string matches a device + * @dev: the PCI device to test + * @p: string to match the device against + * @endptr: pointer to the string after the match + * + * Test if a string (typically from a kernel parameter) matches a + * specified. The string may be of one of the following formats:
"matches a specified." eh?
+ * + * [<domain>:]<bus>:<slot>.<func> + * pci:<vendor>:<device>[:<subvendor>:<subdevice>] + * + * The first format specifies a PCI bus/slot/function address which + * may change if new hardware is inserted, if motherboard firmware changes, + * or due to changes caused in kernel parameters. If the domain is + * left unspecified, it is taken to be 0. + * + * The second format matches devices using IDs in the configuration + * space which may match multiple devices in the system. A value of 0 + * for any field will match all devices. (Note: this differs from + * in-kernel code that uses PCI_ANY_ID which is ~0; this is for + * legacy reasons and convienence so users don't have to specify
convenience
+ * FFFFFFFFs on the command line.)
+ *
+ * Returns 1 if the string matches the device, 0 if it does not and
+ * a negative error code if the string cannot be parsed.
+ */
+static int pci_dev_str_match(struct pci_dev *dev, const char *p,
+ const char **endptr)
+{thanks, -- ~Randy -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html