[U-Boot] [PATCH] usb: kbd: don't fail with iomux
Bin Meng
bmeng.cn at gmail.com
Fri Aug 4 13:08:24 UTC 2017
Hi Rob,
On Fri, Aug 4, 2017 at 8:51 PM, Rob Clark <robdclark at gmail.com> wrote:
> On Fri, Aug 4, 2017 at 8:35 AM, Bin Meng <bmeng.cn at gmail.com> wrote:
>> Hi Rob,
>>
>> On Fri, Aug 4, 2017 at 7:52 PM, Rob Clark <robdclark at gmail.com> wrote:
>>> stdin might not be set, which would cause iomux_doenv() to fail
>>> therefore causing probe_usb_keyboard() to fail. Furthermore if we do
>>> have iomux enabled, the sensible thing (in terms of user experience)
>>> would be to simply add ourselves to the list of stdin devices.
>>>
>>> This fixes an issue with usbkbd on dragonboard410c with distro-
>>> bootcmd, where stdin is not set (so stdinname is null).
>>>
>>> Signed-off-by: Rob Clark <robdclark at gmail.com>
>>> ---
>>> v2: address Bin's review comments
>>> v3: fix fail with free()ing if usbkbd is already in stdin env variable
>>> pointed out by Simon
>>>
>>
>> Can you please indicate the version number in the email title next
>> time? It's really hard to track which version the patch is.
>
> ok, I had assumed u-boot followed linux kernel conventions of history
> below the "---" so it doesn't end up in git history.
Yes, U-Boot follows the same Linux kernel conventions with regard to
patch submission. What I was saying is not the commit title. It's the
email title, something like "[PATCH v3] usb: kbd: don't fail with
iomux"
>
>>> common/usb_kbd.c | 15 +++++++++++++++
>>> 1 file changed, 15 insertions(+)
>>>
>>> diff --git a/common/usb_kbd.c b/common/usb_kbd.c
>>> index d2d29cc98f..703dd748f5 100644
>>> --- a/common/usb_kbd.c
>>> +++ b/common/usb_kbd.c
>>> @@ -517,7 +517,22 @@ static int probe_usb_keyboard(struct usb_device *dev)
>>>
>>> stdinname = getenv("stdin");
>>> #if CONFIG_IS_ENABLED(CONSOLE_MUX)
>>> + char *devname = DEVNAME;
>>> + /*
>>> + * stdin might not be set yet.. either way, with console-mux the
>>> + * sensible thing to do is add ourselves to the list of stdio
>>> + * devices:
>>> + */
>>> + if (stdinname && !strstr(stdinname, DEVNAME)) {
>>> + char *newstdin = malloc(strlen(stdinname) + strlen(","DEVNAME) + 1);
>>> + sprintf(newstdin, "%s,"DEVNAME, stdinname);
>>> + stdinname = newstdin;
>>> + } else if (!stdinname) {
>>> + stdinname = devname;
>>> + }
>>> error = iomux_doenv(stdin, stdinname);
>>> + if (stdinname != devname)
>>> + free(stdinname);
>>> if (error)
>>> return error;
>>> #else
>>
>> And what's the difference between this "v3" and previous "v2"?
>>
>> Previous v2 is here: http://patchwork.ozlabs.org/patch/797418/
>>
>
> Nothing because I apparently passed the old commit sha to
> git-format-patch again. Sorry about that. (I guess I'm doing too
> many things at once with trying to finalize a big efi_loader patchset
> in parallel with bisecting a couple remaining nonsensical travis
> failures as well as updating and resending these various other
> unrelated patches.)
>
You really should start trying patman instead of git-format-patch :)
> I'll resend the real v3 in a moment.
>
Regards,
Bin
More information about the U-Boot
mailing list