提交 030a77fc 编写于 作者: D David Brown

msm: gpiomux: Move public API to public header

The gpiomux.h header contains some SOC ifdefs.  However, the API that
is actually used by the GPIO driver only uses two functions that are
general.  Move these general definitions into a public header file.

Change-Id: Ia5df8af87dba268225598d56908e523bcfc24ef6
Signed-off-by: NDavid Brown <davidb@codeaurora.org>
Acked-by: NLinus Walleij <linus.walleij@linaro.org>
Acked-by: NNicolas Pitre <nicolas.pitre@linaro.org>
上级 10eb5f6b
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/module.h> #include <linux/module.h>
#include <mach/cpu.h> #include <mach/cpu.h>
#include <mach/msm_gpiomux.h>
#include "gpio_hw.h" #include "gpio_hw.h"
#include "gpiomux.h"
#define FIRST_GPIO_IRQ MSM_GPIO_TO_INT(0) #define FIRST_GPIO_IRQ MSM_GPIO_TO_INT(0)
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <mach/msm_gpiomux.h>
#if defined(CONFIG_MSM_V2_TLMM) #if defined(CONFIG_MSM_V2_TLMM)
#include "gpiomux-v2.h" #include "gpiomux-v2.h"
...@@ -71,12 +72,6 @@ enum { ...@@ -71,12 +72,6 @@ enum {
*/ */
extern struct msm_gpiomux_config msm_gpiomux_configs[GPIOMUX_NGPIOS]; extern struct msm_gpiomux_config msm_gpiomux_configs[GPIOMUX_NGPIOS];
/* Increment a gpio's reference count, possibly activating the line. */
int __must_check msm_gpiomux_get(unsigned gpio);
/* Decrement a gpio's reference count, possibly suspending the line. */
int msm_gpiomux_put(unsigned gpio);
/* Install a new configuration to the gpio line. To avoid overwriting /* Install a new configuration to the gpio line. To avoid overwriting
* a configuration, leave the VALID bit out. * a configuration, leave the VALID bit out.
*/ */
...@@ -94,16 +89,6 @@ int msm_gpiomux_write(unsigned gpio, ...@@ -94,16 +89,6 @@ int msm_gpiomux_write(unsigned gpio,
*/ */
void __msm_gpiomux_write(unsigned gpio, gpiomux_config_t val); void __msm_gpiomux_write(unsigned gpio, gpiomux_config_t val);
#else #else
static inline int __must_check msm_gpiomux_get(unsigned gpio)
{
return -ENOSYS;
}
static inline int msm_gpiomux_put(unsigned gpio)
{
return -ENOSYS;
}
static inline int msm_gpiomux_write(unsigned gpio, static inline int msm_gpiomux_write(unsigned gpio,
gpiomux_config_t active, gpiomux_config_t active,
gpiomux_config_t suspended) gpiomux_config_t suspended)
......
/* Copyright (c) 2011, 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.
*/
#ifndef _LINUX_MSM_GPIOMUX_H
#define _LINUX_MSM_GPIOMUX_H
#ifdef CONFIG_MSM_GPIOMUX
/* Increment a gpio's reference count, possibly activating the line. */
int __must_check msm_gpiomux_get(unsigned gpio);
/* Decrement a gpio's reference count, possibly suspending the line. */
int msm_gpiomux_put(unsigned gpio);
#else
static inline int __must_check msm_gpiomux_get(unsigned gpio)
{
return -ENOSYS;
}
static inline int msm_gpiomux_put(unsigned gpio)
{
return -ENOSYS;
}
#endif
#endif /* _LINUX_MSM_GPIOMUX_H */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册