diff options
30 files changed, 94 insertions, 55 deletions
diff --git a/arch/arm/cpu/cpuinfo.c b/arch/arm/cpu/cpuinfo.c index 3c8fe4147f..8aea4b472d 100644 --- a/arch/arm/cpu/cpuinfo.c +++ b/arch/arm/cpu/cpuinfo.c @@ -155,7 +155,7 @@ static int do_cpuinfo(int argc, char *argv[]) implementer, architecture); if (cache & (1 << 24)) { - /* seperate I/D cache */ + /* separate I/D cache */ printf("I-cache: "); decode_cache(cache & 0xfff); printf("D-cache: "); diff --git a/arch/arm/mach-imx/include/mach/devices-imx1.h b/arch/arm/mach-imx/include/mach/devices-imx1.h index 391c1a9c8e..e4185bc281 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx1.h +++ b/arch/arm/mach-imx/include/mach/devices-imx1.h @@ -1,4 +1,5 @@ #include <mach/devices.h> +#include <mach/imx1-regs.h> static inline struct device_d *imx1_add_uart0(void) { diff --git a/arch/arm/mach-imx/include/mach/devices-imx21.h b/arch/arm/mach-imx/include/mach/devices-imx21.h index ad7ee5ed02..5b2dfd7505 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx21.h +++ b/arch/arm/mach-imx/include/mach/devices-imx21.h @@ -1,5 +1,6 @@ #include <mach/devices.h> +#include <mach/imx21-regs.h> static inline struct device_d *imx21_add_uart0(void) { diff --git a/arch/arm/mach-imx/include/mach/devices-imx25.h b/arch/arm/mach-imx/include/mach/devices-imx25.h index a655be9564..5b582b88cd 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx25.h +++ b/arch/arm/mach-imx/include/mach/devices-imx25.h @@ -1,5 +1,6 @@ #include <mach/devices.h> +#include <mach/imx25-regs.h> static inline struct device_d *imx25_add_i2c0(struct i2c_platform_data *pdata) { diff --git a/arch/arm/mach-imx/include/mach/devices-imx27.h b/arch/arm/mach-imx/include/mach/devices-imx27.h index d6c884a30a..87a3a7cc1c 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx27.h +++ b/arch/arm/mach-imx/include/mach/devices-imx27.h @@ -1,5 +1,6 @@ #include <mach/devices.h> +#include <mach/imx27-regs.h> static inline struct device_d *imx27_add_spi0(struct spi_imx_master *pdata) { diff --git a/arch/arm/mach-imx/include/mach/devices-imx35.h b/arch/arm/mach-imx/include/mach/devices-imx35.h index 912c41872e..766610de9d 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx35.h +++ b/arch/arm/mach-imx/include/mach/devices-imx35.h @@ -1,5 +1,6 @@ #include <mach/devices.h> +#include <mach/imx35-regs.h> static inline struct device_d *imx35_add_i2c0(struct i2c_platform_data *pdata) { diff --git a/arch/arm/mach-imx/include/mach/devices-imx51.h b/arch/arm/mach-imx/include/mach/devices-imx51.h index ec8467ae9c..00644788a7 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx51.h +++ b/arch/arm/mach-imx/include/mach/devices-imx51.h @@ -1,6 +1,7 @@ -#include <mach/devices.h> #include <sizes.h> +#include <mach/devices.h> +#include <mach/imx51-regs.h> static inline struct device_d *imx51_add_spi0(struct spi_imx_master *pdata) { diff --git a/arch/arm/mach-imx/include/mach/devices-imx53.h b/arch/arm/mach-imx/include/mach/devices-imx53.h index 5bdcf32291..df14654865 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx53.h +++ b/arch/arm/mach-imx/include/mach/devices-imx53.h @@ -1,5 +1,6 @@ #include <mach/devices.h> +#include <mach/imx53-regs.h> static inline struct device_d *imx53_add_spi0(struct spi_imx_master *pdata) { diff --git a/arch/arm/mach-imx/include/mach/devices-imx6.h b/arch/arm/mach-imx/include/mach/devices-imx6.h index b6b538a95b..7d41d7f02b 100644 --- a/arch/arm/mach-imx/include/mach/devices-imx6.h +++ b/arch/arm/mach-imx/include/mach/devices-imx6.h @@ -1,4 +1,5 @@ #include <mach/devices.h> +#include <mach/imx6-regs.h> static inline struct device_d *imx6_add_uart0(void) { diff --git a/arch/arm/mach-imx/include/mach/generic.h b/arch/arm/mach-imx/include/mach/generic.h index 189b32f2c3..9958cb2f3f 100644 --- a/arch/arm/mach-imx/include/mach/generic.h +++ b/arch/arm/mach-imx/include/mach/generic.h @@ -1,6 +1,9 @@ #ifndef __MACH_GENERIC_H #define __MACH_GENERIC_H +#include <linux/compiler.h> +#include <linux/types.h> + u64 imx_uid(void); void imx25_boot_save_loc(void __iomem *ccm_base); diff --git a/arch/arm/mach-imx/include/mach/iomux-v1.h b/arch/arm/mach-imx/include/mach/iomux-v1.h index 55fbcdb94e..49dcecd1de 100644 --- a/arch/arm/mach-imx/include/mach/iomux-v1.h +++ b/arch/arm/mach-imx/include/mach/iomux-v1.h @@ -1,6 +1,8 @@ #ifndef __MACH_IOMUX_V1_H__ #define __MACH_IOMUX_V1_H__ +#include <linux/compiler.h> + #define GPIO_PIN_MASK 0x1f #define GPIO_PORT_SHIFT 5 diff --git a/arch/arm/mach-imx/include/mach/weim.h b/arch/arm/mach-imx/include/mach/weim.h index 8d572dc0bf..3fbbb6ba8e 100644 --- a/arch/arm/mach-imx/include/mach/weim.h +++ b/arch/arm/mach-imx/include/mach/weim.h @@ -1,6 +1,8 @@ #ifndef __MACH_WEIM_H #define __MACH_WEIM_H +#include <linux/types.h> + void imx27_setup_weimcs(size_t cs, unsigned upper, unsigned lower, unsigned additional); diff --git a/arch/ppc/boards/.gitignore b/arch/ppc/boards/.gitignore new file mode 100644 index 0000000000..d1165788c9 --- /dev/null +++ b/arch/ppc/boards/.gitignore @@ -0,0 +1 @@ +barebox.lds diff --git a/common/globalvar.c b/common/globalvar.c index a8aaa72553..abcd881adf 100644 --- a/common/globalvar.c +++ b/common/globalvar.c @@ -22,7 +22,7 @@ int globalvar_add(const char *name, * get a concatenated string of all globalvars beginning with 'match'. * This adds whitespaces between the different globalvars */ -char *globalvar_get_match(const char *match, const char *seperator) +char *globalvar_get_match(const char *match, const char *separator) { char *val = NULL; struct param_d *param; @@ -31,7 +31,7 @@ char *globalvar_get_match(const char *match, const char *seperator) if (!strncmp(match, param->name, strlen(match))) { const char *p = dev_get_param(&global_device, param->name); if (val) { - char *new = asprintf("%s%s%s", val, seperator, p); + char *new = asprintf("%s%s%s", val, separator, p); free(val); val = new; } else { diff --git a/common/hush.c b/common/hush.c index b5e111a019..a3235ba19f 100644 --- a/common/hush.c +++ b/common/hush.c @@ -1959,7 +1959,7 @@ BAREBOX_CMD_START(getopt) BAREBOX_CMD_END #endif -BAREBOX_MAGICVAR(PATH, "colon seperated list of pathes to search for executables"); +BAREBOX_MAGICVAR(PATH, "colon separated list of pathes to search for executables"); #ifdef CONFIG_HUSH_FANCY_PROMPT BAREBOX_MAGICVAR(PS1, "hush prompt"); #endif diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 6398268eae..ca6e8adab4 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1,3 +1,5 @@ +#define pr_fmt(fmt) "gpiolib: " fmt + #include <init.h> #include <common.h> #include <command.h> @@ -32,20 +34,30 @@ static int gpio_ensure_requested(struct gpio_info *gi, int gpio) return gpio_request(gpio, "gpio"); } +static struct gpio_info *gpio_to_desc(unsigned gpio) +{ + if (gpio_is_valid(gpio)) + if (gpio_desc[gpio].chip) + return &gpio_desc[gpio]; + + pr_warning("invalid GPIO %d\n", gpio); + + return NULL; +} + int gpio_request(unsigned gpio, const char *label) { - struct gpio_info *gi = &gpio_desc[gpio]; - struct gpio_chip *chip = gi->chip; + struct gpio_info *gi = gpio_to_desc(gpio); int ret; - if (!gpio_is_valid(gpio)) - return -EINVAL; - if (!chip) - return -EINVAL; + if (!gi) + return -ENODEV; + if (gi->requested) return -EBUSY; - if (chip->ops->request) { - ret = chip->ops->request(chip, gpio - chip->base); + + if (gi->chip->ops->request) { + ret = gi->chip->ops->request(gi->chip, gpio - gi->chip->base); if (ret) return ret; } @@ -58,17 +70,16 @@ int gpio_request(unsigned gpio, const char *label) void gpio_free(unsigned gpio) { - struct gpio_info *gi = &gpio_desc[gpio]; - struct gpio_chip *chip = gi->chip; + struct gpio_info *gi = gpio_to_desc(gpio); - if (!gpio_is_valid(gpio)) - return; - if (!chip) + if (!gi) return; + if (!gi->requested) return; - if (chip->ops->free) - chip->ops->free(chip, gpio - chip->base); + + if (gi->chip->ops->free) + gi->chip->ops->free(gi->chip, gpio - gi->chip->base); gi->requested = false; free(gi->label); @@ -76,75 +87,71 @@ void gpio_free(unsigned gpio) void gpio_set_value(unsigned gpio, int value) { - struct gpio_info *gi = &gpio_desc[gpio]; - struct gpio_chip *chip = gi->chip; + struct gpio_info *gi = gpio_to_desc(gpio); - if (!gpio_is_valid(gpio)) - return; - if (!chip) + if (!gi) return; + if (gpio_ensure_requested(gi, gpio)) return; - if (!chip->ops->set) - return; - chip->ops->set(chip, gpio - chip->base, value); + + if (gi->chip->ops->set) + gi->chip->ops->set(gi->chip, gpio - gi->chip->base, value); } EXPORT_SYMBOL(gpio_set_value); int gpio_get_value(unsigned gpio) { - struct gpio_info *gi = &gpio_desc[gpio]; - struct gpio_chip *chip = gi->chip; + struct gpio_info *gi = gpio_to_desc(gpio); int ret; - if (!gpio_is_valid(gpio)) - return -EINVAL; - if (!chip) + if (!gi) return -ENODEV; + ret = gpio_ensure_requested(gi, gpio); if (ret) return ret; - if (!chip->ops->get) + + if (!gi->chip->ops->get) return -ENOSYS; - return chip->ops->get(chip, gpio - chip->base); + return gi->chip->ops->get(gi->chip, gpio - gi->chip->base); } EXPORT_SYMBOL(gpio_get_value); int gpio_direction_output(unsigned gpio, int value) { - struct gpio_info *gi = &gpio_desc[gpio]; - struct gpio_chip *chip = gi->chip; + struct gpio_info *gi = gpio_to_desc(gpio); int ret; - if (!gpio_is_valid(gpio)) - return -EINVAL; - if (!chip) + if (!gi) return -ENODEV; + ret = gpio_ensure_requested(gi, gpio); if (ret) return ret; - if (!chip->ops->direction_output) + + if (!gi->chip->ops->direction_output) return -ENOSYS; - return chip->ops->direction_output(chip, gpio - chip->base, value); + return gi->chip->ops->direction_output(gi->chip, gpio - gi->chip->base, + value); } EXPORT_SYMBOL(gpio_direction_output); int gpio_direction_input(unsigned gpio) { - struct gpio_info *gi = &gpio_desc[gpio]; - struct gpio_chip *chip = gi->chip; + struct gpio_info *gi = gpio_to_desc(gpio); int ret; - if (!gpio_is_valid(gpio)) - return -EINVAL; - if (!chip) + if (!gi) return -ENODEV; + ret = gpio_ensure_requested(gi, gpio); if (ret) return ret; - if (!chip->ops->direction_input) + + if (!gi->chip->ops->direction_input) return -ENOSYS; - return chip->ops->direction_input(chip, gpio - chip->base); + return gi->chip->ops->direction_input(gi->chip, gpio - gi->chip->base); } EXPORT_SYMBOL(gpio_direction_input); diff --git a/drivers/mci/imx.c b/drivers/mci/imx.c index c98596434e..2bf48eb1d3 100644 --- a/drivers/mci/imx.c +++ b/drivers/mci/imx.c @@ -2,7 +2,7 @@ * This is a driver for the SDHC controller found in Freescale MX2/MX3 * SoCs. It is basically the same hardware as found on MX1 (imxmmc.c). * Unlike the hardware found on MX1, this hardware just works and does - * not need all the quirks found in imxmmc.c, hence the seperate driver. + * not need all the quirks found in imxmmc.c, hence the separate driver. * * Copyright (C) 2009 Ilya Yanok, <yanok@emcraft.com> * Copyright (C) 2008 Sascha Hauer, Pengutronix <s.hauer@pengutronix.de> diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c index 1a85d15b7b..25d8d8eef5 100644 --- a/drivers/net/fec_imx.c +++ b/drivers/net/fec_imx.c @@ -707,6 +707,7 @@ static int fec_probe(struct device_d *dev) if (dev->device_node) { ret = fec_probe_dt(dev, fec); + fec->phy_addr = -1; } else if (pdata) { fec->interface = pdata->xcv_type; fec->phy_init = pdata->phy_init; diff --git a/include/environment.h b/include/environment.h index 7bdd213a52..ae1ecf5bd6 100644 --- a/include/environment.h +++ b/include/environment.h @@ -20,6 +20,8 @@ #ifndef _ENVIRONMENT_H_ #define _ENVIRONMENT_H_ +#include <linux/list.h> + /** * Managment of a environment variable */ diff --git a/include/fb.h b/include/fb.h index 23d6c6d025..df4ba8ebe7 100644 --- a/include/fb.h +++ b/include/fb.h @@ -3,6 +3,7 @@ #include <ioctl.h> #include <param.h> +#include <driver.h> #define FB_VISUAL_TRUECOLOR 2 /* True color */ #define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */ diff --git a/include/filetype.h b/include/filetype.h index ee777acf99..c73c64aa60 100644 --- a/include/filetype.h +++ b/include/filetype.h @@ -1,6 +1,8 @@ #ifndef __FILE_TYPE_H #define __FILE_TYPE_H +#include <linux/string.h> + /* * List of file types we know */ diff --git a/include/globalvar.h b/include/globalvar.h index ddf885f18e..e3098bc403 100644 --- a/include/globalvar.h +++ b/include/globalvar.h @@ -8,7 +8,7 @@ int globalvar_add(const char *name, int (*set)(struct device_d *dev, struct param_d *p, const char *val), const char *(*get)(struct device_d *, struct param_d *p), unsigned long flags); -char *globalvar_get_match(const char *match, const char *seperator); +char *globalvar_get_match(const char *match, const char *separator); void globalvar_set_match(const char *match, const char *val); #else static inline int globalvar_add_simple(const char *name) @@ -24,7 +24,7 @@ static inline int globalvar_add(const char *name, return 0; } -static inline char *globalvar_get_match(const char *match, const char *seperator) +static inline char *globalvar_get_match(const char *match, const char *separator) { return NULL; } diff --git a/include/i2c/i2c.h b/include/i2c/i2c.h index 7b59a5102d..dab8dc59e0 100644 --- a/include/i2c/i2c.h +++ b/include/i2c/i2c.h @@ -16,6 +16,9 @@ #ifndef I2C_I2C_H #define I2C_I2C_H +#include <driver.h> +#include <linux/types.h> + #ifndef DOXYGEN_SHOULD_SKIP_THIS /* diff --git a/include/image.h b/include/image.h index 219419b12b..0c8a4b138d 100644 --- a/include/image.h +++ b/include/image.h @@ -89,7 +89,7 @@ #define IH_ARCH IH_ARCH_PPC #elif defined(__ARM__) #define IH_ARCH IH_ARCH_ARM -#elif defined(__I386__) || defined(__x86_64__) +#elif defined(__I386__) || defined(__x86_64__) || defined(__i386__) #define IH_ARCH IH_ARCH_I386 #elif defined(__mips__) #define IH_ARCH IH_ARCH_MIPS diff --git a/include/linux/phy.h b/include/linux/phy.h index 99c96390c7..8e60758ca3 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -15,6 +15,7 @@ #ifndef __PHY_H #define __PHY_H +#include <driver.h> #include <linux/list.h> #include <linux/ethtool.h> #include <linux/mii.h> diff --git a/include/mfd/mc13xxx.h b/include/mfd/mc13xxx.h index 59042ebee6..cba85890c1 100644 --- a/include/mfd/mc13xxx.h +++ b/include/mfd/mc13xxx.h @@ -12,6 +12,8 @@ #ifndef __MFD_MC13XXX_H #define __MFD_MC13XXX_H +#include <linux/types.h> + #define MC13XXX_REG_IDENTIFICATION 0x07 #define MC13783_REG_INT_STATUS0 0x00 diff --git a/include/net.h b/include/net.h index bb6b8fa281..72f02ce117 100644 --- a/include/net.h +++ b/include/net.h @@ -19,7 +19,9 @@ #include <stdlib.h> #include <clock.h> #include <led.h> +#include <xfuncs.h> #include <linux/phy.h> +#include <linux/string.h> /* memcpy */ #include <asm/byteorder.h> /* for nton* / ntoh* stuff */ /* How often do we retry to send packages */ diff --git a/include/notifier.h b/include/notifier.h index cb2be5f548..c83e28b156 100644 --- a/include/notifier.h +++ b/include/notifier.h @@ -1,6 +1,8 @@ #ifndef __NOTIFIER_H #define __NOTIFIER_H +#include <linux/list.h> + /* * Notifer chains loosely based on the according Linux framework */ diff --git a/include/partition.h b/include/partition.h index 8ad7490d85..32570530eb 100644 --- a/include/partition.h +++ b/include/partition.h @@ -1,7 +1,7 @@ #ifndef __PARTITION_H #define __PARTITION_H -struct device_d; +#include <driver.h> struct partition { int num; @@ -18,4 +18,3 @@ struct partition { }; #endif /* __PARTITION_H */ - diff --git a/include/spi/spi.h b/include/spi/spi.h index 3da13e85ec..45fd22ce26 100644 --- a/include/spi/spi.h +++ b/include/spi/spi.h @@ -4,6 +4,7 @@ #ifndef DOXYGEN_SHOULD_SKIP_THIS #include <driver.h> +#include <linux/string.h> struct spi_board_info { char *name; |