[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b3e3e9a3-c430-db98-9e6d-0e3526ddc6f7@linaro.org>
Date: Thu, 30 Sep 2021 10:33:27 +0800
From: Zhangfei Gao <zhangfei.gao@...aro.org>
To: Bjorn Helgaas <helgaas@...nel.org>,
Heikki Krogerus <heikki.krogerus@...ux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org
Subject: Re: [PATCH 1/2] PCI: Use software node API with additional device
properties
On 2021/9/30 上午1:08, Bjorn Helgaas wrote:
> [+cc Zhangfei, author of 8304a3a199ee ("PCI: Set dma-can-stall for
> HiSilicon chips"), which added this]
>
> On Wed, Sep 29, 2021 at 04:37:28PM +0300, Heikki Krogerus wrote:
>> Using device_create_managed_software_node() to inject the
>> properties in quirk_huawei_pcie_sva() instead of with the
>> old device_add_properties() API.
>>
>> Signed-off-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
> This is fine with me, but please update the subject line and commit
> log something like this:
>
> PCI: Convert to device_create_managed_software_node()
>
> In quirk_huawei_pcie_sva(), use device_create_managed_software_node()
> instead of device_add_properties() to set the "dma-can-stall"
> property.
>
> This resolves a software node lifetime issue (see 151f6ff78cdf
> ("software node: Provide replacement for device_add_properties()"))
> and paves the way for removing device_add_properties() completely.
>
> Actually, 8304a3a199ee was merged during the v5.15 merge window, so if
> this does in fact fix a lifetime issue, I can merge this before
> v5.15-final.
>
> I know *this* quirk applies to AMBA devices, and I assume they cannot
> be removed, so there's no actual lifetime problem in this particular
> case, but in general it looks like a problem for PCI devices.
Thanks Bjorn
This patch also works, though the quirk is for platform devices and not
removed.
Acked-by: Zhangfei Gao <zhangfei.gao@...aro.org>
>
>> ---
>> drivers/pci/quirks.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
>> index b6b4c803bdc94..fe5eedba47908 100644
>> --- a/drivers/pci/quirks.c
>> +++ b/drivers/pci/quirks.c
>> @@ -1850,7 +1850,7 @@ static void quirk_huawei_pcie_sva(struct pci_dev *pdev)
>> * can set it directly.
>> */
>> if (!pdev->dev.of_node &&
>> - device_add_properties(&pdev->dev, properties))
>> + device_create_managed_software_node(&pdev->dev, properties, NULL))
>> pci_warn(pdev, "could not add stall property");
>> }
>> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_HUAWEI, 0xa250, quirk_huawei_pcie_sva);
>> --
>> 2.33.0
>>
Powered by blists - more mailing lists