ARM: ux500: Purge UIB framework when booting with ATAGs
authorLee Jones <lee.jones@linaro.org>
Wed, 18 Sep 2013 13:53:06 +0000 (14:53 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 26 Sep 2013 09:08:53 +0000 (11:08 +0200)
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: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/mach-ux500/Makefile
arch/arm/mach-ux500/board-mop500-uib.c [deleted file]
arch/arm/mach-ux500/board-mop500.c
arch/arm/mach-ux500/board-mop500.h
arch/arm/mach-ux500/cpu.c
arch/arm/mach-ux500/setup.h

index 4f55eccae704908f927ffd45d2e63857ab9ee699..e4ed82036302a117352a6de9168111dd9d0deac9 100644 (file)
@@ -8,7 +8,6 @@ obj-$(CONFIG_CACHE_L2X0)        += cache-l2x0.o
 obj-$(CONFIG_UX500_SOC_DB8500) += cpu-db8500.o devices-db8500.o
 obj-$(CONFIG_MACH_MOP500)      += board-mop500.o board-mop500-sdi.o \
                                board-mop500-regulators.o \
-                               board-mop500-uib.o \
                                board-mop500-pins.o \
                                board-mop500-audio.o
 obj-$(CONFIG_SMP)              += platsmp.o headsmp.o
diff --git a/arch/arm/mach-ux500/board-mop500-uib.c b/arch/arm/mach-ux500/board-mop500-uib.c
deleted file mode 100644 (file)
index 2742eec..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * 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
- */
-
-#define pr_fmt(fmt)    "mop500-uib: " fmt
-
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/i2c.h>
-
-#include "board-mop500.h"
-#include "id.h"
-
-enum mop500_uib {
-};
-
-struct uib {
-       const char *name;
-       const char *option;
-       void (*init)(void);
-};
-
-static struct uib __initdata mop500_uibs[] = {
-};
-
-static struct uib *mop500_uib;
-
-static int __init mop500_uib_setup(char *str)
-{
-       int i;
-
-       for (i = 0; i < ARRAY_SIZE(mop500_uibs); i++) {
-               struct uib *uib = &mop500_uibs[i];
-
-               if (!strcmp(str, uib->option)) {
-                       mop500_uib = uib;
-                       break;
-               }
-       }
-
-       if (i == ARRAY_SIZE(mop500_uibs))
-               pr_err("invalid uib= option (%s)\n", str);
-
-       return 1;
-}
-__setup("uib=", mop500_uib_setup);
-
-/*
- * The UIBs are detected after the I2C host controllers are registered, so
- * i2c_register_board_info() can't be used.
- */
-void mop500_uib_i2c_add(int busnum, struct i2c_board_info *info,
-               unsigned n)
-{
-       struct i2c_adapter *adap;
-       struct i2c_client *client;
-       int i;
-
-       adap = i2c_get_adapter(busnum);
-       if (!adap) {
-               pr_err("failed to get adapter i2c%d\n", busnum);
-               return;
-       }
-
-       for (i = 0; i < n; i++) {
-               client = i2c_new_device(adap, &info[i]);
-               if (!client)
-                       pr_err("failed to register %s to i2c%d\n",
-                                       info[i].type, busnum);
-       }
-
-       i2c_put_adapter(adap);
-}
-
-static void __init __mop500_uib_init(struct uib *uib, const char *why)
-{
-       pr_info("%s (%s)\n", uib->name, why);
-       uib->init();
-}
-
-int __init mop500_uib_init(void)
-{
-       struct uib *uib = mop500_uib;
-
-       if (!cpu_is_u8500_family())
-               return -ENODEV;
-
-       if (uib) {
-               __mop500_uib_init(uib, "from uib= boot argument");
-               return 0;
-       }
-
-       return 0;
-}
index b37bcbc1c7b78e45a7c9bd29cc22c1a42a137682..d034e62e226fd403f5c9e3c5655bf33c5ae65a18 100644 (file)
@@ -105,8 +105,8 @@ MACHINE_START(U8500, "ST-Ericsson MOP500 platform")
        /* we re-use nomadik timer here */
        .init_time      = ux500_timer_init,
        .init_machine   = mop500_init_machine,
-       .init_late      = ux500_init_late,
        .restart        = ux500_restart,
+       .init_late      = NULL,
 MACHINE_END
 
 MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520")
@@ -115,8 +115,8 @@ MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520")
        .init_irq       = ux500_init_irq,
        .init_time      = ux500_timer_init,
        .init_machine   = mop500_init_machine,
-       .init_late      = ux500_init_late,
        .restart        = ux500_restart,
+       .init_late      = NULL,
 MACHINE_END
 
 MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+")
@@ -126,8 +126,8 @@ MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+")
        .init_irq       = ux500_init_irq,
        .init_time      = ux500_timer_init,
        .init_machine   = hrefv60_init_machine,
-       .init_late      = ux500_init_late,
        .restart        = ux500_restart,
+       .init_late      = NULL,
 MACHINE_END
 
 MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
@@ -138,6 +138,6 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
        /* we re-use nomadik timer here */
        .init_time      = ux500_timer_init,
        .init_machine   = snowball_init_machine,
-       .init_late      = NULL,
        .restart        = ux500_restart,
+       .init_late      = NULL,
 MACHINE_END
index 2fb89e2d5faa807864aef9537df0835e1eda7b10..511d6febbe9996ac7f4831ba6d878435765c2869 100644 (file)
@@ -93,7 +93,4 @@ void __init mop500_pinmaps_init(void);
 void __init snowball_pinmaps_init(void);
 void __init hrefv60_pinmaps_init(void);
 
-int __init mop500_uib_init(void);
-void mop500_uib_i2c_add(int busnum, struct i2c_board_info *info,
-               unsigned n);
 #endif
index 0e65822394fcd45e5c62ca399001f3f5af0dee32..f84d4397896b39705e0227dac27555542c1d9cc0 100644 (file)
@@ -104,11 +104,6 @@ void __init ux500_init_irq(void)
        }
 }
 
-void __init ux500_init_late(void)
-{
-       mop500_uib_init();
-}
-
 static const char * __init ux500_get_machine(void)
 {
        return kasprintf(GFP_KERNEL, "DB%4x", dbx500_partnumber());
index 656324aad18e229d67a3abaf36af2c04d6c85c3c..bdb356498a748563091d7563525db015500dbfc1 100644 (file)
@@ -24,7 +24,6 @@ extern void __init u8500_map_io(void);
 extern struct device * __init u8500_init_devices(void);
 
 extern void __init ux500_init_irq(void);
-extern void __init ux500_init_late(void);
 
 extern struct device *ux500_soc_device_init(const char *soc_id);