Skip to content

Commit

Permalink
MIPS: Ath79: Remove the unused GPIO function API
Browse files Browse the repository at this point in the history
To prepare moving the GPIO driver to drivers/gpio remove the
platform specific pinmux API. As it is not used by any board,
and such functionality should better be implemented using the
pinmux subsystem just removing it seems to be the best option.

Signed-off-by: Alban Bedel <albeu@free.fr>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-gpio@vger.kernel.org
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: Gabor Juhos <juhosg@openwrt.org>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/10596/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Alban Bedel authored and Ralf Baechle committed Sep 3, 2015
1 parent 5fac4f7 commit f689332
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 46 deletions.
3 changes: 0 additions & 3 deletions arch/mips/ath79/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@ unsigned long ath79_get_sys_clk_rate(const char *id);
void ath79_ddr_ctrl_init(void);
void ath79_ddr_wb_flush(unsigned int reg);

void ath79_gpio_function_enable(u32 mask);
void ath79_gpio_function_disable(u32 mask);
void ath79_gpio_function_setup(u32 set, u32 clear);
void ath79_gpio_init(void);

#endif /* __ATH79_COMMON_H */
43 changes: 0 additions & 43 deletions arch/mips/ath79/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
#include <linux/of_device.h>

#include <asm/mach-ath79/ar71xx_regs.h>
#include <asm/mach-ath79/ath79.h>
#include "common.h"

static void __iomem *ath79_gpio_base;
static u32 ath79_gpio_count;
Expand Down Expand Up @@ -139,47 +137,6 @@ static struct gpio_chip ath79_gpio_chip = {
.base = 0,
};

static void __iomem *ath79_gpio_get_function_reg(void)
{
u32 reg = 0;

if (soc_is_ar71xx() ||
soc_is_ar724x() ||
soc_is_ar913x() ||
soc_is_ar933x())
reg = AR71XX_GPIO_REG_FUNC;
else if (soc_is_ar934x())
reg = AR934X_GPIO_REG_FUNC;
else
BUG();

return ath79_gpio_base + reg;
}

void ath79_gpio_function_setup(u32 set, u32 clear)
{
void __iomem *reg = ath79_gpio_get_function_reg();
unsigned long flags;

spin_lock_irqsave(&ath79_gpio_lock, flags);

__raw_writel((__raw_readl(reg) & ~clear) | set, reg);
/* flush write */
__raw_readl(reg);

spin_unlock_irqrestore(&ath79_gpio_lock, flags);
}

void ath79_gpio_function_enable(u32 mask)
{
ath79_gpio_function_setup(mask, 0);
}

void ath79_gpio_function_disable(u32 mask)
{
ath79_gpio_function_setup(0, mask);
}

static const struct of_device_id ath79_gpio_of_match[] = {
{ .compatible = "qca,ar7100-gpio" },
{ .compatible = "qca,ar9340-gpio" },
Expand Down

0 comments on commit f689332

Please sign in to comment.