From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
To: "Krzysztof Wilczyński" <kw@linux.com>
Cc: linux-pci@vger.kernel.org, ryder.lee@mediatek.com,
jianjun.wang@mediatek.com, lpieralisi@kernel.org,
robh@kernel.org, bhelgaas@google.com, matthias.bgg@gmail.com,
linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, kernel@collabora.com,
fshao@chromium.org,
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Subject: Re: [PATCH v4 2/2] PCI: mediatek-gen3: Add support for restricting link width
Date: Wed, 6 Nov 2024 14:29:29 +0100 [thread overview]
Message-ID: <e2e41af9-ed09-4ac5-9481-e605d1340b3d@collabora.com> (raw)
In-Reply-To: <20241104132046.GA2504924@rocinante>
Il 04/11/24 14:20, Krzysztof Wilczyński ha scritto:
>
> Hello,
>
>> + ret = of_property_read_u32(dev->of_node, "num-lanes", &num_lanes);
>> + if (ret == 0) {
>> + if (num_lanes == 0 || num_lanes > 16 || (num_lanes != 1 && num_lanes % 2))
>> + dev_warn(dev, "Invalid num-lanes, using controller defaults\n");
>> + else
>> + pcie->num_lanes = num_lanes;
>> + }
>> +
>> return 0;
>> }
>
> If you were to handle non-zero return value as an error here, perhaps the
> property has not been set, then we could reduce the indentation here.
>
> Something like this, perhaps?
>
> ret = of_property_read_u32(dev->of_node, "num-lanes", &num_lanes);
> if (ret) {
> dev_err(dev, "Failed to read num-lanes: %d\n", ret);
> return ret;
> }
>
> if (!num_lanes || num_lanes > 16 || (num_lanes != 1 && num_lanes % 2))
> dev_warn(dev, "Invalid num-lanes, using controller defaults\n");
> else
> pcie->num_lanes = num_lanes;
>
> Does this make sense here? Thoughts?
>
> Krzysztof
Sorry I've just seen this email.
There's a problem here: this property has to be optional - and if you change that
to return like that, you're breaking compatibility with older device trees, which
are not specifying any "num-lanes" property.
Please remember that of_property_read_u32() returns:
- 0 on success
- -EINVAL if the property does not exist
- -ENODATA or -EOVERFLOW
Please either keep the error checking like I wrote, or alternatively you can do..
ret = of_property_read_u32(...)
if (ret != -EINVAL) {
dev_err(dev, "Failed to read num-lanes: %d\n", ret);
return ret;
} else {
if (num_lanes == 0 || ..... etc etc)
dev_warn()
else
pcie->num_lanes = num_lanes
}
Cheers,
Angelo
next prev parent reply other threads:[~2024-11-06 13:29 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-04 11:49 [PATCH v4 0/2] PCI: mediatek-gen3: Support limiting link speed and width AngeloGioacchino Del Regno
2024-11-04 11:49 ` [PATCH v4 1/2] PCI: mediatek-gen3: Add support for setting max-link-speed limit AngeloGioacchino Del Regno
2024-11-04 13:06 ` Krzysztof Wilczyński
2024-11-04 13:10 ` AngeloGioacchino Del Regno
2024-11-04 13:25 ` Krzysztof Wilczyński
2024-11-08 1:43 ` Jianjun Wang (王建军)
2024-11-11 20:47 ` Krzysztof Wilczyński
2024-11-06 1:22 ` Bjorn Helgaas
2024-11-04 11:49 ` [PATCH v4 2/2] PCI: mediatek-gen3: Add support for restricting link width AngeloGioacchino Del Regno
2024-11-04 13:20 ` Krzysztof Wilczyński
2024-11-06 13:29 ` AngeloGioacchino Del Regno [this message]
2024-11-06 14:02 ` Krzysztof Wilczyński
2024-11-06 1:24 ` Bjorn Helgaas
2024-11-06 7:43 ` Jianjun Wang (王建军)
2024-11-04 17:00 ` [PATCH v4 0/2] PCI: mediatek-gen3: Support limiting link speed and width Krzysztof Wilczyński
2024-11-04 17:02 ` Krzysztof Wilczyński
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=e2e41af9-ed09-4ac5-9481-e605d1340b3d@collabora.com \
--to=angelogioacchino.delregno@collabora.com \
--cc=bhelgaas@google.com \
--cc=fshao@chromium.org \
--cc=jianjun.wang@mediatek.com \
--cc=kernel@collabora.com \
--cc=kw@linux.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=matthias.bgg@gmail.com \
--cc=robh@kernel.org \
--cc=ryder.lee@mediatek.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox