obj-$(CONFIG_MACH_MOP500) += board-mop500.o board-mop500-sdi.o \
board-mop500-regulators.o \
board-mop500-uib.o board-mop500-stuib.o \
- board-mop500-u8500uib.o \
board-mop500-pins.o \
board-mop500-audio.o
obj-$(CONFIG_SMP) += platsmp.o headsmp.o
+++ /dev/null
-/*
- * Copyright (C) ST-Ericsson SA 2010
- *
- * Board data for the U8500 UIB, also known as the New UIB
- * License terms: GNU General Public License (GPL), version 2
- */
-#include <linux/kernel.h>
-#include <linux/init.h>
-
-#include "board-mop500.h"
-
-void __init mop500_u8500uib_init(void)
-{
-}
enum mop500_uib {
STUIB,
- U8500UIB,
};
struct uib {
.option = "stuib",
.init = mop500_stuib_init,
},
- [U8500UIB] = {
- .name = "U8500-UIB",
- .option = "u8500uib",
- .init = mop500_u8500uib_init,
- },
};
static struct uib *mop500_uib;
uib->init();
}
-/*
- * Detect the UIB attached based on the presence or absence of i2c devices.
- */
int __init mop500_uib_init(void)
{
struct uib *uib = mop500_uib;
- struct i2c_adapter *i2c0;
- int ret;
if (!cpu_is_u8500_family())
return -ENODEV;
return 0;
}
- i2c0 = i2c_get_adapter(0);
- if (!i2c0) {
- __mop500_uib_init(&mop500_uibs[STUIB],
- "fallback, could not get i2c0");
- return -ENODEV;
- }
-
- /* U8500-UIB has the TC35893 at 0x44 on I2C0, the ST-UIB doesn't. */
- ret = i2c_smbus_xfer(i2c0, 0x44, 0, I2C_SMBUS_WRITE, 0,
- I2C_SMBUS_QUICK, NULL);
- i2c_put_adapter(i2c0);
-
- if (ret == 0)
- uib = &mop500_uibs[U8500UIB];
- else
- uib = &mop500_uibs[STUIB];
-
- __mop500_uib_init(uib, "detected");
+ __mop500_uib_init(&mop500_uibs[STUIB], "detected");
return 0;
}
extern struct msp_i2s_platform_data msp3_platform_data;
extern struct pl022_ssp_controller ssp0_plat;
-void __init mop500_u8500uib_init(void);
void __init mop500_stuib_init(void);
void __init mop500_pinmaps_init(void);
void __init snowball_pinmaps_init(void);