From: Stanimir Varbanov <svarbanov@mm-sol.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robh+dt@kernel.org>,
Kumar Gala <galak@codeaurora.org>,
Mark Rutland <mark.rutland@arm.com>,
Grant Likely <grant.likely@linaro.org>,
Bjorn Helgaas <bhelgaas@google.com>,
Kishon Vijay Abraham I <kishon@ti.com>,
Russell King <linux@arm.linux.org.uk>,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
linux-pci@vger.kernel.org
Subject: Re: [PATCH 4/5] PCI: qcom: Add Qualcomm PCIe controller driver
Date: Tue, 16 Dec 2014 11:43:12 +0200 [thread overview]
Message-ID: <548FFEB0.9080604@mm-sol.com> (raw)
In-Reply-To: <2577563.x0mEZJNVDQ@wuerfel>
Hi Arnd,
Thanks for the comments!
On 12/12/2014 07:30 PM, Arnd Bergmann wrote:
> On Friday 12 December 2014 19:14:00 Stanimir Varbanov wrote:
>> The PCIe driver reuse the Designware common code for host
>> and MSI initialization, and also program the Qualcomm
>> application specific registers.
>>
>> Signed-off-by: Stanimir Varbanov <svarbanov@mm-sol.com>
>
> Looks nice!
>
>> +static int
>> +qcom_pcie_rd_own_conf(struct pcie_port *pp, int where, int size, u32 *val)
>> +{
>> + if (where == PCI_CLASS_REVISION && size == 4) {
>> + *val = readl(pp->dbi_base + PCI_CLASS_REVISION);
>> + *val &= ~(0xffff << 16);
>> + *val |= PCI_CLASS_BRIDGE_PCI << 16;
>> + return PCIBIOS_SUCCESSFUL;
>> + }
>> +
>> + return dw_pcie_cfg_read(pp->dbi_base + (where & ~0x3), where,
>> + size, val);
>> +}
>
> Could you add a comment here to explain what this is for?
Sure I will add a comment. The issue is that the pci device class is not
reported correctly from the register.
>
>> +static int __init qcom_pcie_probe(struct platform_device *pdev)
>> +{
>
> I think it's a bug to mark this function as __init. It breaks
> deferred probing and detaching/reattaching the device trough sysfs.
>
My bad, I have tried to avoid mismatch section warnings came up from
dw_pcie_host_init() which is annotated as __init. Do you think we need
to remove __init from dw_pcie_host_init() declaration and fix the
drivers accordingly?
> After you fix that, you can remove the __refdata below.
>
>> +static struct platform_driver __refdata qcom_pcie_driver = {
>> + .probe = qcom_pcie_probe,
>> + .remove = qcom_pcie_remove,
>> + .driver = {
>> + .name = "qcom-pcie",
>> + .of_match_table = qcom_pcie_match,
>> + },
>> +};
>
> Arnd
>
regards,
Stan
WARNING: multiple messages have this Message-ID (diff)
From: svarbanov@mm-sol.com (Stanimir Varbanov)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/5] PCI: qcom: Add Qualcomm PCIe controller driver
Date: Tue, 16 Dec 2014 11:43:12 +0200 [thread overview]
Message-ID: <548FFEB0.9080604@mm-sol.com> (raw)
In-Reply-To: <2577563.x0mEZJNVDQ@wuerfel>
Hi Arnd,
Thanks for the comments!
On 12/12/2014 07:30 PM, Arnd Bergmann wrote:
> On Friday 12 December 2014 19:14:00 Stanimir Varbanov wrote:
>> The PCIe driver reuse the Designware common code for host
>> and MSI initialization, and also program the Qualcomm
>> application specific registers.
>>
>> Signed-off-by: Stanimir Varbanov <svarbanov@mm-sol.com>
>
> Looks nice!
>
>> +static int
>> +qcom_pcie_rd_own_conf(struct pcie_port *pp, int where, int size, u32 *val)
>> +{
>> + if (where == PCI_CLASS_REVISION && size == 4) {
>> + *val = readl(pp->dbi_base + PCI_CLASS_REVISION);
>> + *val &= ~(0xffff << 16);
>> + *val |= PCI_CLASS_BRIDGE_PCI << 16;
>> + return PCIBIOS_SUCCESSFUL;
>> + }
>> +
>> + return dw_pcie_cfg_read(pp->dbi_base + (where & ~0x3), where,
>> + size, val);
>> +}
>
> Could you add a comment here to explain what this is for?
Sure I will add a comment. The issue is that the pci device class is not
reported correctly from the register.
>
>> +static int __init qcom_pcie_probe(struct platform_device *pdev)
>> +{
>
> I think it's a bug to mark this function as __init. It breaks
> deferred probing and detaching/reattaching the device trough sysfs.
>
My bad, I have tried to avoid mismatch section warnings came up from
dw_pcie_host_init() which is annotated as __init. Do you think we need
to remove __init from dw_pcie_host_init() declaration and fix the
drivers accordingly?
> After you fix that, you can remove the __refdata below.
>
>> +static struct platform_driver __refdata qcom_pcie_driver = {
>> + .probe = qcom_pcie_probe,
>> + .remove = qcom_pcie_remove,
>> + .driver = {
>> + .name = "qcom-pcie",
>> + .of_match_table = qcom_pcie_match,
>> + },
>> +};
>
> Arnd
>
regards,
Stan
next prev parent reply other threads:[~2014-12-16 9:43 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-12 17:13 [PATCH 0/5] Qualcomm PCIe and PCIe/PHY drivers Stanimir Varbanov
2014-12-12 17:13 ` Stanimir Varbanov
2014-12-12 17:13 ` [PATCH 1/5] DT: phy: qcom: Add PCIe PHY devicetree bindings Stanimir Varbanov
2014-12-12 17:13 ` Stanimir Varbanov
2014-12-12 17:13 ` [PATCH 2/5] phy: qcom: Add Qualcomm PCIe PHY Stanimir Varbanov
2014-12-12 17:13 ` Stanimir Varbanov
2015-01-21 9:11 ` Kishon Vijay Abraham I
2015-01-21 9:11 ` Kishon Vijay Abraham I
2015-01-21 9:11 ` Kishon Vijay Abraham I
2015-01-21 9:52 ` Stanimir Varbanov
2015-01-21 9:52 ` Stanimir Varbanov
2014-12-12 17:13 ` [PATCH 3/5] DT: PCI: qcom: Document PCIe devicetree bindings Stanimir Varbanov
2014-12-12 17:13 ` Stanimir Varbanov
2014-12-12 17:14 ` [PATCH 4/5] PCI: qcom: Add Qualcomm PCIe controller driver Stanimir Varbanov
2014-12-12 17:14 ` Stanimir Varbanov
2014-12-12 17:30 ` Arnd Bergmann
2014-12-12 17:30 ` Arnd Bergmann
2014-12-16 9:43 ` Stanimir Varbanov [this message]
2014-12-16 9:43 ` Stanimir Varbanov
2014-12-16 9:54 ` Arnd Bergmann
2014-12-16 9:54 ` Arnd Bergmann
2015-01-12 18:20 ` Bjorn Helgaas
2015-01-12 18:20 ` Bjorn Helgaas
2014-12-12 17:14 ` [PATCH 5/5] ARM: qcom: Add Qualcomm APQ8084 SoC Stanimir Varbanov
2014-12-12 17:14 ` Stanimir Varbanov
2014-12-12 17:33 ` Arnd Bergmann
2014-12-12 17:33 ` Arnd Bergmann
2015-01-06 15:24 ` Stanimir Varbanov
2015-01-06 15:24 ` Stanimir Varbanov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=548FFEB0.9080604@mm-sol.com \
--to=svarbanov@mm-sol.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=grant.likely@linaro.org \
--cc=kishon@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.