Commit f1ff5b25 authored by Lee Jones's avatar Lee Jones Committed by Linus Walleij

ARM: ux500: Stop enabling GPIOs when not booting with Device Tree

It's time to remove all ATAG support from ux500 and rely solely on
Device Tree booting. This patch is part of that endeavour.
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 2120c3bf
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include <linux/clk.h> #include <linux/clk.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/platform_data/db8500_thermal.h> #include <linux/platform_data/db8500_thermal.h>
#include <linux/gpio.h>
#include <linux/amba/bus.h> #include <linux/amba/bus.h>
#include <linux/amba/pl022.h> #include <linux/amba/pl022.h>
#include <linux/amba/serial.h> #include <linux/amba/serial.h>
...@@ -25,7 +24,6 @@ ...@@ -25,7 +24,6 @@
#include <linux/regulator/fixed.h> #include <linux/regulator/fixed.h>
#include <linux/regulator/driver.h> #include <linux/regulator/driver.h>
#include <linux/mfd/tps6105x.h> #include <linux/mfd/tps6105x.h>
#include <linux/mfd/abx500/ab8500-gpio.h>
#include <linux/platform_data/leds-lp55xx.h> #include <linux/platform_data/leds-lp55xx.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/delay.h> #include <linux/delay.h>
......
...@@ -138,29 +138,6 @@ static struct platform_device *platform_devs[] __initdata = { ...@@ -138,29 +138,6 @@ static struct platform_device *platform_devs[] __initdata = {
&db8500_pmu_device, &db8500_pmu_device,
}; };
static resource_size_t __initdata db8500_gpio_base[] = {
U8500_GPIOBANK0_BASE,
U8500_GPIOBANK1_BASE,
U8500_GPIOBANK2_BASE,
U8500_GPIOBANK3_BASE,
U8500_GPIOBANK4_BASE,
U8500_GPIOBANK5_BASE,
U8500_GPIOBANK6_BASE,
U8500_GPIOBANK7_BASE,
U8500_GPIOBANK8_BASE,
};
static void __init db8500_add_gpios(struct device *parent)
{
struct nmk_gpio_platform_data pdata = {
.supports_sleepmode = true,
};
dbx500_add_gpios(parent, db8500_gpio_base,
ARRAY_SIZE(db8500_gpio_base),
IRQ_DB8500_GPIO0, &pdata);
}
static const char *db8500_read_soc_id(void) static const char *db8500_read_soc_id(void)
{ {
void __iomem *uid = __io_address(U8500_BB_UID_BASE); void __iomem *uid = __io_address(U8500_BB_UID_BASE);
...@@ -190,8 +167,6 @@ struct device * __init u8500_init_devices(void) ...@@ -190,8 +167,6 @@ struct device * __init u8500_init_devices(void)
parent = db8500_soc_device_init(); parent = db8500_soc_device_init();
db8500_add_gpios(parent);
for (i = 0; i < ARRAY_SIZE(platform_devs); i++) for (i = 0; i < ARRAY_SIZE(platform_devs); i++)
platform_devs[i]->dev.parent = parent; platform_devs[i]->dev.parent = parent;
......
/*
* Copyright (C) ST-Ericsson SA 2010
*
* Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson
* License terms: GNU General Public License (GPL), version 2.
*/
#include <linux/kernel.h>
#include <linux/dma-mapping.h>
#include <linux/err.h>
#include <linux/irq.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/platform_data/pinctrl-nomadik.h>
#include "irqs.h"
#include "devices-common.h"
static struct platform_device *
dbx500_add_gpio(struct device *parent, int id, resource_size_t addr, int irq,
struct nmk_gpio_platform_data *pdata)
{
struct resource resources[] = {
{
.start = addr,
.end = addr + 127,
.flags = IORESOURCE_MEM,
},
{
.start = irq,
.end = irq,
.flags = IORESOURCE_IRQ,
}
};
return platform_device_register_resndata(
parent,
"gpio",
id,
resources,
ARRAY_SIZE(resources),
pdata,
sizeof(*pdata));
}
void dbx500_add_gpios(struct device *parent, resource_size_t *base, int num,
int irq, struct nmk_gpio_platform_data *pdata)
{
int first = 0;
int i;
for (i = 0; i < num; i++, first += 32, irq++) {
pdata->first_gpio = first;
pdata->first_irq = NOMADIK_GPIO_TO_IRQ(first);
pdata->num_gpio = 32;
dbx500_add_gpio(parent, i, base[i], irq, pdata);
}
}
...@@ -33,9 +33,4 @@ dbx500_add_uart(struct device *parent, const char *name, resource_size_t base, ...@@ -33,9 +33,4 @@ dbx500_add_uart(struct device *parent, const char *name, resource_size_t base,
return amba_ahb_device_add(parent, name, base, SZ_4K, irq, 0, pdata, 0); return amba_ahb_device_add(parent, name, base, SZ_4K, irq, 0, pdata, 0);
} }
struct nmk_gpio_platform_data;
void dbx500_add_gpios(struct device *parent, resource_size_t *base, int num,
int irq, struct nmk_gpio_platform_data *pdata);
#endif #endif
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/gpio.h>
#include <linux/amba/bus.h> #include <linux/amba/bus.h>
#include <linux/amba/pl022.h> #include <linux/amba/pl022.h>
#include <linux/platform_data/dma-ste-dma40.h> #include <linux/platform_data/dma-ste-dma40.h>
......
...@@ -10,8 +10,6 @@ ...@@ -10,8 +10,6 @@
struct platform_device; struct platform_device;
struct amba_device; struct amba_device;
extern struct platform_device u8500_gpio_devs[];
extern struct amba_device ux500_pl031_device; extern struct amba_device ux500_pl031_device;
extern struct platform_device u8500_dma40_device; extern struct platform_device u8500_dma40_device;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment