[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1222da4e-864c-5e27-b735-99fc53d1e367@infradead.org>
Date: Fri, 22 Jun 2018 13:05:57 -0700
From: Randy Dunlap <rdunlap@...radead.org>
To: Logan Gunthorpe <logang@...tatee.com>,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
linux-doc@...r.kernel.org
Cc: Stephen Bates <sbates@...thlin.com>,
Christoph Hellwig <hch@....de>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Jonathan Corbet <corbet@....net>,
Ingo Molnar <mingo@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Marc Zyngier <marc.zyngier@....com>,
Kai-Heng Feng <kai.heng.feng@...onical.com>,
Frederic Weisbecker <frederic@...nel.org>,
Dan Williams <dan.j.williams@...el.com>,
Jérôme Glisse <jglisse@...hat.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Alex Williamson <alex.williamson@...hat.com>,
Christian König <christian.koenig@....com>,
Matthew Wilcox <willy@...radead.org>
Subject: Re: [PATCH v4 1/3] PCI: Make specifying PCI devices in kernel
parameters reusable
Hi,
On 06/22/2018 12:43 PM, Logan Gunthorpe wrote:
> 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
Powered by blists - more mailing lists