Message ID | 20230208111645.3863534-3-mmaddireddy@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add DT based PCIe wake support in PCI core driver | expand |
On Wed, Feb 08, 2023 at 04:46:42PM +0530, Manikanta Maddireddy wrote: > From: Jeffy Chen <jeffy.chen@rock-chips.com> > > Currently we are considering the first irq as the PCI interrupt pin, > but a PCI device may have multiple interrupts(e.g. PCIe WAKE# pin). > > Only parse the PCI interrupt pin when the irq is unnamed or named as > "pci". > > Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> > Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com> > --- > > Changes in v14: > Address Rob's comment on using of_property_match_string(). > > Changes in v13: None > Changes in v12: None > Changes in v11: > Address Brian's comments. > > Changes in v10: None > Changes in v9: None > Changes in v8: None > Changes in v7: None > Changes in v6: None > Changes in v5: None > Changes in v3: None > Changes in v2: None > > drivers/pci/of.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/drivers/pci/of.c b/drivers/pci/of.c > index 196834ed44fe..ff897c40ed71 100644 > --- a/drivers/pci/of.c > +++ b/drivers/pci/of.c > @@ -429,9 +429,17 @@ static int of_irq_parse_pci(const struct pci_dev *pdev, struct of_phandle_args * > */ > dn = pci_device_to_OF_node(pdev); > if (dn) { > - rc = of_irq_parse_one(dn, 0, out_irq); > - if (!rc) > - return rc; > + int index = 0; No need to initialize to 0 here since you're assigning to it immediately below. Otherwise, looks good, so with that initialization dropped, this is: Reviewed-by: Thierry Reding <treding@nvidia.com>
On 2/8/2023 5:14 PM, Thierry Reding wrote: > On Wed, Feb 08, 2023 at 04:46:42PM +0530, Manikanta Maddireddy wrote: >> From: Jeffy Chen <jeffy.chen@rock-chips.com> >> >> Currently we are considering the first irq as the PCI interrupt pin, >> but a PCI device may have multiple interrupts(e.g. PCIe WAKE# pin). >> >> Only parse the PCI interrupt pin when the irq is unnamed or named as >> "pci". >> >> Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> >> Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com> >> --- >> >> Changes in v14: >> Address Rob's comment on using of_property_match_string(). >> >> Changes in v13: None >> Changes in v12: None >> Changes in v11: >> Address Brian's comments. >> >> Changes in v10: None >> Changes in v9: None >> Changes in v8: None >> Changes in v7: None >> Changes in v6: None >> Changes in v5: None >> Changes in v3: None >> Changes in v2: None >> >> drivers/pci/of.c | 14 +++++++++++--- >> 1 file changed, 11 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/pci/of.c b/drivers/pci/of.c >> index 196834ed44fe..ff897c40ed71 100644 >> --- a/drivers/pci/of.c >> +++ b/drivers/pci/of.c >> @@ -429,9 +429,17 @@ static int of_irq_parse_pci(const struct pci_dev *pdev, struct of_phandle_args * >> */ >> dn = pci_device_to_OF_node(pdev); >> if (dn) { >> - rc = of_irq_parse_one(dn, 0, out_irq); >> - if (!rc) >> - return rc; >> + int index = 0; > No need to initialize to 0 here since you're assigning to it immediately > below. > > Otherwise, looks good, so with that initialization dropped, this is: > > Reviewed-by: Thierry Reding <treding@nvidia.com> Ack, I will take care of it next version. Manikanta
diff --git a/drivers/pci/of.c b/drivers/pci/of.c index 196834ed44fe..ff897c40ed71 100644 --- a/drivers/pci/of.c +++ b/drivers/pci/of.c @@ -429,9 +429,17 @@ static int of_irq_parse_pci(const struct pci_dev *pdev, struct of_phandle_args * */ dn = pci_device_to_OF_node(pdev); if (dn) { - rc = of_irq_parse_one(dn, 0, out_irq); - if (!rc) - return rc; + int index = 0; + + index = of_property_match_string(dn, "interrupt-names", "pci"); + if (index == -EINVAL) /* Property doesn't exist */ + index = 0; + + if (index >= 0) { + rc = of_irq_parse_one(dn, index, out_irq); + if (!rc) + return rc; + } } /*