diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-05-08 15:26:20 +0000 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-08-22 17:22:35 +0200 |
commit | ee6f08d58e6216df1d72ebf569ae6f93f2e3a930 (patch) | |
tree | a2743c63308698bee206b55a120e75ee6f07694c | |
parent | bc616594c48d68ba125c56bfd4cbb01a5a2764c3 (diff) |
ARM: random randconfig fixes for testing multiplatformtracking-multiplatform-llct-20120917.0tracking-multiplatform-llct-20120911.0tracking-multiplatform-llct-20120910.0tracking-multiplatform-llct-20120907.1tracking-multiplatform-llct-20120907.0tracking-multiplatform-llct-20120903.0
These patches fix or work around problems that existed before
the multiplatform support got added. They should be addressed
one by one with an appropriate patch.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | arch/arm/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/Kconfig.debug | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-ux500/hotplug.c | 4 | ||||
-rw-r--r-- | arch/arm/plat-mxc/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/plat-omap/debug-leds.c | 2 | ||||
-rw-r--r-- | drivers/gpio/gpio-pxa.c | 4 | ||||
-rw-r--r-- | drivers/i2c/busses/i2c-designware-core.c | 1 | ||||
-rw-r--r-- | drivers/i2c/busses/i2c-designware-platdrv.c | 2 | ||||
-rw-r--r-- | drivers/iio/Kconfig | 1 | ||||
-rw-r--r-- | drivers/leds/leds-lp5523.c | 4 | ||||
-rw-r--r-- | drivers/media/video/au0828/Kconfig | 2 | ||||
-rw-r--r-- | drivers/media/video/smiapp/smiapp-core.c | 1 | ||||
-rw-r--r-- | drivers/mfd/rc5t583.c | 2 | ||||
-rw-r--r-- | drivers/mfd/wm8994-core.c | 2 | ||||
-rw-r--r-- | drivers/mmc/host/dw_mmc.c | 5 | ||||
-rw-r--r-- | drivers/mtd/devices/Kconfig | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ath/carl9170/Kconfig | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wlcore/main.c | 2 | ||||
-rw-r--r-- | drivers/usb/Kconfig | 10 | ||||
-rw-r--r-- | drivers/usb/host/Kconfig | 1 | ||||
-rw-r--r-- | include/linux/phy.h | 18 | ||||
-rw-r--r-- | include/linux/usb/ulpi.h | 8 | ||||
-rw-r--r-- | sound/soc/Kconfig | 1 | ||||
-rw-r--r-- | sound/soc/omap/Kconfig | 1 |
25 files changed, 60 insertions, 17 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 6de14670cca5..e51de7bc61b4 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -262,6 +262,7 @@ config ARCH_MULTIPLATFORM select SPARSE_IRQ select MULTI_IRQ_HANDLER select AUTO_ZRELADDR + select ARM_PATCH_PHYS_VIRT depends on MMU config ARCH_SOCFPGA diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index f15f82bf3a50..6721f96763bd 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -392,6 +392,7 @@ config OC_ETM config ARM_KPROBES_TEST tristate "Kprobes test module" depends on KPROBES && MODULES + depends on CPU_V6 || CPU_V7 help Perform tests of kprobes API and instruction set simulation. diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h index aed2eeb06517..f91bb4b90494 100644 --- a/arch/arm/mach-exynos/common.h +++ b/arch/arm/mach-exynos/common.h @@ -13,6 +13,7 @@ #define __ARCH_ARM_MACH_EXYNOS_COMMON_H extern struct sys_timer exynos4_timer; +struct map_desc; void exynos_init_io(struct map_desc *mach_desc, int size); void exynos4_init_irq(void); diff --git a/arch/arm/mach-ux500/hotplug.c b/arch/arm/mach-ux500/hotplug.c index c76f0f456f04..11b38f52890a 100644 --- a/arch/arm/mach-ux500/hotplug.c +++ b/arch/arm/mach-ux500/hotplug.c @@ -23,8 +23,8 @@ static inline void platform_do_lowpower(unsigned int cpu) /* we put the platform to just WFI */ for (;;) { - __asm__ __volatile__("dsb\n\t" "wfi\n\t" - : : : "memory"); + dsb(); + wfi(); if (pen_release == cpu_logical_map(cpu)) { /* * OK, proper wakeup, we're done diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig index a54d863e71bd..030d998a7f60 100644 --- a/arch/arm/plat-mxc/Kconfig +++ b/arch/arm/plat-mxc/Kconfig @@ -66,6 +66,7 @@ config HAVE_EPIT config MXC_USE_EPIT bool "Use EPIT instead of GPT" depends on HAVE_EPIT + depends on BROKEN help Use EPIT as the system timer on systems that have it. Normally you don't have a reason to do so as the EPIT has the same features and diff --git a/arch/arm/plat-omap/debug-leds.c b/arch/arm/plat-omap/debug-leds.c index 2450ab4c5915..3d6c4a6411c3 100644 --- a/arch/arm/plat-omap/debug-leds.c +++ b/arch/arm/plat-omap/debug-leds.c @@ -62,6 +62,7 @@ static u16 led_state, hw_led_state; #define GPIO_IDLE GPIO_LED_GREEN #define GPIO_TIMER GPIO_LED_RED +#ifdef CONFIG_LEDS static void h2p2_dbg_leds_event(led_event_t evt) { unsigned long flags; @@ -179,6 +180,7 @@ static void h2p2_dbg_leds_event(led_event_t evt) done: spin_unlock_irqrestore(&lock, flags); } +#endif /*-------------------------------------------------------------------------*/ diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c index c6440a5651e1..50e1f5c798da 100644 --- a/drivers/gpio/gpio-pxa.c +++ b/drivers/gpio/gpio-pxa.c @@ -494,6 +494,7 @@ static int pxa_gpio_nums(void) return count; } +#ifdef CONFIG_OF static struct of_device_id pxa_gpio_dt_ids[] = { { .compatible = "mrvl,pxa-gpio" }, { .compatible = "mrvl,mmp-gpio", .data = (void *)MMP_GPIO }, @@ -513,7 +514,6 @@ const struct irq_domain_ops pxa_irq_domain_ops = { .map = pxa_irq_domain_map, }; -#ifdef CONFIG_OF static int __devinit pxa_gpio_probe_dt(struct platform_device *pdev) { int ret, nr_banks, nr_gpios, irq_base; @@ -659,7 +659,7 @@ static struct platform_driver pxa_gpio_driver = { .probe = pxa_gpio_probe, .driver = { .name = "pxa-gpio", - .of_match_table = pxa_gpio_dt_ids, + .of_match_table = of_match_ptr(pxa_gpio_dt_ids), }, }; diff --git a/drivers/i2c/busses/i2c-designware-core.c b/drivers/i2c/busses/i2c-designware-core.c index 1e48bec80edf..368c807ec6e1 100644 --- a/drivers/i2c/busses/i2c-designware-core.c +++ b/drivers/i2c/busses/i2c-designware-core.c @@ -33,6 +33,7 @@ #include <linux/io.h> #include <linux/pm_runtime.h> #include <linux/delay.h> +#include <linux/module.h> #include "i2c-designware-core.h" /* diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c index 0506fef8dc00..8e6a78402a3c 100644 --- a/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -199,7 +199,7 @@ static const struct of_device_id dw_i2c_of_match[] = { MODULE_DEVICE_TABLE(of, dw_i2c_of_match); #endif -#ifdef CONFIG_PM +#ifdef CONFIG_PM_SLEEP static int dw_i2c_suspend(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); diff --git a/drivers/iio/Kconfig b/drivers/iio/Kconfig index d4984c8be973..ec8e5898a1da 100644 --- a/drivers/iio/Kconfig +++ b/drivers/iio/Kconfig @@ -5,6 +5,7 @@ menuconfig IIO tristate "Industrial I/O support" depends on GENERIC_HARDIRQS + select ANON_INODES help The industrial I/O subsystem provides a unified framework for drivers for many different types of embedded sensors using a diff --git a/drivers/leds/leds-lp5523.c b/drivers/leds/leds-lp5523.c index fbc12acada95..6283e2aa07b3 100644 --- a/drivers/leds/leds-lp5523.c +++ b/drivers/leds/leds-lp5523.c @@ -243,7 +243,9 @@ static int lp5523_configure(struct i2c_client *client) /* Let the programs run for couple of ms and check the engine status */ usleep_range(3000, 6000); - lp5523_read(client, LP5523_REG_STATUS, &status); + ret = lp5523_read(client, LP5523_REG_STATUS, &status); + if (ret) + return ret; status &= LP5523_ENG_STATUS_MASK; if (status == LP5523_ENG_STATUS_MASK) { diff --git a/drivers/media/video/au0828/Kconfig b/drivers/media/video/au0828/Kconfig index 23f7fd22f0eb..0a2de7b12a97 100644 --- a/drivers/media/video/au0828/Kconfig +++ b/drivers/media/video/au0828/Kconfig @@ -2,11 +2,11 @@ config VIDEO_AU0828 tristate "Auvitek AU0828 support" depends on I2C && INPUT && DVB_CORE && USB && VIDEO_V4L2 + depends on DVB_AU8522_DTV depends on DVB_CAPTURE_DRIVERS select I2C_ALGOBIT select VIDEO_TVEEPROM select VIDEOBUF_VMALLOC - select DVB_AU8522_DTV if !DVB_FE_CUSTOMISE select DVB_AU8522_V4L if !DVB_FE_CUSTOMISE select MEDIA_TUNER_XC5000 if !MEDIA_TUNER_CUSTOMISE select MEDIA_TUNER_MXL5007T if !MEDIA_TUNER_CUSTOMISE diff --git a/drivers/media/video/smiapp/smiapp-core.c b/drivers/media/video/smiapp/smiapp-core.c index bfd47c106134..80b973f3485a 100644 --- a/drivers/media/video/smiapp/smiapp-core.c +++ b/drivers/media/video/smiapp/smiapp-core.c @@ -34,6 +34,7 @@ #include <linux/slab.h> #include <linux/regulator/consumer.h> #include <linux/v4l2-mediabus.h> +#include <linux/slab.h> #include <media/v4l2-device.h> #include "smiapp.h" diff --git a/drivers/mfd/rc5t583.c b/drivers/mfd/rc5t583.c index cdc1df7fa0e9..7637ffe78aac 100644 --- a/drivers/mfd/rc5t583.c +++ b/drivers/mfd/rc5t583.c @@ -97,7 +97,7 @@ static int __rc5t583_set_ext_pwrreq1_control(struct device *dev, en_bit = deepsleep_data[id].ds_pos_bit; slot_bit = en_bit + 1; ret = rc5t583_read(dev, deepsleep_data[id].reg_add, &sleepseq_val); - if (ret < 0) { + if (ret) { dev_err(dev, "Error in reading reg 0x%x\n", deepsleep_data[id].reg_add); return ret; diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c index eec74aa55fdf..5529c6638852 100644 --- a/drivers/mfd/wm8994-core.c +++ b/drivers/mfd/wm8994-core.c @@ -405,7 +405,7 @@ static __devinit int wm8994_device_init(struct wm8994 *wm8994, int irq) struct regmap_config *regmap_config; const struct reg_default *regmap_patch = NULL; const char *devname; - int ret, i, patch_regs; + int ret, i, uninitialized_var(patch_regs); int pulls = 0; dev_set_drvdata(wm8994->dev, wm8994); diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 72dc3cde646d..79573eb085c8 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -11,7 +11,6 @@ * (at your option) any later version. */ -#include <linux/blkdev.h> #include <linux/clk.h> #include <linux/debugfs.h> #include <linux/device.h> @@ -1760,7 +1759,7 @@ static void dw_mci_work_routine_card(struct work_struct *work) } } -static int __init dw_mci_init_slot(struct dw_mci *host, unsigned int id) +static int __devinit dw_mci_init_slot(struct dw_mci *host, unsigned int id) { struct mmc_host *mmc; struct dw_mci_slot *slot; @@ -1935,7 +1934,7 @@ static bool mci_wait_reset(struct device *dev, struct dw_mci *host) return false; } -int dw_mci_probe(struct dw_mci *host) +int __devinit dw_mci_probe(struct dw_mci *host) { int width, i, ret = 0; u32 fifo_size; diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig index 4cdb2af7bf44..315c3512dff4 100644 --- a/drivers/mtd/devices/Kconfig +++ b/drivers/mtd/devices/Kconfig @@ -264,6 +264,7 @@ config MTD_DOCG3 tristate "M-Systems Disk-On-Chip G3" select BCH select BCH_CONST_PARAMS + select BITREVERSE ---help--- This provides an MTD device driver for the M-Systems DiskOnChip G3 devices. diff --git a/drivers/net/wireless/ath/carl9170/Kconfig b/drivers/net/wireless/ath/carl9170/Kconfig index 267d5dcf82dc..1f1ba8fd689e 100644 --- a/drivers/net/wireless/ath/carl9170/Kconfig +++ b/drivers/net/wireless/ath/carl9170/Kconfig @@ -1,6 +1,7 @@ config CARL9170 tristate "Linux Community AR9170 802.11n USB support" depends on USB && MAC80211 && EXPERIMENTAL + select BITREVERSE select FW_LOADER select CRC32 help diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c index 72548609f711..1faa6ae3dda4 100644 --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c @@ -1426,6 +1426,7 @@ int wl1271_rx_filter_alloc_field(struct wl12xx_rx_filter *filter, return 0; } +#endif int wl1271_rx_filter_get_fields_size(struct wl12xx_rx_filter *filter) { @@ -1458,6 +1459,7 @@ void wl1271_rx_filter_flatten_fields(struct wl12xx_rx_filter *filter, } } +#ifdef CONFIG_PM /* * Allocates an RX filter returned through f * which needs to be freed using rx_filter_free() diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index a7773a3e02b1..040f1fdda9f7 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -55,6 +55,11 @@ config USB_ARCH_HAS_XHCI boolean default PCI +config USB_COMMON + tristate + default y + depends on USB || USB_GADGET + menuconfig USB_SUPPORT bool "USB support" depends on HAS_IOMEM @@ -65,11 +70,6 @@ menuconfig USB_SUPPORT if USB_SUPPORT -config USB_COMMON - tristate - default y - depends on USB || USB_GADGET - # Host-side USB depends on having a host controller # NOTE: dummy_hcd is always an option, but it's ignored here ... # NOTE: SL-811 option should be board-specific ... diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index 075d2eca8108..6c662c509049 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -145,6 +145,7 @@ config USB_EHCI_FSL config USB_EHCI_MXC bool "Support for Freescale i.MX on-chip EHCI USB controller" depends on USB_EHCI_HCD && ARCH_MXC + depends on !USB_EHCI_HCD_OMAP select USB_EHCI_ROOT_HUB_TT ---help--- Variation of ARC USB block used in some Freescale chips. diff --git a/include/linux/phy.h b/include/linux/phy.h index 93b3cf77f564..d8e3d411b2d1 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -548,12 +548,30 @@ int phy_start_interrupts(struct phy_device *phydev); void phy_print_status(struct phy_device *phydev); void phy_device_free(struct phy_device *phydev); +#if IS_ENABLED(CONFIG_PHYLIB) int phy_register_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask, int (*run)(struct phy_device *)); int phy_register_fixup_for_id(const char *bus_id, int (*run)(struct phy_device *)); int phy_register_fixup_for_uid(u32 phy_uid, u32 phy_uid_mask, int (*run)(struct phy_device *)); +#else +static inline int phy_register_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask, + int (*run)(struct phy_device *)) +{ + return 0; +} +static inline int phy_register_fixup_for_id(const char *bus_id, + int (*run)(struct phy_device *)) +{ + return 0; +} +static inline int phy_register_fixup_for_uid(u32 phy_uid, u32 phy_uid_mask, + int (*run)(struct phy_device *)) +{ + return 0; +} +#endif int phy_scan_fixups(struct phy_device *phydev); int phy_init_eee(struct phy_device *phydev, bool clk_stop_enable); diff --git a/include/linux/usb/ulpi.h b/include/linux/usb/ulpi.h index 6f033a415ecb..687386298eae 100644 --- a/include/linux/usb/ulpi.h +++ b/include/linux/usb/ulpi.h @@ -181,8 +181,16 @@ /*-------------------------------------------------------------------------*/ +#ifdef CONFIG_USB_ULPI struct usb_phy *otg_ulpi_create(struct usb_phy_io_ops *ops, unsigned int flags); +#else +static inline struct usb_phy *otg_ulpi_create(struct usb_phy_io_ops *ops, + unsigned int flags) +{ + return NULL; +} +#endif #ifdef CONFIG_USB_ULPI_VIEWPORT /* access ops for controllers with a viewport register */ diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig index c5de0a84566f..7af6f7e1ca56 100644 --- a/sound/soc/Kconfig +++ b/sound/soc/Kconfig @@ -7,6 +7,7 @@ menuconfig SND_SOC select SND_PCM select AC97_BUS if SND_SOC_AC97_BUS select SND_JACK if INPUT=y || INPUT=SND + depends on I2C || !I2C select REGMAP_I2C if I2C select REGMAP_SPI if SPI_MASTER ---help--- diff --git a/sound/soc/omap/Kconfig b/sound/soc/omap/Kconfig index 57a2fa751085..90237682d301 100644 --- a/sound/soc/omap/Kconfig +++ b/sound/soc/omap/Kconfig @@ -112,6 +112,7 @@ config SND_OMAP_SOC_OMAP_ABE_TWL6040 config SND_OMAP_SOC_OMAP_HDMI tristate "SoC Audio support for Texas Instruments OMAP HDMI" depends on SND_OMAP_SOC && OMAP4_DSS_HDMI && OMAP2_DSS + depends on BROKEN select SND_OMAP_SOC_HDMI select SND_SOC_OMAP_HDMI_CODEC select OMAP4_DSS_HDMI_AUDIO |