Re: [PATCH] usb: dwc3: use proper initializers for property entries

From: Marek Szyprowski
Date: Tue Jan 07 2020 - 06:32:38 EST


Hi All,

On 15.12.2019 17:41, Hans de Goede wrote:
> Hi,
>
> On 13-12-2019 18:46, Dmitry Torokhov wrote:
>> We should not be reaching into property entries and initialize them by
>> hand, but rather use proper initializer macros. This way we can alter
>> internal representation of property entries with no visible changes to
>> their users.
>>
>> Reported-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
>> Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
>> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
>> ---
>>
>> It would be good if this could go through Rafael's tree as it is needed
>> for the rest of my software_node/property_entry rework patch series
>> which I would love not to delay till 5.6.
>
> Patch looks good to me:
>
> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>

This patch is instantly needed as the issue it fixes is again triggered
in current (20200107) linux-next by commit e6bff4665c59 "software node:
replace is_array with is_inline".

Felipe: could You ack it, so it could be merged via Rafael's tree
together with related device property changes?

>>
>> Â drivers/usb/dwc3/host.c | 6 +++---
>> Â 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/usb/dwc3/host.c b/drivers/usb/dwc3/host.c
>> index 5567ed2cddbec..fa252870c926f 100644
>> --- a/drivers/usb/dwc3/host.c
>> +++ b/drivers/usb/dwc3/host.c
>> @@ -88,10 +88,10 @@ int dwc3_host_init(struct dwc3 *dwc)
>> ÂÂÂÂÂ memset(props, 0, sizeof(struct property_entry) *
>> ARRAY_SIZE(props));
>> Â ÂÂÂÂÂ if (dwc->usb3_lpm_capable)
>> -ÂÂÂÂÂÂÂ props[prop_idx++].name = "usb3-lpm-capable";
>> +ÂÂÂÂÂÂÂ props[prop_idx++] = PROPERTY_ENTRY_BOOL("usb3-lpm-capable");
>> Â ÂÂÂÂÂ if (dwc->usb2_lpm_disable)
>> -ÂÂÂÂÂÂÂ props[prop_idx++].name = "usb2-lpm-disable";
>> +ÂÂÂÂÂÂÂ props[prop_idx++] = PROPERTY_ENTRY_BOOL("usb2-lpm-disable");
>> Â ÂÂÂÂÂ /**
>> ÂÂÂÂÂÂ * WORKAROUND: dwc3 revisions <=3.00a have a limitation
>> @@ -103,7 +103,7 @@ int dwc3_host_init(struct dwc3 *dwc)
>> ÂÂÂÂÂÂ * This following flag tells XHCI to do just that.
>> ÂÂÂÂÂÂ */
>> ÂÂÂÂÂ if (dwc->revision <= DWC3_REVISION_300A)
>> -ÂÂÂÂÂÂÂ props[prop_idx++].name = "quirk-broken-port-ped";
>> +ÂÂÂÂÂÂÂ props[prop_idx++] =
>> PROPERTY_ENTRY_BOOL("quirk-broken-port-ped");
>> Â ÂÂÂÂÂ if (prop_idx) {
>> ÂÂÂÂÂÂÂÂÂ ret = platform_device_add_properties(xhci, props);
>>
>
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland