Linux USB
 help / color / mirror / Atom feed
From: Peter Stuge <peter@stuge.se>
To: "Noralf Trønnes" <noralf@tronnes.org>
Cc: hudson@trmm.net, markus@raatikainen.cc,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	linux-usb@vger.kernel.org, dri-devel@lists.freedesktop.org,
	th020394@gmail.com, lkundrak@v3.sk, pontus.fuchs@gmail.com,
	sam@ravnborg.org
Subject: Re: [PATCH v6 3/3] drm: Add GUD USB Display driver
Date: Sun, 28 Feb 2021 01:52:09 +0000	[thread overview]
Message-ID: <20210228015209.3252.qmail@stuge.se> (raw)
In-Reply-To: <3ee3fad6-61be-b848-a68f-df7c2e0001f9@tronnes.org>

Noralf Trønnes wrote:
> Peter, please have a look at this diff and see if I'm on the right track
> here: https://gist.github.com/notro/a43a93a3aa0cc75d930890b7b254fc0a

Yes that's exactly what I meant; this way the possibility for contradicting
sizes is eliminated by protocol and not just by implementation - very nice!

Some more comments, sorry if this is just because of ongoing work:

Perhaps the functions taking usb_device + ifnum could take usb_interface
instead - but I don't know if that would simplify or complicate things.
Alan mentioned this idea in similar circumstances in another thread.
I don't feel strongly, but perhaps it's cleaner.

gud_usb_control_msg() now seems almost redundant, maybe it could be removed.

In gud_usb_set() if NULL == buf then that's passed to usb_control_msg()
along with len, which likely crashes if len > 0, so it may be good to
check or enforce that, maybe with else len=0; before the gud_usb_transfer()
call.

Finally a small style note that I'd personally change a few if (ret > 0) {
blocks to have one indent level less and do each check right away, e.g. in
gud_connector_get_modes():

ret = gud_usb_get()
if (ret % EDID_LENGTH) {
	drm_err();
} else if (ret > 0) {
	edid_ctx.len = ret;
	edid = drm_do_get_edid();
}

and later on in the function by the display modes one indent level
could be saved with a goto:

if (ret <= 0)
	goto out;

but obviously no huge deal.


In general it's really helpful for device development to see error messages
when the device behaves incorrectly, the "Invalid .. size" errors are great
examples of this, but e.g. gud_get_display_descriptor() returns -EIO without
a message. Maybe there are opportunities for further helpful error messages?


Thanks a lot and kind regards

//Peter

  reply	other threads:[~2021-02-28  1:53 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-19 12:16 [PATCH v6 0/3] GUD USB Display driver Noralf Trønnes
2021-02-19 12:17 ` [PATCH v6 1/3] drm/uapi: Add USB connector type Noralf Trønnes
2021-02-19 12:17 ` [PATCH v6 2/3] drm/probe-helper: Check epoch counter in output_poll_execute() Noralf Trønnes
2021-02-19 12:17 ` [PATCH v6 3/3] drm: Add GUD USB Display driver Noralf Trønnes
2021-02-19 21:42   ` Peter Stuge
2021-02-20 17:27     ` Noralf Trønnes
2021-02-26 12:09       ` Noralf Trønnes
2021-02-28  1:52         ` Peter Stuge [this message]
2021-02-28 21:04           ` Noralf Trønnes
2021-02-25  9:58   ` Peter Stuge
2021-02-25 18:06     ` Noralf Trønnes
2021-02-25 21:37       ` Peter Stuge
2021-02-26 12:18         ` Noralf Trønnes
     [not found]       ` <20210225213729.GG20076@stuge.se>
2021-03-01 18:31         ` Peter Stuge
2021-03-01 21:41           ` Noralf Trønnes

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=20210228015209.3252.qmail@stuge.se \
    --to=peter@stuge.se \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hudson@trmm.net \
    --cc=linux-usb@vger.kernel.org \
    --cc=lkundrak@v3.sk \
    --cc=markus@raatikainen.cc \
    --cc=noralf@tronnes.org \
    --cc=pontus.fuchs@gmail.com \
    --cc=sam@ravnborg.org \
    --cc=th020394@gmail.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