Skip to contentSkip to conversation

ARM: MSM: Consolidate MSM gpiomux for 7X30 and 8X50

PATCH In review Rohit Vaswani 2 participants 5 messages Jun 19, 2013

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

cover ARM: MSM: Consolidate MSM gpiomux for 7X30 and 8X50

This series is based on David Brown's for-next branch
git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-next

The previous gpio patches left some room for consolidation and required a few fixes. This patch provides the necessary patches to do that.

Rohit Vaswani (3):
ARM: msm: dts: Fix the gpio register address for msm8960
drivers: gpio: msm: Fix the error condition for reading ngpio
ARM: msm: Consolidate gpiomux for older architectures

 arch/arm/boot/dts/msm8960-cdp.dts |    4 ++--
 arch/arm/mach-msm/Kconfig         |    3 +--
 arch/arm/mach-msm/gpiomux-v1.c    |   33 ---------------------------------
 arch/arm/mach-msm/gpiomux.h       |   10 ----------
 drivers/gpio/gpio-msm-v2.c        |    2 +-
 5 files changed, 4 insertions(+), 48 deletions(-)
 delete mode 100644 arch/arm/mach-msm/gpiomux-v1.c
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#1 lore raw

PATCH 1/3 ARM: msm: dts: Fix the gpio register address for msm8960

Fix the the gpio reg address for the device tree entry.

---
 arch/arm/boot/dts/msm8960-cdp.dts |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/boot/dts/msm8960-cdp.dts +2 -2
index db2060c..9c1167b0 100644
@@ -26,7 +26,7 @@
 		cpu-offset = <0x80000>;
 	};
 
-	msmgpio: gpio@fd510000 {
+	msmgpio: gpio@800000 {
 		compatible = "qcom,msm-gpio";
 		gpio-controller;
 		#gpio-cells = <2>;
@@ -34,7 +34,7 @@
 		interrupts = <0 32 0x4>;
 		interrupt-controller;
 		#interrupt-cells = <2>;
-		reg = <0xfd510000 0x4000>;
+		reg = <0x800000 0x4000>;
 	};
 
 	serial@16440000 {
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
#2 lore raw

PATCH 2/3 drivers: gpio: msm: Fix the error condition for reading ngpio

In reply to Rohit Vaswani

of_property_read_u32 return 0 on success. The check was using a ! to return error. Fix the if condition.

---
 drivers/gpio/gpio-msm-v2.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/gpio/gpio-msm-v2.c +1 -1
index f4491a4..c2fa770 100644
@@ -378,7 +378,7 @@ static int msm_gpio_probe(struct platform_device *pdev)
 	int ret, ngpio;
 	struct resource *res;
 
-	if (!of_property_read_u32(pdev->dev.of_node, "ngpio", &ngpio)) {
+	if (of_property_read_u32(pdev->dev.of_node, "ngpio", &ngpio)) {
 		dev_err(&pdev->dev, "%s: ngpio property missing\n", __func__);
 		return -EINVAL;
 	}
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation
Reviewed-by on v1 2/3
#3 lore raw

Re: [PATCH 2/3] drivers: gpio: msm: Fix the error condition for reading ngpio

Hi,

Quoted 8 lines · Rohit Vaswani

of_property_read_u32 return 0 on success. The check was using a ! to return error. Fix the if condition.

---
 drivers/gpio/gpio-msm-v2.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Appropriate change.

Regards,
Pankaj Jangra

#4 lore raw

PATCH 3/3 ARM: msm: Consolidate gpiomux for older architectures

In reply to Rohit Vaswani

Msm gpiomux can be used only for 7x30 and 8x50. Prevent compilation and fix build issues on 7X00, 8X60 and 8960.

---
 arch/arm/mach-msm/Kconfig      |    3 +--
 arch/arm/mach-msm/gpiomux-v1.c |   33 ---------------------------------
 arch/arm/mach-msm/gpiomux.h    |   10 ----------
 3 files changed, 1 insertions(+), 45 deletions(-)
 delete mode 100644 arch/arm/mach-msm/gpiomux-v1.c
arch/arm/mach-msm/Kconfig +1 -2
index 614e41e..905efc8 100644
@@ -121,8 +121,7 @@ config MSM_SMD
 	bool
 
 config MSM_GPIOMUX
-	depends on !(ARCH_MSM8X60 || ARCH_MSM8960)
-	bool "MSM V1 TLMM GPIOMUX architecture"
+	bool
 	help
 	  Support for MSM V1 TLMM GPIOMUX architecture.
 
arch/arm/mach-msm/gpiomux-v1.c deleted +0 -33
deleted file mode 100644
index 27de2ab..0000000
@@ -1,33 +0,0 @@
-/* Copyright (c) 2010, Code Aurora Forum. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-#include <linux/kernel.h>
-#include "gpiomux.h"
-#include "proc_comm.h"
-
-void __msm_gpiomux_write(unsigned gpio, gpiomux_config_t val)
-{
-	unsigned tlmm_config  = (val & ~GPIOMUX_CTL_MASK) |
-				((gpio & 0x3ff) << 4);
-	unsigned tlmm_disable = 0;
-	int rc;
-
-	rc = msm_proc_comm(PCOM_RPC_GPIO_TLMM_CONFIG_EX,
-			   &tlmm_config, &tlmm_disable);
-	if (rc)
-		pr_err("%s: unexpected proc_comm failure %d: %08x %08x\n",
-		       __func__, rc, tlmm_config, tlmm_disable);
-}
arch/arm/mach-msm/gpiomux.h +0 -10
index 8e82f41..4410d77 100644
@@ -73,16 +73,6 @@ extern struct msm_gpiomux_config msm_gpiomux_configs[GPIOMUX_NGPIOS];
 int msm_gpiomux_write(unsigned gpio,
 		      gpiomux_config_t active,
 		      gpiomux_config_t suspended);
-
-/* Architecture-internal function for use by the framework only.
- * This function can assume the following:
- * - the gpio value has passed a bounds-check
- * - the gpiomux spinlock has been obtained
- *
- * This function is not for public consumption.  External users
- * should use msm_gpiomux_write.
- */
-void __msm_gpiomux_write(unsigned gpio, gpiomux_config_t val);
 #else
 static inline int msm_gpiomux_write(unsigned gpio,
 				    gpiomux_config_t active,
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation