msm: gpio: Remove tlmm routines obsoleted by gpiomux.
Now that all supported gpio_tlmm_config-using boards are using gpiomux, remove the deprecated code. Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
This commit is contained in:
committed by
Daniel Walker
parent
224f6de46a
commit
10c4580e79
@@ -3,7 +3,6 @@ obj-y += io.o idle.o timer.o dma.o
|
|||||||
obj-y += vreg.o
|
obj-y += vreg.o
|
||||||
obj-y += acpuclock-arm11.o
|
obj-y += acpuclock-arm11.o
|
||||||
obj-y += clock.o clock-pcom.o
|
obj-y += clock.o clock-pcom.o
|
||||||
obj-y += gpio.o
|
|
||||||
|
|
||||||
ifdef CONFIG_MSM_VIC
|
ifdef CONFIG_MSM_VIC
|
||||||
obj-y += irq-vic.o
|
obj-y += irq-vic.o
|
||||||
|
@@ -1,85 +0,0 @@
|
|||||||
/* linux/arch/arm/mach-msm/gpio.c
|
|
||||||
*
|
|
||||||
* Copyright (C) 2007 Google, Inc.
|
|
||||||
* Copyright (c) 2009, Code Aurora Forum. All rights reserved.
|
|
||||||
*
|
|
||||||
* This software is licensed under the terms of the GNU General Public
|
|
||||||
* License version 2, as published by the Free Software Foundation, and
|
|
||||||
* may be copied, distributed, and modified under those terms.
|
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <linux/module.h>
|
|
||||||
#include <mach/gpio.h>
|
|
||||||
#include "proc_comm.h"
|
|
||||||
|
|
||||||
int gpio_tlmm_config(unsigned config, unsigned disable)
|
|
||||||
{
|
|
||||||
return msm_proc_comm(PCOM_RPC_GPIO_TLMM_CONFIG_EX, &config, &disable);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(gpio_tlmm_config);
|
|
||||||
|
|
||||||
int msm_gpios_enable(const struct msm_gpio *table, int size)
|
|
||||||
{
|
|
||||||
int rc;
|
|
||||||
int i;
|
|
||||||
const struct msm_gpio *g;
|
|
||||||
for (i = 0; i < size; i++) {
|
|
||||||
g = table + i;
|
|
||||||
rc = gpio_tlmm_config(g->gpio_cfg, GPIO_ENABLE);
|
|
||||||
if (rc) {
|
|
||||||
pr_err("gpio_tlmm_config(0x%08x, GPIO_ENABLE)"
|
|
||||||
" <%s> failed: %d\n",
|
|
||||||
g->gpio_cfg, g->label ?: "?", rc);
|
|
||||||
pr_err("pin %d func %d dir %d pull %d drvstr %d\n",
|
|
||||||
GPIO_PIN(g->gpio_cfg), GPIO_FUNC(g->gpio_cfg),
|
|
||||||
GPIO_DIR(g->gpio_cfg), GPIO_PULL(g->gpio_cfg),
|
|
||||||
GPIO_DRVSTR(g->gpio_cfg));
|
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
err:
|
|
||||||
msm_gpios_disable(table, i);
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(msm_gpios_enable);
|
|
||||||
|
|
||||||
void msm_gpios_disable(const struct msm_gpio *table, int size)
|
|
||||||
{
|
|
||||||
int rc;
|
|
||||||
int i;
|
|
||||||
const struct msm_gpio *g;
|
|
||||||
for (i = size-1; i >= 0; i--) {
|
|
||||||
g = table + i;
|
|
||||||
rc = gpio_tlmm_config(g->gpio_cfg, GPIO_DISABLE);
|
|
||||||
if (rc) {
|
|
||||||
pr_err("gpio_tlmm_config(0x%08x, GPIO_DISABLE)"
|
|
||||||
" <%s> failed: %d\n",
|
|
||||||
g->gpio_cfg, g->label ?: "?", rc);
|
|
||||||
pr_err("pin %d func %d dir %d pull %d drvstr %d\n",
|
|
||||||
GPIO_PIN(g->gpio_cfg), GPIO_FUNC(g->gpio_cfg),
|
|
||||||
GPIO_DIR(g->gpio_cfg), GPIO_PULL(g->gpio_cfg),
|
|
||||||
GPIO_DRVSTR(g->gpio_cfg));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(msm_gpios_disable);
|
|
||||||
|
|
||||||
int msm_gpios_request_enable(const struct msm_gpio *table, int size)
|
|
||||||
{
|
|
||||||
int rc = msm_gpios_enable(table, size);
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(msm_gpios_request_enable);
|
|
||||||
|
|
||||||
void msm_gpios_disable_free(const struct msm_gpio *table, int size)
|
|
||||||
{
|
|
||||||
msm_gpios_disable(table, size);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(msm_gpios_disable_free);
|
|
@@ -23,127 +23,4 @@
|
|||||||
#define gpio_cansleep __gpio_cansleep
|
#define gpio_cansleep __gpio_cansleep
|
||||||
#define gpio_to_irq __gpio_to_irq
|
#define gpio_to_irq __gpio_to_irq
|
||||||
|
|
||||||
/**
|
|
||||||
* struct msm_gpio - GPIO pin description
|
|
||||||
* @gpio_cfg - configuration bitmap, as per gpio_tlmm_config()
|
|
||||||
* @label - textual label
|
|
||||||
*
|
|
||||||
* Usually, GPIO's are operated by sets.
|
|
||||||
* This struct accumulate all GPIO information in single source
|
|
||||||
* and facilitete group operations provided by msm_gpios_xxx()
|
|
||||||
*/
|
|
||||||
struct msm_gpio {
|
|
||||||
u32 gpio_cfg;
|
|
||||||
const char *label;
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* msm_gpios_request_enable() - request and enable set of GPIOs
|
|
||||||
*
|
|
||||||
* Request and configure set of GPIO's
|
|
||||||
* In case of error, all operations rolled back.
|
|
||||||
* Return error code.
|
|
||||||
*
|
|
||||||
* @table: GPIO table
|
|
||||||
* @size: number of entries in @table
|
|
||||||
*/
|
|
||||||
int msm_gpios_request_enable(const struct msm_gpio *table, int size);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* msm_gpios_disable_free() - disable and free set of GPIOs
|
|
||||||
*
|
|
||||||
* @table: GPIO table
|
|
||||||
* @size: number of entries in @table
|
|
||||||
*/
|
|
||||||
void msm_gpios_disable_free(const struct msm_gpio *table, int size);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* msm_gpios_request() - request set of GPIOs
|
|
||||||
* In case of error, all operations rolled back.
|
|
||||||
* Return error code.
|
|
||||||
*
|
|
||||||
* @table: GPIO table
|
|
||||||
* @size: number of entries in @table
|
|
||||||
*/
|
|
||||||
int msm_gpios_request(const struct msm_gpio *table, int size);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* msm_gpios_free() - free set of GPIOs
|
|
||||||
*
|
|
||||||
* @table: GPIO table
|
|
||||||
* @size: number of entries in @table
|
|
||||||
*/
|
|
||||||
void msm_gpios_free(const struct msm_gpio *table, int size);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* msm_gpios_enable() - enable set of GPIOs
|
|
||||||
* In case of error, all operations rolled back.
|
|
||||||
* Return error code.
|
|
||||||
*
|
|
||||||
* @table: GPIO table
|
|
||||||
* @size: number of entries in @table
|
|
||||||
*/
|
|
||||||
int msm_gpios_enable(const struct msm_gpio *table, int size);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* msm_gpios_disable() - disable set of GPIOs
|
|
||||||
*
|
|
||||||
* @table: GPIO table
|
|
||||||
* @size: number of entries in @table
|
|
||||||
*/
|
|
||||||
void msm_gpios_disable(const struct msm_gpio *table, int size);
|
|
||||||
|
|
||||||
/* GPIO TLMM (Top Level Multiplexing) Definitions */
|
|
||||||
|
|
||||||
/* GPIO TLMM: Function -- GPIO specific */
|
|
||||||
|
|
||||||
/* GPIO TLMM: Direction */
|
|
||||||
enum {
|
|
||||||
GPIO_INPUT,
|
|
||||||
GPIO_OUTPUT,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* GPIO TLMM: Pullup/Pulldown */
|
|
||||||
enum {
|
|
||||||
GPIO_NO_PULL,
|
|
||||||
GPIO_PULL_DOWN,
|
|
||||||
GPIO_KEEPER,
|
|
||||||
GPIO_PULL_UP,
|
|
||||||
};
|
|
||||||
|
|
||||||
/* GPIO TLMM: Drive Strength */
|
|
||||||
enum {
|
|
||||||
GPIO_2MA,
|
|
||||||
GPIO_4MA,
|
|
||||||
GPIO_6MA,
|
|
||||||
GPIO_8MA,
|
|
||||||
GPIO_10MA,
|
|
||||||
GPIO_12MA,
|
|
||||||
GPIO_14MA,
|
|
||||||
GPIO_16MA,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
|
||||||
GPIO_ENABLE,
|
|
||||||
GPIO_DISABLE,
|
|
||||||
};
|
|
||||||
|
|
||||||
#define GPIO_CFG(gpio, func, dir, pull, drvstr) \
|
|
||||||
((((gpio) & 0x3FF) << 4) | \
|
|
||||||
((func) & 0xf) | \
|
|
||||||
(((dir) & 0x1) << 14) | \
|
|
||||||
(((pull) & 0x3) << 15) | \
|
|
||||||
(((drvstr) & 0xF) << 17))
|
|
||||||
|
|
||||||
/**
|
|
||||||
* extract GPIO pin from bit-field used for gpio_tlmm_config
|
|
||||||
*/
|
|
||||||
#define GPIO_PIN(gpio_cfg) (((gpio_cfg) >> 4) & 0x3ff)
|
|
||||||
#define GPIO_FUNC(gpio_cfg) (((gpio_cfg) >> 0) & 0xf)
|
|
||||||
#define GPIO_DIR(gpio_cfg) (((gpio_cfg) >> 14) & 0x1)
|
|
||||||
#define GPIO_PULL(gpio_cfg) (((gpio_cfg) >> 15) & 0x3)
|
|
||||||
#define GPIO_DRVSTR(gpio_cfg) (((gpio_cfg) >> 17) & 0xf)
|
|
||||||
|
|
||||||
int gpio_tlmm_config(unsigned config, unsigned disable);
|
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_MSM_GPIO_H */
|
#endif /* __ASM_ARCH_MSM_GPIO_H */
|
||||||
|
Reference in New Issue
Block a user