Thread (3 messages) 3 messages, 2 authors, 2011-02-09

[PATCH] msm: Remove arch-specific gpiomux tables

From: Dima Zavin <hidden>
Date: 2011-02-09 20:59:39
Also in: linux-arm-msm, lkml

I don't like this solution of putting the magicly named array into the
board file. What if I want multiple boards to be built into the same
kernel? What if I want multiple tables in case I have different
revisions of the board?

The more correct way would be to add a function to gpiomux.c to be
able to apply a list of gpiomux configs, something like:

int msm_gpiomux_config_table(struct msm_gpiomux_cfg *table, int num);

--Dima

On Fri, Feb 4, 2011 at 5:44 PM, Rohit Vaswani [off-list ref] wrote:
quoted hunk ↗ jump to hunk
The gpiomux configs are board-specific and thus should be
a part of the board file.

Signed-off-by: Rohit Vaswani <redacted>
---
?arch/arm/mach-msm/Makefile ? ? ? ?| ? ?4 +-
?arch/arm/mach-msm/board-msm8x60.c | ? ?3 ++
?arch/arm/mach-msm/board-qsd8x50.c | ? 12 ++++++++
?arch/arm/mach-msm/gpiomux-8x50.c ?| ? 51
-------------------------------------
?arch/arm/mach-msm/gpiomux-8x60.c ?| ? 19 -------------
?5 files changed, 17 insertions(+), 72 deletions(-)
?delete mode 100644 arch/arm/mach-msm/gpiomux-8x50.c
?delete mode 100644 arch/arm/mach-msm/gpiomux-8x60.c
diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
index ea8c74f..b6c6ec8 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -30,8 +30,8 @@ obj-$(CONFIG_ARCH_MSM8X60) += board-msm8x60.o
?obj-$(CONFIG_ARCH_MSM8960) += board-msm8960.o devices-msm8960.o

?obj-$(CONFIG_ARCH_MSM7X30) += gpiomux-v1.o gpiomux.o
-obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o gpiomux-v1.o gpiomux.o
-obj-$(CONFIG_ARCH_MSM8X60) += gpiomux-8x60.o gpiomux-v2.o gpiomux.o
+obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-v1.o gpiomux.o
+obj-$(CONFIG_ARCH_MSM8X60) += gpiomux-v2.o gpiomux.o
?ifdef CONFIG_MSM_V2_TLMM
?ifndef CONFIG_ARCH_MSM8960
?# TODO: TLMM Mapping issues need to be resolved
diff --git a/arch/arm/mach-msm/board-msm8x60.c
b/arch/arm/mach-msm/board-msm8x60.c
index b3c55f1..6c0b868 100644
--- a/arch/arm/mach-msm/board-msm8x60.c
+++ b/arch/arm/mach-msm/board-msm8x60.c
@@ -27,6 +27,9 @@
?#include <mach/board.h>
?#include <mach/msm_iomap.h>
+#include "gpiomux.h"
+
+struct msm_gpiomux_config msm_gpiomux_configs[GPIOMUX_NGPIOS] = {};


?static void __init msm8x60_map_io(void)
diff --git a/arch/arm/mach-msm/board-qsd8x50.c
b/arch/arm/mach-msm/board-qsd8x50.c
index b464d48..b63b7c4 100644
--- a/arch/arm/mach-msm/board-qsd8x50.c
+++ b/arch/arm/mach-msm/board-qsd8x50.c
@@ -36,9 +36,21 @@
?#include <mach/mmc.h>

?#include "devices.h"
+#include "gpiomux.h"

?extern struct sys_timer msm_timer;

+struct msm_gpiomux_config msm_gpiomux_configs[GPIOMUX_NGPIOS] = {
+ ? ?[86] = { /* UART3 RX */
+ ? ? ? ?.suspended = GPIOMUX_DRV_2MA | GPIOMUX_PULL_DOWN |
+ ? ? ? ? ? ? ? ? GPIOMUX_FUNC_1 | GPIOMUX_VALID,
+ ? ?},
+ ? ?[87] = { /* UART3 TX */
+ ? ? ? ?.suspended = GPIOMUX_DRV_2MA | GPIOMUX_PULL_DOWN |
+ ? ? ? ? ? ? ? ? GPIOMUX_FUNC_1 | GPIOMUX_VALID,
+ ? ?},
+};
+
?static const resource_size_t qsd8x50_surf_smc91x_base __initdata =
0x70000300;
?static const unsigned ? ? ? ?qsd8x50_surf_smc91x_gpio __initdata = 156;
diff --git a/arch/arm/mach-msm/gpiomux-8x50.c
b/arch/arm/mach-msm/gpiomux-8x50.c
deleted file mode 100644
index f7a4ea5..0000000
--- a/arch/arm/mach-msm/gpiomux-8x50.c
+++ /dev/null
@@ -1,51 +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 "gpiomux.h"
-
-#if defined(CONFIG_MMC_MSM) || defined(CONFIG_MMC_MSM_MODULE)
- ? ?#define SDCC_DAT_0_3_CMD_ACTV_CFG (GPIOMUX_VALID | GPIOMUX_PULL_UP\
- ? ? ? ? ? ? ? ? ? ?| GPIOMUX_FUNC_1 | GPIOMUX_DRV_8MA)
- ? ?#define SDCC_CLK_ACTV_CFG (GPIOMUX_VALID | GPIOMUX_PULL_NONE\
- ? ? ? ? ? ? ? ? ? ?| GPIOMUX_FUNC_1 | GPIOMUX_DRV_8MA)
-#else
- ? ?#define SDCC_DAT_0_3_CMD_ACTV_CFG 0
- ? ?#define SDCC_CLK_ACTV_CFG 0
-#endif
-
-#define SDC1_SUSPEND_CONFIG (GPIOMUX_VALID | GPIOMUX_PULL_DOWN\
- ? ? ? ? ? ? ? ?| GPIOMUX_FUNC_GPIO | GPIOMUX_DRV_2MA)
-
-struct msm_gpiomux_config msm_gpiomux_configs[GPIOMUX_NGPIOS] = {
- ? ?[86] = { /* UART3 RX */
- ? ? ? ?.suspended = GPIOMUX_DRV_2MA | GPIOMUX_PULL_DOWN |
- ? ? ? ? ? ? ? ? GPIOMUX_FUNC_1 | GPIOMUX_VALID,
- ? ?},
- ? ?[87] = { /* UART3 TX */
- ? ? ? ?.suspended = GPIOMUX_DRV_2MA | GPIOMUX_PULL_DOWN |
- ? ? ? ? ? ? ? ? GPIOMUX_FUNC_1 | GPIOMUX_VALID,
- ? ?},
- ? ?/* SDC1 data[3:0] & CMD */
- ? ?[51 ... 55] = {
- ? ? ? ?.active = SDCC_DAT_0_3_CMD_ACTV_CFG,
- ? ? ? ?.suspended = SDC1_SUSPEND_CONFIG
- ? ?},
- ? ?/* SDC1 CLK */
- ? ?[56] = {
- ? ? ? ?.active = SDCC_CLK_ACTV_CFG,
- ? ? ? ?.suspended = SDC1_SUSPEND_CONFIG
- ? ?},
-};
diff --git a/arch/arm/mach-msm/gpiomux-8x60.c
b/arch/arm/mach-msm/gpiomux-8x60.c
deleted file mode 100644
index 7b380b3..0000000
--- a/arch/arm/mach-msm/gpiomux-8x60.c
+++ /dev/null
@@ -1,19 +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 "gpiomux.h"
-
-struct msm_gpiomux_config msm_gpiomux_configs[GPIOMUX_NGPIOS] = {};
--
1.7.3.3

Thanks,
Rohit Vaswani

--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help