All of lore.kernel.org
 help / color / mirror / Atom feed
From: Archit Taneja <architt@codeaurora.org>
To: andy.gross@linaro.org, robdclark@gmail.com
Cc: linux-arm-msm@vger.kernel.org, john.stultz@linaro.org,
	dri-devel@lists.freedesktop.org,
	Archit Taneja <architt@codeaurora.org>,
	Rob Herring <robh@kernel.org>,
	devicetree@vger.kernel.org
Subject: [PATCH v2 2/4] drm/msm/hdmi: Clean up HDMI gpio DT bindings
Date: Thu,  1 Sep 2016 19:06:52 +0530	[thread overview]
Message-ID: <1472737015-29382-3-git-send-email-architt@codeaurora.org> (raw)
In-Reply-To: <1472737015-29382-1-git-send-email-architt@codeaurora.org>

Make the following changes in the HDMI gpio bindings:

- Use "-gpios" as the suffix for all the gpio names
- Move all the gpios to optional, since there are platforms that use none
  of them.
- The HPD gpio is a standard one, remove the "qcom,hdmi-tx-" prefix from
  it.
- Add a missing lpm gpio used on some platforms.

Make the necessary changes in the driver to incorporate these changes.

There hasn't been any upstream DT that uses the HDMI bindings, so it's
okay to change and move around these properties.

Cc: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Archit Taneja <architt@codeaurora.org>
---
v2:
- Keep "qcom,hdmi-tx-" suffix for all gpios except for hpd.
- Use "-gpios" suffix instead of "-gpio".
- Move all the gpios to optional properties.

 .../devicetree/bindings/display/msm/hdmi.txt        | 11 ++++++-----
 drivers/gpu/drm/msm/hdmi/hdmi.c                     | 21 +++++++++++++++++++--
 2 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/hdmi.txt b/Documentation/devicetree/bindings/display/msm/hdmi.txt
index ce84459..f1a83ab 100644
--- a/Documentation/devicetree/bindings/display/msm/hdmi.txt
+++ b/Documentation/devicetree/bindings/display/msm/hdmi.txt
@@ -13,17 +13,18 @@ Required properties:
 - interrupts: The interrupt signal from the hdmi block.
 - clocks: device clocks
   See ../clocks/clock-bindings.txt for details.
-- qcom,hdmi-tx-ddc-clk-gpio: ddc clk pin
-- qcom,hdmi-tx-ddc-data-gpio: ddc data pin
-- qcom,hdmi-tx-hpd-gpio: hpd pin
 - core-vdda-supply: phandle to supply regulator
 - hdmi-mux-supply: phandle to mux regulator
 - phys: the phandle for the HDMI PHY device
 - phy-names: the name of the corresponding PHY device
 
 Optional properties:
-- qcom,hdmi-tx-mux-en-gpio: hdmi mux enable pin
-- qcom,hdmi-tx-mux-sel-gpio: hdmi mux select pin
+- qcom,hdmi-tx-ddc-clk-gpios: ddc clk pin
+- qcom,hdmi-tx-ddc-data-gpios: ddc data pin
+- hpd-gpios: hpd pin
+- qcom,hdmi-tx-mux-en-gpios: hdmi mux enable pin
+- qcom,hdmi-tx-mux-sel-gpios: hdmi mux select pin
+- qcom,hdmi-tx-mux-lpm-gpios: hdmi mux lpm pin
 - power-domains: reference to the power domain(s), if available.
 - pinctrl-names: the pin control state names; should contain "default"
 - pinctrl-0: the default pinctrl state (active)
diff --git a/drivers/gpu/drm/msm/hdmi/hdmi.c b/drivers/gpu/drm/msm/hdmi/hdmi.c
index 9737207..a968cad 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi.c
@@ -422,12 +422,29 @@ static const struct {
 
 static int msm_hdmi_get_gpio(struct device_node *of_node, const char *name)
 {
-	int gpio = of_get_named_gpio(of_node, name, 0);
+	int gpio;
+
+	/* try with the gpio names as in the table (downstream bindings) */
+	gpio = of_get_named_gpio(of_node, name, 0);
 	if (gpio < 0) {
 		char name2[32];
-		snprintf(name2, sizeof(name2), "%s-gpio", name);
+
+		/* try with the gpio names as in the upstream bindings */
+		snprintf(name2, sizeof(name2), "%s-gpios", name);
 		gpio = of_get_named_gpio(of_node, name2, 0);
 		if (gpio < 0) {
+			char name3[32];
+
+			/*
+			 * try again after stripping out the "qcom,hdmi-tx"
+			 * prefix. This is mainly to match "hpd-gpios" used
+			 * in the upstream bindings
+			 */
+			if (sscanf(name2, "qcom,hdmi-tx-%s", name3))
+				gpio = of_get_named_gpio(of_node, name3, 0);
+		}
+
+		if (gpio < 0) {
 			DBG("failed to get gpio: %s (%d)", name, gpio);
 			gpio = -1;
 		}
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

  parent reply	other threads:[~2016-09-01 13:37 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-08  5:55 [PATCH 0/4] drm/msm: HDMI support on IFC6410 Archit Taneja
2016-07-08  5:55 ` [PATCH 1/4] drm/msm/mdp4: Fix issue with LCDC/LVDS port parsing Archit Taneja
2016-07-08  5:55 ` [PATCH 2/4] drm/msm/hdmi: Use more DT friendly GPIO names Archit Taneja
2016-07-13 13:45   ` Rob Herring
2016-07-14  8:34     ` Archit Taneja
2016-07-08  5:55 ` [PATCH 3/4] arm: dts: qcom: apq8064: Add display DT nodes Archit Taneja
2016-07-08  5:55 ` [PATCH 4/4] arm: dts: qcom: apq8064-ifc6410: Add HDMI support Archit Taneja
2016-09-01 13:36 ` [PATCH v2 0/4] drm/msm: HDMI support on IFC6410 Archit Taneja
2016-09-01 13:36   ` [PATCH v2 1/4] drm/msm/mdp4: Fix issue with LCDC/LVDS port parsing Archit Taneja
2016-09-07 22:17     ` John Stultz
2016-09-01 13:36   ` Archit Taneja [this message]
     [not found]     ` <1472737015-29382-3-git-send-email-architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-09-07 22:18       ` [PATCH v2 2/4] drm/msm/hdmi: Clean up HDMI gpio DT bindings John Stultz
2016-09-12 13:19       ` Rob Herring
2016-09-13  7:12         ` Archit Taneja
2016-09-13 13:15           ` Archit Taneja
2016-09-01 13:36   ` [PATCH v2 3/4] arm: dts: qcom: apq8064: Add display DT nodes Archit Taneja
2016-09-07 22:19     ` John Stultz
2016-09-01 13:36   ` [PATCH v2 4/4] arm: dts: qcom: apq8064-ifc6410: Add HDMI support Archit Taneja
2016-09-07 23:32   ` [RFC][PATCH 5/4] arm: dts: qcom: apq8064: Add dsi, gpu and iommu nodes John Stultz
2016-09-07 23:32     ` [PATCH 6/4] arm: dts: qcom: apq8064-nexus7: Add DSI and panel nodes John Stultz
2016-09-08  5:05       ` vinay simha
2016-09-08  4:58     ` [RFC][PATCH 5/4] arm: dts: qcom: apq8064: Add dsi, gpu and iommu nodes vinay simha
2016-09-12  8:46     ` Archit Taneja
2016-09-13 15:21   ` [PATCH v3 0/4] drm/msm: HDMI support on IFC6410 Archit Taneja
2016-09-13 15:21     ` [PATCH v3 1/4] drm/msm/mdp4: Fix issue with LCDC/LVDS port parsing Archit Taneja
2016-09-13 15:21     ` [PATCH v3 3/4] arm: dts: qcom: apq8064: Add display DT nodes Archit Taneja
     [not found]       ` <1473780097-11388-4-git-send-email-architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-09-13 21:44         ` Stephen Boyd
2016-09-14 17:57           ` Archit Taneja
     [not found]     ` <1473780097-11388-1-git-send-email-architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-09-13 15:21       ` [PATCH v3 2/4] drm/msm/hdmi: Clean up HDMI gpio DT bindings Archit Taneja
2016-09-13 19:31         ` Rob Herring
2016-09-13 15:21       ` [PATCH v3 4/4] arm: dts: qcom: apq8064-ifc6410: Add HDMI support Archit Taneja
2016-09-23  6:33     ` [PATCH v4 0/2] drm/msm: HDMI support on IFC6410 Archit Taneja
2016-09-23  6:33       ` [PATCH v4 1/2] arm: dts: qcom: apq8064: Add display DT nodes Archit Taneja
2016-09-23  6:33       ` [PATCH v4 2/2] arm: dts: qcom: apq8064-ifc6410: Add HDMI support Archit Taneja

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=1472737015-29382-3-git-send-email-architt@codeaurora.org \
    --to=architt@codeaurora.org \
    --cc=andy.gross@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=john.stultz@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=robdclark@gmail.com \
    --cc=robh@kernel.org \
    /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.