Hi everyone,
This is a set of bug fixes for build errors and warnings I am seeing in the various defconfigs and/or allmodconfig builds on linux-next. The majority of these showed up because we now include a lot more platforms in allmodconfig than we used to.
Please apply to appropriate maintainer trees or provide feedback, I can take care of the rest sending those through arm-soc that I get no feedback on.
Arnd
Arnd Bergmann (21): Turn off -Wmaybe-uninitialized when building with -Os ARM: compressed/head.S: work around new binutils warning ARM: use optimized do_div only for EABI ARM: kvm: define KVM_ARM_MAX_VCPUS unconditionally ARM: OMAP2+: add dependencies on ARCH_MULTI_V6/V7 ARM: tegra: call cpu_do_idle from C code ARM: tegra: unify tegra_idle_device definitions ASoC: ux500: forward declare msp_i2s_platform_data spi/sirf: fix MODULE_DEVICE_TABLE ssb: fix alignment of struct bcma_device_id drm/tilcdc: use only a single module device table mmc: sdhci-tegra: fix MODULE_DEVICE_TABLE misc: mark spear13xx-pcie-gadget as broken staging: nvec: allow modular build staging: comedi/dawboard2000: use mdelay for large delays staging/zsmalloc: don't use pgtable-mapping from modules tty/serial/sirf: fix MODULE_DEVICE_TABLE usb: phy: tegra: don't call into tegra-ehci directly usb: phy: don't mark usb_bind_phy as __init MFD: ab8500: export ab8500_gpadc_sw_hw_convert properly mtd: omap2: allow bulding as a module
Makefile | 2 +- arch/arm/boot/compressed/Makefile | 2 +- arch/arm/boot/compressed/head.S | 12 ++++++++++++ arch/arm/include/asm/div64.h | 2 +- arch/arm/kvm/Kconfig | 6 +++--- arch/arm/mach-omap2/Kconfig | 5 +++++ arch/arm/mach-tegra/cpuidle-tegra114.c | 5 ++--- arch/arm/mach-tegra/cpuidle-tegra20.c | 4 +--- arch/arm/mach-tegra/cpuidle-tegra30.c | 4 +--- arch/arm/mach-tegra/cpuidle.c | 2 ++ arch/arm/mach-tegra/cpuidle.h | 4 ++++ arch/arm/mach-tegra/pm.c | 5 +++++ arch/arm/mach-tegra/sleep-tegra20.S | 2 +- drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_slave.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - drivers/mfd/ab8500-gpadc.c | 2 +- drivers/misc/Kconfig | 2 +- drivers/mmc/host/sdhci-tegra.c | 2 +- drivers/mtd/nand/Kconfig | 2 +- drivers/spi/spi-sirf.c | 2 +- drivers/staging/comedi/drivers/daqboard2000.c | 14 +++++++------- drivers/staging/nvec/Kconfig | 10 +++++----- drivers/staging/zsmalloc/zsmalloc-main.c | 2 +- drivers/tty/serial/sirfsoc_uart.c | 2 +- drivers/usb/host/ehci-tegra.c | 10 +++++----- drivers/usb/otg/otg.c | 2 +- drivers/usb/phy/tegra_usb_phy.c | 13 +++++++++---- include/linux/mod_devicetable.h | 5 +++-- include/linux/usb/tegra_usb_phy.h | 10 +++++----- sound/soc/ux500/ux500_msp_i2s.h | 1 + 31 files changed, 82 insertions(+), 55 deletions(-)
The tilcdc driver fails to be built as a module because of extraneous MODULE_DEVICE_TABLE entries:
drivers/gpu/drm/tilcdc/tilcdc_slave.o:(.data+0x54): multiple definition of `__mod_of_device_table' drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here drivers/gpu/drm/tilcdc/tilcdc_panel.o:(.data+0x54): multiple definition of `__mod_of_device_table' drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here drivers/gpu/drm/tilcdc/tilcdc_drv.o:(.data+0x184): multiple definition of `__mod_of_device_table' drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here
Since the entire point of these entries is to make the module autoload when one of the devices is present, it's enough to keep the one entry for "ti,am33xx-tilcdc", which should always be there if any of the others are.
Cc: Rob Clark robdclark@gmail.com Cc: Dave Airlie airlied@linux.ie Cc: dri-devel@lists.freedesktop.org Signed-off-by: Arnd Bergmann arnd@arndb.de --- drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_slave.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - 3 files changed, 3 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c index 580b74e..eb99f42 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c @@ -413,7 +413,6 @@ static struct of_device_id panel_of_match[] = { { .compatible = "ti,tilcdc,panel", }, { }, }; -MODULE_DEVICE_TABLE(of, panel_of_match);
struct platform_driver panel_driver = { .probe = panel_probe, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_slave.c b/drivers/gpu/drm/tilcdc/tilcdc_slave.c index 568dc1c..db1d2fc 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_slave.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_slave.c @@ -353,7 +353,6 @@ static struct of_device_id slave_of_match[] = { { .compatible = "ti,tilcdc,slave", }, { }, }; -MODULE_DEVICE_TABLE(of, slave_of_match);
struct platform_driver slave_driver = { .probe = slave_probe, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c index 58d487b..a36788f 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c @@ -396,7 +396,6 @@ static struct of_device_id tfp410_of_match[] = { { .compatible = "ti,tilcdc,tfp410", }, { }, }; -MODULE_DEVICE_TABLE(of, tfp410_of_match);
struct platform_driver tfp410_driver = { .probe = tfp410_probe,
On Tue, Apr 23, 2013 at 12:30 PM, Arnd Bergmann arnd@arndb.de wrote:
The tilcdc driver fails to be built as a module because of extraneous MODULE_DEVICE_TABLE entries:
drivers/gpu/drm/tilcdc/tilcdc_slave.o:(.data+0x54): multiple definition of `__mod_of_device_table' drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here drivers/gpu/drm/tilcdc/tilcdc_panel.o:(.data+0x54): multiple definition of `__mod_of_device_table' drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here drivers/gpu/drm/tilcdc/tilcdc_drv.o:(.data+0x184): multiple definition of `__mod_of_device_table' drivers/gpu/drm/tilcdc/tilcdc_tfp410.o:(.data+0x54): first defined here
Since the entire point of these entries is to make the module autoload when one of the devices is present, it's enough to keep the one entry for "ti,am33xx-tilcdc", which should always be there if any of the others are.
Thanks Arnd
Acked-By: Rob Clark robdclark@gmail.com
Cc: Rob Clark robdclark@gmail.com Cc: Dave Airlie airlied@linux.ie Cc: dri-devel@lists.freedesktop.org Signed-off-by: Arnd Bergmann arnd@arndb.de
drivers/gpu/drm/tilcdc/tilcdc_panel.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_slave.c | 1 - drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 1 - 3 files changed, 3 deletions(-)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c index 580b74e..eb99f42 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c @@ -413,7 +413,6 @@ static struct of_device_id panel_of_match[] = { { .compatible = "ti,tilcdc,panel", }, { }, }; -MODULE_DEVICE_TABLE(of, panel_of_match);
struct platform_driver panel_driver = { .probe = panel_probe, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_slave.c b/drivers/gpu/drm/tilcdc/tilcdc_slave.c index 568dc1c..db1d2fc 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_slave.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_slave.c @@ -353,7 +353,6 @@ static struct of_device_id slave_of_match[] = { { .compatible = "ti,tilcdc,slave", }, { }, }; -MODULE_DEVICE_TABLE(of, slave_of_match);
struct platform_driver slave_driver = { .probe = slave_probe, diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c index 58d487b..a36788f 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c @@ -396,7 +396,6 @@ static struct of_device_id tfp410_of_match[] = { { .compatible = "ti,tilcdc,tfp410", }, { }, }; -MODULE_DEVICE_TABLE(of, tfp410_of_match);
struct platform_driver tfp410_driver = { .probe = tfp410_probe, -- 1.8.1.2
dri-devel@lists.freedesktop.org