diff --git a/arch/arm/cpu/cpuinfo.c b/arch/arm/cpu/cpuinfo.c index 3c8fe41..8aea4b4 100644 --- a/arch/arm/cpu/cpuinfo.c +++ b/arch/arm/cpu/cpuinfo.c @@ -155,7 +155,7 @@ 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 391c1a9..e4185bc 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 +#include 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 ad7ee5e..5b2dfd7 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 +#include 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 a655be9..5b582b8 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 +#include 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 d6c884a..87a3a7c 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 +#include 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 912c418..766610d 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 +#include 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 ec8467a..0064478 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 #include +#include +#include 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 5bdcf32..df14654 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 +#include 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 b6b538a..7d41d7f 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 +#include 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 189b32f..9958cb2 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 +#include + 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 55fbcdb..49dcecd 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 + #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 8d572dc..3fbbb6b 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 + 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 0000000..d116578 --- /dev/null +++ b/arch/ppc/boards/.gitignore @@ -0,0 +1 @@ +barebox.lds diff --git a/common/globalvar.c b/common/globalvar.c index a8aaa72..abcd881 100644 --- a/common/globalvar.c +++ b/common/globalvar.c @@ -22,7 +22,7 @@ * 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 @@ 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 b5e111a..a3235ba 100644 --- a/common/hush.c +++ b/common/hush.c @@ -1959,7 +1959,7 @@ 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 6398268..ca6e8ad 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1,3 +1,5 @@ +#define pr_fmt(fmt) "gpiolib: " fmt + #include #include #include @@ -32,20 +34,30 @@ 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 @@ 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)) + if (!gi) return; - if (!chip) - 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_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)) + if (!gi) return; - if (!chip) - 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 c985964..2bf48eb 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, * Copyright (C) 2008 Sascha Hauer, Pengutronix diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c index 1a85d15..25d8d8e 100644 --- a/drivers/net/fec_imx.c +++ b/drivers/net/fec_imx.c @@ -707,6 +707,7 @@ 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 7bdd213..ae1ecf5 100644 --- a/include/environment.h +++ b/include/environment.h @@ -20,6 +20,8 @@ #ifndef _ENVIRONMENT_H_ #define _ENVIRONMENT_H_ +#include + /** * Managment of a environment variable */ diff --git a/include/fb.h b/include/fb.h index 23d6c6d..df4ba8e 100644 --- a/include/fb.h +++ b/include/fb.h @@ -3,6 +3,7 @@ #include #include +#include #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 ee777ac..c73c64a 100644 --- a/include/filetype.h +++ b/include/filetype.h @@ -1,6 +1,8 @@ #ifndef __FILE_TYPE_H #define __FILE_TYPE_H +#include + /* * List of file types we know */ diff --git a/include/globalvar.h b/include/globalvar.h index ddf885f..e3098bc 100644 --- a/include/globalvar.h +++ b/include/globalvar.h @@ -8,7 +8,7 @@ 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 @@ 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 7b59a51..dab8dc5 100644 --- a/include/i2c/i2c.h +++ b/include/i2c/i2c.h @@ -16,6 +16,9 @@ #ifndef I2C_I2C_H #define I2C_I2C_H +#include +#include + #ifndef DOXYGEN_SHOULD_SKIP_THIS /* diff --git a/include/image.h b/include/image.h index 219419b..0c8a4b1 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 99c9639..8e60758 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -15,6 +15,7 @@ #ifndef __PHY_H #define __PHY_H +#include #include #include #include diff --git a/include/mfd/mc13xxx.h b/include/mfd/mc13xxx.h index 59042eb..cba8589 100644 --- a/include/mfd/mc13xxx.h +++ b/include/mfd/mc13xxx.h @@ -12,6 +12,8 @@ #ifndef __MFD_MC13XXX_H #define __MFD_MC13XXX_H +#include + #define MC13XXX_REG_IDENTIFICATION 0x07 #define MC13783_REG_INT_STATUS0 0x00 diff --git a/include/net.h b/include/net.h index bb6b8fa..72f02ce 100644 --- a/include/net.h +++ b/include/net.h @@ -19,7 +19,9 @@ #include #include #include +#include #include +#include /* memcpy */ #include /* for nton* / ntoh* stuff */ /* How often do we retry to send packages */ diff --git a/include/notifier.h b/include/notifier.h index cb2be5f..c83e28b 100644 --- a/include/notifier.h +++ b/include/notifier.h @@ -1,6 +1,8 @@ #ifndef __NOTIFIER_H #define __NOTIFIER_H +#include + /* * Notifer chains loosely based on the according Linux framework */ diff --git a/include/partition.h b/include/partition.h index 8ad7490..3257053 100644 --- a/include/partition.h +++ b/include/partition.h @@ -1,7 +1,7 @@ #ifndef __PARTITION_H #define __PARTITION_H -struct device_d; +#include struct partition { int num; @@ -18,4 +18,3 @@ }; #endif /* __PARTITION_H */ - diff --git a/include/spi/spi.h b/include/spi/spi.h index 3da13e8..45fd22c 100644 --- a/include/spi/spi.h +++ b/include/spi/spi.h @@ -4,6 +4,7 @@ #ifndef DOXYGEN_SHOULD_SKIP_THIS #include +#include struct spi_board_info { char *name;