2019-12-12 21:24:11

by Doug Anderson

[permalink] [raw]
Subject: [PATCH] usb: dwc3: qcom: Remove useless compatible strings from the match table

The of match table in dwc3-qcom.c had an entry per Qualcomm SoC known
to have dwc3. That's not needed. Here's why:

1. The bindings specify that the compatible string in the device tree
should contain the SoC-specific compatible string followed by the
string "qcom,dwc3".

2. All known Qualcomm SoC dts files (confirmed via git grep in
mainline Linux) using dwc3 follow the rules and do, in fact,
contain the SoC-specific compatible string followed by the string
"qcom,dwc3".

3. The source code does nothing special with the per-SoC strings--they
are only used to match the node.

Let's remove the extra strings from the table. Doing so will avoid
the need to land future useless patches [1] that do nothing more than
add yet more strings to the table.

NOTE: if later we _do_ find some SoC-specific quirk we need to handle
in the code we can add back a subset of these strings. At the time we
will probably also add some data in the match table to make it easier
to generalize this hypothetical quirk across all the SoCs it affects.

[1] https://lore.kernel.org/r/[email protected]

Signed-off-by: Douglas Anderson <[email protected]>
---

drivers/usb/dwc3/dwc3-qcom.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index 261af9e38ddd..72e867e02a1c 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -751,9 +751,6 @@ static const struct dev_pm_ops dwc3_qcom_dev_pm_ops = {

static const struct of_device_id dwc3_qcom_of_match[] = {
{ .compatible = "qcom,dwc3" },
- { .compatible = "qcom,msm8996-dwc3" },
- { .compatible = "qcom,msm8998-dwc3" },
- { .compatible = "qcom,sdm845-dwc3" },
{ }
};
MODULE_DEVICE_TABLE(of, dwc3_qcom_of_match);
--
2.24.1.735.g03f4e72817-goog


2019-12-12 23:24:49

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] usb: dwc3: qcom: Remove useless compatible strings from the match table

On Thu 12 Dec 13:21 PST 2019, Douglas Anderson wrote:

> The of match table in dwc3-qcom.c had an entry per Qualcomm SoC known
> to have dwc3. That's not needed. Here's why:
>
> 1. The bindings specify that the compatible string in the device tree
> should contain the SoC-specific compatible string followed by the
> string "qcom,dwc3".
>
> 2. All known Qualcomm SoC dts files (confirmed via git grep in
> mainline Linux) using dwc3 follow the rules and do, in fact,
> contain the SoC-specific compatible string followed by the string
> "qcom,dwc3".
>
> 3. The source code does nothing special with the per-SoC strings--they
> are only used to match the node.
>
> Let's remove the extra strings from the table. Doing so will avoid
> the need to land future useless patches [1] that do nothing more than
> add yet more strings to the table.
>
> NOTE: if later we _do_ find some SoC-specific quirk we need to handle
> in the code we can add back a subset of these strings. At the time we
> will probably also add some data in the match table to make it easier
> to generalize this hypothetical quirk across all the SoCs it affects.
>
> [1] https://lore.kernel.org/r/[email protected]
>

Reviewed-by: Bjorn Andersson <[email protected]>

> Signed-off-by: Douglas Anderson <[email protected]>
> ---
>
> drivers/usb/dwc3/dwc3-qcom.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index 261af9e38ddd..72e867e02a1c 100644
> --- a/drivers/usb/dwc3/dwc3-qcom.c
> +++ b/drivers/usb/dwc3/dwc3-qcom.c
> @@ -751,9 +751,6 @@ static const struct dev_pm_ops dwc3_qcom_dev_pm_ops = {
>
> static const struct of_device_id dwc3_qcom_of_match[] = {
> { .compatible = "qcom,dwc3" },
> - { .compatible = "qcom,msm8996-dwc3" },
> - { .compatible = "qcom,msm8998-dwc3" },
> - { .compatible = "qcom,sdm845-dwc3" },
> { }
> };
> MODULE_DEVICE_TABLE(of, dwc3_qcom_of_match);
> --
> 2.24.1.735.g03f4e72817-goog
>

2019-12-13 07:09:22

by Manu Gautam

[permalink] [raw]
Subject: Re: [PATCH] usb: dwc3: qcom: Remove useless compatible strings from the match table

Thanks. Patch looks good to me.

On 12/13/2019 2:51 AM, Douglas Anderson wrote:
> The of match table in dwc3-qcom.c had an entry per Qualcomm SoC known
> to have dwc3. That's not needed. Here's why:
>
> 1. The bindings specify that the compatible string in the device tree
> should contain the SoC-specific compatible string followed by the
> string "qcom,dwc3".
>
> 2. All known Qualcomm SoC dts files (confirmed via git grep in
> mainline Linux) using dwc3 follow the rules and do, in fact,
> contain the SoC-specific compatible string followed by the string
> "qcom,dwc3".
>
> 3. The source code does nothing special with the per-SoC strings--they
> are only used to match the node.
>
> Let's remove the extra strings from the table. Doing so will avoid
> the need to land future useless patches [1] that do nothing more than
> add yet more strings to the table.

Reviewed-by: Manu Gautam <[email protected]>

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project