From: jacopo mondi <jacopo@jmondi.org>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Jacopo Mondi <jacopo+renesas@jmondi.org>,
architt@codeaurora.org, a.hajda@samsung.com,
Laurent.pinchart@ideasonboard.com, airlied@linux.ie,
horms@verge.net.au, magnus.damm@gmail.com, geert@linux-m68k.org,
niklas.soderlund@ragnatech.se, robh+dt@kernel.org,
mark.rutland@arm.com, dri-devel@lists.freedesktop.org,
linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/3] drm: bridge: Add thc63lvd1024 LVDS decoder driver
Date: Wed, 14 Mar 2018 19:04:38 +0100 [thread overview]
Message-ID: <20180314180438.GD16424@w540> (raw)
In-Reply-To: <a893a17c-367d-4f61-f835-4b6b420dc597@cogentembedded.com>
[-- Attachment #1: Type: text/plain, Size: 3736 bytes --]
Hi Sergei,
thanks for review
On Wed, Mar 14, 2018 at 08:09:52PM +0300, Sergei Shtylyov wrote:
> On 03/13/2018 05:30 PM, Jacopo Mondi wrote:
>
> > Add DRM bridge driver for Thine THC63LVD1024 LVDS to digital parallel
> > output decoder.
> >
> > Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
> [...]
> > diff --git a/drivers/gpu/drm/bridge/thc63lvd1024.c b/drivers/gpu/drm/bridge/thc63lvd1024.c
> > new file mode 100644
> > index 0000000..4b059c0
> > --- /dev/null
> > +++ b/drivers/gpu/drm/bridge/thc63lvd1024.c
> > @@ -0,0 +1,241 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * THC63LVD1024 LVDS to parallel data DRM bridge driver.
> > + *
> > + * Copyright (C) 2018 Jacopo Mondi <jacopo+renesas@jmondi.org>
> > + */
> > +
> > +#include <drm/drmP.h>
> > +#include <drm/drm_bridge.h>
> > +#include <drm/drm_panel.h>
> > +
> > +#include <linux/gpio/consumer.h>
> > +#include <linux/of_graph.h>
> > +#include <linux/regulator/consumer.h>
> > +
> > +static const char * const thc63_reg_names[] = {
> > + "vcc", "lvcc", "pvcc", "cvcc", };
>
> Your bracing style is pretty strange -- neither here nor there. Please place };
> on the next line...
Yeah, I had doubt about this.. The most common style I found around is
static const char * const foo[] = {
"bar",
"baz",
"...",
};
But seems really too many lines for a bunch of 4 character strings...
>
> [...]
> > +static void thc63_enable(struct drm_bridge *bridge)
> > +{
> > + struct thc63_dev *thc63 = to_thc63(bridge);
> > + struct regulator *vcc;
> > + unsigned int i;
> > + int ret;
> > +
> > + for (i = 0; i < ARRAY_SIZE(thc63->vccs); i++) {
> > + vcc = thc63->vccs[i];
> > + if (vcc) {
> > + ret = regulator_enable(vcc);
> > + if (ret)
>
> You hardly need this variable, could do a call right in this *if*.
>
> [...]
> > +error_vcc_enable:
> > + dev_err(thc63->dev, "Failed to enable regulator %u\n", i);
> > +}
> > +
>
> Why not do this instead of *goto* before?
Well, goto breaks the loop, if I only print out the error message, the
enable sequence will go on and enable the other regulators.
I can print out and break, but I don't see that much benefit
One thing I could do instead, is not only print out the error message,
but disable the already enabled regulators if one fails to start.
>
> > +static void thc63_disable(struct drm_bridge *bridge)
> > +{
> > + struct thc63_dev *thc63 = to_thc63(bridge);
> > + struct regulator *vcc;
> > + unsigned int i;
> > + int ret;
> > +
> > + for (i = 0; i < ARRAY_SIZE(thc63->vccs); i++) {
> > + vcc = thc63->vccs[i];
> > + if (vcc) {
> > + ret = regulator_disable(vcc);
> > + if (ret)
>
> Again, no need for 'ret' whatsoever...
>
> > + goto error_vcc_disable;
> > + }
> > + }
> > +
> > + if (thc63->pwdn)
> > + gpiod_set_value(thc63->pwdn, 1);
> > +
> > + if (thc63->oe)
> > + gpiod_set_value(thc63->oe, 0);
> > +
> > + return;
> > +
> > +error_vcc_disable:
> > + dev_err(thc63->dev, "Failed to disable regulator %u\n", i);
>
> Again, why not do it instead of *goto*?
ditto
>
> [...]
> > +static int thc63_gpio_init(struct thc63_dev *thc63)
> > +{
> > + thc63->pwdn = devm_gpiod_get_optional(thc63->dev, "pwdn",
> > + GPIOD_OUT_LOW);
> > + if (IS_ERR(thc63->pwdn)) {
> > + dev_err(thc63->dev, "Unable to get GPIO \"pwdn\"\n");
>
> "pwdn-gpios" maybe?
>
> > + return PTR_ERR(thc63->pwdn);
> > + }
> > +
> > + thc63->oe = devm_gpiod_get_optional(thc63->dev, "oe", GPIOD_OUT_LOW);
> > + if (IS_ERR(thc63->oe)) {
> > + dev_err(thc63->dev, "Unable to get GPIO \"oe\"\n");
>
> "oe-gpios" maybe?
Are you referring to the error message? I can change this, but again, I
see no standards around.
Thanks
j
>
> [...]
>
> MBR, Sergei
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2018-03-14 18:10 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-13 14:30 [PATCH v3 0/3] drm: Add Thine THC63LVD1024 LVDS decoder bridge Jacopo Mondi
2018-03-13 14:30 ` [PATCH v3 1/3] dt-bindings: display: bridge: Document THC63LVD1024 LVDS decoder Jacopo Mondi
2018-03-14 8:15 ` Andrzej Hajda
2018-03-14 8:15 ` Andrzej Hajda
2018-03-14 9:06 ` jacopo mondi
2018-03-14 9:06 ` jacopo mondi
2018-03-20 12:30 ` Laurent Pinchart
2018-03-20 12:30 ` Laurent Pinchart
2018-03-13 14:30 ` [PATCH v3 2/3] drm: bridge: Add thc63lvd1024 LVDS decoder driver Jacopo Mondi
2018-03-14 8:42 ` Andrzej Hajda
2018-03-14 8:42 ` Andrzej Hajda
2018-03-14 10:09 ` jacopo mondi
2018-03-14 10:09 ` jacopo mondi
2018-03-15 9:44 ` Andrzej Hajda
2018-03-15 9:44 ` Andrzej Hajda
2018-03-15 10:30 ` jacopo mondi
2018-03-15 10:30 ` jacopo mondi
2018-03-14 17:09 ` Sergei Shtylyov
2018-03-14 18:04 ` jacopo mondi [this message]
2018-03-14 18:17 ` Sergei Shtylyov
2018-03-14 18:17 ` Sergei Shtylyov
2018-03-13 14:30 ` [PATCH v3 3/3] arm64: dts: renesas: Add LVDS decoder to R-Car V3M Eagle Jacopo Mondi
2018-03-13 18:47 ` Simon Horman
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=20180314180438.GD16424@w540 \
--to=jacopo@jmondi.org \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=a.hajda@samsung.com \
--cc=airlied@linux.ie \
--cc=architt@codeaurora.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=geert@linux-m68k.org \
--cc=horms@verge.net.au \
--cc=jacopo+renesas@jmondi.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=mark.rutland@arm.com \
--cc=niklas.soderlund@ragnatech.se \
--cc=robh+dt@kernel.org \
--cc=sergei.shtylyov@cogentembedded.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.