[U-Boot] [PATCH 1/1] usb: gadget: g_dnl: Use serial# variable to set g_dnl_serial
Ćukasz Majewski
lukma at denx.de
Thu Aug 31 20:24:56 UTC 2017
On 08/31/2017 08:45 PM, Sam Protsenko wrote:
> On 31 August 2017 at 21:20, Sam Protsenko <semen.protsenko at linaro.org> wrote:
>> Since 842778a09104 commit, "fastboot devices" stopped to show correct
>> device serial number for TI boards, showing this line instead:
>>
>> ???????????? fastboot
>>
>> This is because serial# env variable could be set after g_dnl gadget was
>> initialized (e.g. by using env_set() in the board file).
>>
>> To fix this, before checking g_dnl_serial, let's re-check if we have
>> valid serial# value. And if so, let's set it as g_dnl_serial value.
>>
>> Signed-off-by: Sam Protsenko <semen.protsenko at linaro.org>
>> ---
>> drivers/usb/gadget/g_dnl.c | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c
>> index 0491a0eea9..e4d0289757 100644
>> --- a/drivers/usb/gadget/g_dnl.c
>> +++ b/drivers/usb/gadget/g_dnl.c
>> @@ -226,6 +226,15 @@ static int g_dnl_bind(struct usb_composite_dev *cdev)
>>
>> g_dnl_bind_fixup(&device_desc, cdev->driver->name);
>>
>> + /* First try to obtain serial number from serial# variable */
>> + if (strlen(g_dnl_serial) == 0) {
>> + const char *s;
>> +
>> + s = env_get("serial#");
>> + if (s)
>> + g_dnl_set_serialnumber((char *)s);
>> + }
>> +
>> if (strlen(g_dnl_serial)) {
>> id = usb_string_id(cdev);
>> if (id < 0)
>> --
>> 2.14.1
>>
>
> Similar commit: [1]. But I'm not sure that implementing
> g_dnl_bind_fixup() in board file is the best way to fix it.
>
> [1] http://git.denx.de/?p=u-boot.git;a=commit;h=e91ead868b536d0a0dc49aa48f4d8c80c1a94b79
>
I would opt for having g_dnl_bind_fixup() since it is generally used for
tweaking board specific data to gadget subsystem (like vid, pid, serial
number).
--
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
More information about the U-Boot
mailing list