Thread (21 messages) 21 messages, 6 authors, 2021-01-28

Re: [PATCH v10] staging: fbtft: add tearing signal detect

From: Kari Argillander <hidden>
Date: 2021-01-28 10:00:25
Also in: dri-devel, lkml

On Thu, Jan 28, 2021 at 10:42:54AM +0100, Geert Uytterhoeven wrote:
Hi Kari,

On Thu, Jan 28, 2021 at 7:53 AM Kari Argillander
[off-list ref] wrote:
quoted
On Thu, Jan 28, 2021 at 09:42:58AM +0800, carlis wrote:
quoted
On Thu, 28 Jan 2021 00:32:22 +0200
Kari Argillander [off-list ref] wrote:
quoted
quoted
@@ -82,6 +111,33 @@ enum st7789v_command {
  */
 static int init_display(struct fbtft_par *par)
 {
+ int rc;
+ struct device *dev = par->info->device;
+
+ par->gpio.te = devm_gpiod_get_index_optional(dev, "te", 0,
GPIOD_IN);
+ if (IS_ERR(par->gpio.te)) {
+         rc = PTR_ERR(par->gpio.te);
+         dev_err(par->info->device, "Failed to request te
gpio: %d\n", rc);
+         return rc;
+ }
You request with optinal and you still want to error out? We could
just continue and not care about that error. User will be happier if
device still works somehow.
devm_gpiod_get_index_optional() returns NULL, not an error, if the
GPIO is not found.  So if IS_ERR() is the right check.

And checks for -EPROBE_DEFER can be handled automatically
by using dev_err_probe() instead of dev_err().
Yeah. Thanks for pointing that clearly.
quoted
quoted
You mean i just delete this dev_err print ?!
like this:
      par->gpio.te = devm_gpiod_get_index_optional(dev, "te",
0,GPIOD_IN);
        if (IS_ERR(par->gpio.te))
              return PTR_ERR(par->gpio.te);
Not exactly. I'm suggesting something like this.

if (IS_ERR(par->gpio.te) == -EPROBE_DEFER) {
        return -EPROBE_DEFER;

if (IS_ERR(par->gpio.te))
        par-gpio.te = NULL;

This like beginning of your patch series but the difference is that if
EPROBE_DEFER then we will try again later. Any other error and we will
just ignore TE gpio. But this is up to you what you want to do. To me
this just seems place where this kind of logic can work.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help