From 3b64c09b376ae2a82cccdb25aa0c3bc3c3be9d14 Mon Sep 17 00:00:00 2001 From: Linus Walleij Date: Mon, 7 May 2012 08:50:31 +0200 Subject: [PATCH] ARM: ux500: delete custom pin control system At the beginning of the first patch series I included the custom ux500 pin control system to make sure I could eventually replace it with the standard subsystem driver. So now that we've done so, let's remove it. Acked-by: Stephen Warren Signed-off-by: Linus Walleij --- arch/arm/mach-ux500/Makefile | 2 +- arch/arm/mach-ux500/board-mop500-pins.c | 1 - arch/arm/mach-ux500/pins.c | 88 ------------------------- arch/arm/mach-ux500/pins.h | 46 ------------- 4 files changed, 1 insertion(+), 136 deletions(-) delete mode 100644 arch/arm/mach-ux500/pins.c delete mode 100644 arch/arm/mach-ux500/pins.h diff --git a/arch/arm/mach-ux500/Makefile b/arch/arm/mach-ux500/Makefile index 015932c6bf08..11729bc62194 100644 --- a/arch/arm/mach-ux500/Makefile +++ b/arch/arm/mach-ux500/Makefile @@ -3,7 +3,7 @@ # obj-y := clock.o cpu.o devices.o devices-common.o \ - id.o pins.o usb.o timer.o + id.o usb.o timer.o obj-$(CONFIG_CACHE_L2X0) += cache-l2x0.o obj-$(CONFIG_UX500_SOC_DB5500) += cpu-db5500.o dma-db5500.o obj-$(CONFIG_UX500_SOC_DB8500) += cpu-db8500.o devices-db8500.o diff --git a/arch/arm/mach-ux500/board-mop500-pins.c b/arch/arm/mach-ux500/board-mop500-pins.c index 28c456c2906c..157af7ee5cdc 100644 --- a/arch/arm/mach-ux500/board-mop500-pins.c +++ b/arch/arm/mach-ux500/board-mop500-pins.c @@ -17,7 +17,6 @@ #include #include "pins-db8500.h" -#include "pins.h" #include "board-mop500.h" enum custom_pin_cfg_t { diff --git a/arch/arm/mach-ux500/pins.c b/arch/arm/mach-ux500/pins.c deleted file mode 100644 index 38c1d47b29a1..000000000000 --- a/arch/arm/mach-ux500/pins.c +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (C) ST-Ericsson SA 2010 - * - * Author: Rabin Vincent for ST-Ericsson - * License terms: GNU General Public License (GPL), version 2 - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "pins.h" - -static LIST_HEAD(pin_lookups); -static DEFINE_MUTEX(pin_lookups_mutex); -static DEFINE_SPINLOCK(pins_lock); - -void __init ux500_pins_add(struct ux500_pin_lookup *pl, size_t num) -{ - mutex_lock(&pin_lookups_mutex); - - while (num--) { - list_add_tail(&pl->node, &pin_lookups); - pl++; - } - - mutex_unlock(&pin_lookups_mutex); -} - -struct ux500_pins *ux500_pins_get(const char *name) -{ - struct ux500_pins *pins = NULL; - struct ux500_pin_lookup *pl; - - mutex_lock(&pin_lookups_mutex); - - list_for_each_entry(pl, &pin_lookups, node) { - if (!strcmp(pl->name, name)) { - pins = pl->pins; - goto out; - } - } - -out: - mutex_unlock(&pin_lookups_mutex); - return pins; -} - -int ux500_pins_enable(struct ux500_pins *pins) -{ - unsigned long flags; - int ret = 0; - - spin_lock_irqsave(&pins_lock, flags); - - if (pins->usage++ == 0) - ret = nmk_config_pins(pins->cfg, pins->num); - - spin_unlock_irqrestore(&pins_lock, flags); - return ret; -} - -int ux500_pins_disable(struct ux500_pins *pins) -{ - unsigned long flags; - int ret = 0; - - spin_lock_irqsave(&pins_lock, flags); - - if (WARN_ON(pins->usage == 0)) - goto out; - - if (--pins->usage == 0) - ret = nmk_config_pins_sleep(pins->cfg, pins->num); - -out: - spin_unlock_irqrestore(&pins_lock, flags); - return ret; -} - -void ux500_pins_put(struct ux500_pins *pins) -{ - WARN_ON(!pins); -} diff --git a/arch/arm/mach-ux500/pins.h b/arch/arm/mach-ux500/pins.h deleted file mode 100644 index 0d36af2e7d92..000000000000 --- a/arch/arm/mach-ux500/pins.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) ST-Ericsson SA 2010 - * - * Author: Rabin Vincent for ST-Ericsson - * License terms: GNU General Public License (GPL), version 2 - */ - -#ifndef __MACH_UX500_PINS_H -#define __MACH_UX500_PINS_H - -#include -#include - -#define PIN_LOOKUP(_name, _pins) \ -{ \ - .name = _name, \ - .pins = _pins, \ -} - -#define UX500_PINS(name, pins...) \ -struct ux500_pins name = { \ - .cfg = (pin_cfg_t[]) {pins}, \ - .num = ARRAY_SIZE(((pin_cfg_t[]) {pins})), \ -} - -struct ux500_pins { - int usage; - int num; - pin_cfg_t *cfg; -}; - -struct ux500_pin_lookup { - struct list_head node; - const char *name; - struct ux500_pins *pins; -}; - -void __init ux500_pins_add(struct ux500_pin_lookup *pl, size_t num); -void __init ux500_offchip_gpio_init(struct ux500_pins *pins); -struct ux500_pins *ux500_pins_get(const char *name); -int ux500_pins_enable(struct ux500_pins *pins); -int ux500_pins_disable(struct ux500_pins *pins); -void ux500_pins_put(struct ux500_pins *pins); -int pins_for_u9500(void); - -#endif -- 2.39.2