1. 15 Aug, 2012 1 commit
    • Arnd Bergmann's avatar
      Merge tag 'omap-fixes-for-v3.6-rc1' of... · c6041d4a
      Arnd Bergmann authored
      Merge tag 'omap-fixes-for-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      Omap fixes for issues noted during the merge window, mostly
      PM related.
      
      * tag 'omap-fixes-for-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP: dmtimers: Fix locking issue in omap_dm_timer_request*()
        ARM: OMAP4: Register the OPP table only for 4430 device
        cpufreq: OMAP: Handle missing frequency table on SMP systems
        ARM: OMAP4: sleep: Save the complete used register stack frame
        ARM: OMAP2+: cpu: Add am33xx device under cpu_class_is_omap2
        omap: Fix multi.h when only ARCH_OMAP3 and SOC_AM33XX are selected
        ARM: OMAP2+: Fix dmtimer set source clock failure
        Revert "ARM: OMAP3: PM: call pre/post transition per powerdomain"
        ARM: OMAP3: TWL4030: ensure sys_nirq1 is mux'd and wakeup enabled
        omap2: mux: remove comment for nonexistent member
        OMAP: remove unused parameter arch_id from uncompress.h
        arm/dts: Mark vcxio, v2v1 and v1v8 regulators as always on
        OMAP2+: Fix random config build break with !ARM_CPU_SUSPEND
        arm/dts: Fix am33xx wdt node
        ARM: OMAP3: igep0020: set GPIO mode for mux mcspi1_cs2 pin
        Revert "ARM: OMAP3530evm: set pendown_state and debounce time for ads7846"
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      c6041d4a
  2. 13 Aug, 2012 2 commits
    • Arnd Bergmann's avatar
      ARM: mv78xx0: fix win_cfg_base prototype · e18287d3
      Arnd Bergmann authored
      Patch b6d1c33a "ARM: Orion: Consolidate the address map setup" tried
      to merge the address map for the four orion platforms, but apparently
      got it wrong for mv78xx0. Admittedly I don't understand what this
      code actually does, but it's clear that the current version is
      wrong.
      
      Without this patch, building mv78xx0_defconfig results in:
      
      arch/arm/mach-mv78xx0/addr-map.c:59:2: warning: initialization from incompatible pointer type [enabled by default]
      arch/arm/mach-mv78xx0/addr-map.c:59:2: warning: (near initialization for 'addr_map_cfg.win_cfg_base') [enabled by default]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Cc: Michael Walle <michael@walle.cc>
      Cc: Nicolas Pitre <nico@linaro.org>
      e18287d3
    • Timo Kokkonen's avatar
      ARM: OMAP: dmtimers: Fix locking issue in omap_dm_timer_request*() · c5491d1a
      Timo Kokkonen authored
      Calling omap_dm_timer_prepare while the spinlock is held is not
      allowed as sleeping functions are called later on during the
      preparation (namely within clk_get()).
      
      dm_timer_lock is only required for protecting the
      omap_timer_list. After the timer is marked as reserved, the lock is no
      longer needed and should be freed.
      Signed-off-by: default avatarTimo Kokkonen <timo.t.kokkonen@iki.fi>
      Cc: Tarun Kanti DebBarma <tarun.kanti@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      c5491d1a
  3. 11 Aug, 2012 1 commit
  4. 10 Aug, 2012 8 commits
    • Arnd Bergmann's avatar
      ARM: davinci: remove broken ntosd2_init_i2c · de923430
      Arnd Bergmann authored
      ntosd2_init_i2c walks the ntosd2_i2c_info array, which it expects to
      be populated with at least one member. gcc correctly warns about
      the out-of-bounds access here.
      
      Since this can not possibly work, it's better to disable i2c
      support entirely on this board.
      
      Without this patch, building davinci_all_defconfig results in:
      
      arch/arm/mach-davinci/board-neuros-osd2.c: In function 'davinci_ntosd2_init':
      arch/arm/mach-davinci/board-neuros-osd2.c:187:20: warning: array subscript is above array bounds [-Warray-bounds]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarSekhar Nori <nsekhar@ti.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: Andrey Porodko <panda@chelcom.ru>
      de923430
    • Arnd Bergmann's avatar
      ARM: s3c24xx: enable CONFIG_BUG for tct_hammer · 15b5eb2d
      Arnd Bergmann authored
      Disabling CONFIG_BUG creates an insane amount of build warnings, which
      makes it useless to check for building defconfigs to see if new
      warnings show up.
      
      Without this patch, building tct_hammer_defconfig results in:
      
      net/packet/af_packet.c: In function 'tpacket_rcv':
      net/packet/af_packet.c:1889:30: warning: 'hdrlen' may be used uninitialized in this function [-Wuninitialized]
      net/core/ethtool.c: In function 'ethtool_get_feature_mask':
      net/core/ethtool.c:213:1: warning: control reaches end of non-void function [-Wreturn-type]
      block/cfq-iosched.c: In function 'cfq_async_queue_prio':
      block/cfq-iosched.c:2914:1: warning: control reaches end of non-void function [-Wreturn-type]
      mm/bootmem.c: In function 'mark_bootmem':
      mm/bootmem.c:352:1: warning: control reaches end of non-void function [-Wreturn-type]
      net/core/dev.c: In function 'skb_warn_bad_offload':
      net/core/dev.c:1904:33: warning: unused variable 'null_features' [-Wunused-variable]
      drivers/mtd/chips/cfi_probe.c: In function 'cfi_chip_setup':
      include/linux/mtd/cfi.h:489:3: warning: 'r.x[0]' may be used uninitialized in this function [-Wuninitialized]
      include/linux/mtd/map.h:394:11: note: 'r.x[0]' was declared here
      include/linux/mtd/cfi.h:489:3: warning: 'r.x[0]' may be used uninitialized in this function [-Wuninitialized]
      (and many more)
      
      The size of vmlinux increases by 1.78% because of this:
      
      size obj-arm/vmlinux.nobug
         text    data     bss     dec     hex filename
         2108474  116916   55352 2280742  22cd26 obj-arm/vmlinux
      size obj-arm/vmlinux.bug
         text    data     bss     dec     hex filename
         2150804  116916   53696 2321416  236c08 obj-arm/vmlinux
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      15b5eb2d
    • Arnd Bergmann's avatar
      Merge branch 'testing/new-warnings' into fixes · b64456a4
      Arnd Bergmann authored
      These patches all fix bugs that were newly introduced in v3.6-rc1
      and found because they cause a gcc warning with one of the ARM
      defconfigs. Most of them are harmless, but since we're trying
      to get rid of all warnings eventually, we can start with the ones
      that were not there before.
      
      * testing/new-warnings:
        omap-rng: fix use of SIMPLE_DEV_PM_OPS
        spi/s3c64xx: improve error handling
        mtd/omap2: fix dmaengine_slave_config error handling
        gpio: em: do not discard em_gio_irq_domain_cleanup
        ARM: exynos: exynos_pm_add_dev_to_genpd may be unused
        usb/ohci-omap: remove unused variable
        mfd/asic3: fix asic3_mfd_probe return value
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      b64456a4
    • Arnd Bergmann's avatar
      omap-rng: fix use of SIMPLE_DEV_PM_OPS · 59596df6
      Arnd Bergmann authored
      omap_rng_suspend and omap_rng_resume are unused if CONFIG_PM is enabled
      but CONFIG_PM_SLEEP is disabled. I found this while building all defconfig
      files on ARM. It's not clear to me if this is the right solution, but
      at least it makes the code consistent again.
      
      Without this patch, building omap1_defconfig results in:
      
      drivers/char/hw_random/omap-rng.c:165:12: warning: 'omap_rng_suspend' defined but not used [-Wunused-function]
      drivers/char/hw_random/omap-rng.c:171:12: warning: 'omap_rng_resume' defined but not used [-Wunused-function]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarKevin Hilman <khilman@ti.com>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      59596df6
    • Arnd Bergmann's avatar
      spi/s3c64xx: improve error handling · 4732cc63
      Arnd Bergmann authored
      When a device tree definition os an s3c64xx SPI master is missing
      a "controller-data" subnode, the newly added s3c64xx_get_slave_ctrldata
      function might use uninitialized memory in place of that node,
      which was correctly reported by gcc.
      
      Without this patch, building s3c6400_defconfig results in:
      
      drivers/spi/spi-s3c64xx.c: In function 's3c64xx_get_slave_ctrldata.isra.25':
      drivers/spi/spi-s3c64xx.c:841:5: warning: 'data_np' may be used uninitialized in this function [-Wuninitialized]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarThomas Abraham <thomas.abraham@linaro.org>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Jaswinder Singh <jaswinder.singh@linaro.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      4732cc63
    • Arnd Bergmann's avatar
      mtd/omap2: fix dmaengine_slave_config error handling · d680e2c1
      Arnd Bergmann authored
      The newly added dmaengine support in the omap2 nand driver
      potentially causes an undefined return value from the
      omap_nand_probe function when dmaengine_slave_config
      reports an error. Let's handle this by returning the
      same error back to the caller.
      
      Without this patch, building omap2plus_defconfig results in:
      
      drivers/mtd/nand/omap2.c: In function 'omap_nand_probe':
      drivers/mtd/nand/omap2.c:1154:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Grazvydas Ignotas <notasas@gmail.com>
      d680e2c1
    • Arnd Bergmann's avatar
      gpio: em: do not discard em_gio_irq_domain_cleanup · 38eaed32
      Arnd Bergmann authored
      The newly added gpio-em driver marks its em_gio_irq_domain_cleanup
      function as __devexit, which would lead to that function being
      discarded in case CONFIG_HOTPLUG is disabled. However, the function
      is also called by the error handling logic em_gio_probe, which
      would cause a jump into a NULL pointer if it was removed from the
      kernel or module.
      
      Without this patch, building kzm9d_defconfig results in:
      
      WARNING: drivers/gpio/built-in.o(.devinit.text+0x330): Section mismatch in reference from the function em_gio_probe() to the function .devexit.text:em_gio_irq_domain_cleanup()
      The function __devinit em_gio_probe() references
      a function __devexit em_gio_irq_domain_cleanup().
      This is often seen when error handling in the init function
      uses functionality in the exit path.
      The fix is often to remove the __devexit annotation of
      em_gio_irq_domain_cleanup() so it may be used outside an exit section.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Magnus Damm <damm@opensource.se>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      38eaed32
    • Arnd Bergmann's avatar
      ARM: exynos: exynos_pm_add_dev_to_genpd may be unused · 8ab08c0c
      Arnd Bergmann authored
      exynos_pm_add_dev_to_genpd is used if one or more out of a large
      number of Kconfig symbols are enabled. However the new
      exynos_defconfig selects none of those, so the function becomes
      unused. Marking it so lets the compiler automatically discard
      it.
      
      Without this patch, building exynos_defconfig results in:
      
      arch/arm/mach-exynos/pm_domains.c:118:123: warning: 'exynos_pm_add_dev_to_genpd' defined but not used [-Wunused-function]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarThomas Abraham <thomas.abraham@linaro.org>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      8ab08c0c
  5. 09 Aug, 2012 10 commits
    • Rajendra Nayak's avatar
      ARM: OMAP4: Register the OPP table only for 4430 device · 196449de
      Rajendra Nayak authored
      The 4430 OPP table was being registered for all other OMAP4 variants
      too, like 4460 and 4470 causing issues with cpufreq driver
      enabled. 4460 and 4470 devices have different OPPs as compared to
      4430, and they should be populated seperately. As long as that
      happens, let the OPP table registeration happen only on 4430 device.
      Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      196449de
    • Rajendra Nayak's avatar
      cpufreq: OMAP: Handle missing frequency table on SMP systems · 1b865214
      Rajendra Nayak authored
      On OMAP4, if the first CPU fails to get a valid frequency table (this
      could happen if the platform does not register any OPP table), the
      subsequent CPU instances end up dealing with a NULL freq_table and
      crash.
      
      Check for an already existing freq_table, before trying to create one,
      and increment the freq_table_users only if the table is sucessfully
      created.
      Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: <linux-pm@vger.kernel.org>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      1b865214
    • Santosh Shilimkar's avatar
      ARM: OMAP4: sleep: Save the complete used register stack frame · 5b6e3eb5
      Santosh Shilimkar authored
      OMAP4 sleep entry code even though itself don't use many CPU registers
      makes call to the v7_flush_dcache_all() which uses them. Since
      v7_flush_dcache_all() doesn't make use of stack, the caller must take
      care of the stack frame. Otherwise it will lead to corrupted stack frame.
      
      Fix it by saving used registers.
      Reported-by: default avatarGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      5b6e3eb5
    • Arnd Bergmann's avatar
      ARM: imx: gpmi-nand depends on mxs-dma · a3349377
      Arnd Bergmann authored
      It is not currently possible to build the gpmi-nand driver without
      also building the mxs-dma driver. Clarify this Kconfig and enable
      both in the defconfig file so we can build it again with both enabled.
      
      drivers/built-in.o: In function `gpmi_dma_filter':
      clk-fixed-factor.c:(.text+0xafc18): undefined reference to `mxs_dma_is_apbh'
      make[1]: *** [vmlinux] Error 1
      make: *** [sub-make] Error 2
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarDirk Behme <dirk.behme@de.bosch.com>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      a3349377
    • Arnd Bergmann's avatar
      ARM: integrator: include <linux/export.h> · b434f5c9
      Arnd Bergmann authored
      Without this patch, building integrator_defconfig results in:
      
      arch/arm/mach-integrator/core.c:150:1: warning: data definition has no type or storage class [enabled by default]
      arch/arm/mach-integrator/core.c:150:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int]
      arch/arm/mach-integrator/core.c:150:1: warning: parameter names (without types) in function declaration [enabled by default]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      b434f5c9
    • Arnd Bergmann's avatar
      ARM: s3c24xx: use new PWM driver · 35e79061
      Arnd Bergmann authored
      The samsung PWM driver has moved to the new PWM subsystem, which
      changed the Kconfig symbol for that driver, but the rx1950 and
      gta02 boards still uses the old one.
      
      Without this patch, building s3c2410_defconfig results in:
      
      arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_lcd_power':
      arch/arm/mach-s3c24xx/mach-rx1950.c:430: undefined reference to `pwm_config'
      arch/arm/mach-s3c24xx/mach-rx1950.c:431: undefined reference to `pwm_disable'
      arch/arm/mach-s3c24xx/mach-rx1950.c:437: undefined reference to `pwm_config'
      arch/arm/mach-s3c24xx/mach-rx1950.c:438: undefined reference to `pwm_enable'
      arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_backlight_exit':
      arch/arm/mach-s3c24xx/mach-rx1950.c:504: undefined reference to `pwm_free'
      arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_backlight_init':
      arch/arm/mach-s3c24xx/mach-rx1950.c:487: undefined reference to `pwm_request'
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reported-by: default avatarTushar Behera <tushar.behera@linaro.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      35e79061
    • Arnd Bergmann's avatar
      ARM: sa1100: include linux/io.h in hackkit leds code · 9c97738c
      Arnd Bergmann authored
      The sa1100 definition of the io_p2v macro has changed in v3.6, and this one
      file stopped working because of that.
      
      Without this patch, building hackkit_defconfig results in:
      
      arch/arm/mach-sa1100/leds-hackkit.c: In function 'hackkit_leds_event':
      arch/arm/mach-sa1100/leds-hackkit.c:39:4: error: implicit declaration of function 'IOMEM' [-Werror=implicit-function-declaration]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      9c97738c
    • Arnd Bergmann's avatar
      Input: eeti_ts: pass gpio value instead of IRQ · 4eef6cbf
      Arnd Bergmann authored
      The EETI touchscreen asserts its IRQ line as soon as it has data in its
      internal buffers. The line is automatically deasserted once all data has
      been read via I2C. Hence, the driver has to monitor the GPIO line and
      cannot simply rely on the interrupt handler reception.
      
      In the current implementation of the driver, irq_to_gpio() is used to
      determine the GPIO number from the i2c_client's IRQ value.
      
      As irq_to_gpio() is not available on all platforms, this patch changes
      this and makes the driver ignore the passed in IRQ. Instead, a GPIO is
      added to the platform_data struct and gpio_to_irq is used to derive the
      IRQ from that GPIO. If this fails, bail out. The driver is only able to
      work in environments where the touchscreen GPIO can be mapped to an
      IRQ.
      
      Without this patch, building raumfeld_defconfig results in:
      
      drivers/input/touchscreen/eeti_ts.c: In function 'eeti_ts_irq_active':
      drivers/input/touchscreen/eeti_ts.c:65:2: error: implicit declaration of function 'irq_to_gpio' [-Werror=implicit-function-declaration]
      Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: stable@vger.kernel.org (v3.2+)
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Sven Neumann <s.neumann@raumfeld.com>
      Cc: linux-input@vger.kernel.org
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      4eef6cbf
    • Arnd Bergmann's avatar
      ARM: pxa: remove irq_to_gpio from ezx-pcap driver · 59ee93a5
      Arnd Bergmann authored
      The irq_to_gpio function was removed from the pxa platform
      in linux-3.2, and this driver has been broken since.
      
      There is actually no in-tree user of this driver that adds
      this platform device, but the driver can and does get enabled
      on some platforms.
      
      Without this patch, building ezx_defconfig results in:
      
      drivers/mfd/ezx-pcap.c: In function 'pcap_isr_work':
      drivers/mfd/ezx-pcap.c:205:2: error: implicit declaration of function 'irq_to_gpio' [-Werror=implicit-function-declaration]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarHaojian Zhuang <haojian.zhuang@gmail.com>
      Cc: stable@vger.kernel.org (v3.2+)
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Daniel Ribeiro <drwyrm@gmail.com>
      59ee93a5
    • Stephen Warren's avatar
      ARM: tegra: more regulator fixes for Harmony · 798bd59c
      Stephen Warren authored
      Commit 3d55c29f "ARM: tegra: harmony: add regulator supply name and its
      input supply" was supposed to fix all the problems with regulators on
      Harmony. However, it appears that I only tested it when booting using
      board files, not when booting using device tree. This change fixes two
      problems with regulators when booting using device tree:
      
      1) That patch only created the vdd_sys regulator when booting using a
         board file. Since this is the root of the whole regulator tree, this
         caused no regulators to successfully initialize when booting using
         device tree. The registration of vdd_sys is moved to fix this.
      
      2) When booting use DT, the regulator core sets has_full_constraints,
         which in turn causes the core to turn off any regulators not marked
         as always on. Some of the affected regulators are required for basic
         system operation. To solve this, add always on constraints to all
         relevant regulators. This doesn't affect booting using a board file
         since nothing sets has_full_constraints in that case.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      798bd59c
  6. 08 Aug, 2012 5 commits
    • Arnd Bergmann's avatar
      usb/ohci-omap: remove unused variable · bb1a5805
      Arnd Bergmann authored
      Commit c2e935a7 "USB: move transceiver from ehci_hcd and ohci_hcd to
      hcd and rename it as phy" removed the last use of the "ohci" variable
      in the usb_hcd_omap_remove function, but left the variable in place
      unused.
      
      Without this patch, building omap1_defconfig results in:
      
      In file included from drivers/usb/host/ohci-hcd.c:1013:0:
      drivers/usb/host/ohci-omap.c: In function 'usb_hcd_omap_remove':
      drivers/usb/host/ohci-omap.c:406:19: warning: unused variable 'ohci' [-Wunused-variable]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Richard Zhao <richard.zhao@freescale.com>
      bb1a5805
    • Arnd Bergmann's avatar
      mfd/asic3: fix asic3_mfd_probe return value · b2f0fa82
      Arnd Bergmann authored
      In commit 4f304245 "mfd: Set asic3 DS1WM clock_rate", a possible
      path through asic3_mfd_probe was introduced that would lead to
      an unpredictable return value, if everything succeeds but there
      are pdata->leds is NULL. This was reported correctly by gcc.
      
      Without this patch, building magician_defconfig results in:
      
      drivers/mfd/asic3.c: In function 'asic3_mfd_probe':
      drivers/mfd/asic3.c:940:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Paul Parsons <lost.distance@yahoo.com>
      Cc: Philipp Zabel <philipp.zabel@gmail.com>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      b2f0fa82
    • Vaibhav Hiremath's avatar
      ARM: OMAP2+: cpu: Add am33xx device under cpu_class_is_omap2 · 90f7f9ac
      Vaibhav Hiremath authored
      AM33XX device falls under omap2 class, so make cpu_class_is_omap2()
      macro true by adding soc_is_am33xx() to existing list of cpu/soc
      check.
      
      This is required to unblock the basic boot support on AM335x platform.
      
      Having done that, we still need to sort out properly from
      common zImage point of view without having to maintain this
      cpu/soc_is_xxx list.
      Signed-off-by: default avatarVaibhav Hiremath <hvaibhav@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      90f7f9ac
    • Jan Luebbe's avatar
      omap: Fix multi.h when only ARCH_OMAP3 and SOC_AM33XX are selected · 6c691b5d
      Jan Luebbe authored
      When only ARCH_OMAP3 (or -2,-4,...) and SOC_AM33XX are selected, multi.h
      doesn't set MULTI_OMAP2. In this case, cpu.h will simply define
      cpu_is_omap24xx() as 1.
      
      This causes problems for example for omap_hwmod.c:omap_hwmod_init which
      checks for cpu_is_omap24xx() first, using the wrong soc_ops for AM33xx.
      
      Fix this by defining MULTI_OMAP2 when using SOC_AM33XX together with
      something else.
      Signed-off-by: default avatarJan Luebbe <jlu@pengutronix.de>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      6c691b5d
    • Jon Hunter's avatar
      ARM: OMAP2+: Fix dmtimer set source clock failure · 54f32a35
      Jon Hunter authored
      Calling the dmtimer function omap_dm_timer_set_source() fails if following a
      call to pm_runtime_put() to disable the timer. For example the following
      sequence would fail to set the parent clock ...
      
      	omap_dm_timer_stop(gptimer);
      	omap_dm_timer_set_source(gptimer, OMAP_TIMER_SRC_32_KHZ);
      
      The following error message would be seen ...
      
      omap_dm_timer_set_source: failed to set timer_32k_ck as parent
      
      The problem is that, by design, pm_runtime_put() simply decrements the usage
      count and returns before the timer has actually been disabled. Therefore,
      setting the parent clock failed because the timer was still active when the
      trying to set the parent clock. Setting a parent clock will fail if the clock
      you are setting the parent of has a non-zero usage count. To ensure that this
      does not fail use pm_runtime_put_sync() when disabling the timer.
      
      Note that this will not be seen on OMAP1 devices, because these devices do
      not use the clock framework for dmtimers.
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Acked-by: default avatarKevin Hilman <khilman@ti.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      54f32a35
  7. 07 Aug, 2012 12 commits
    • Kevin Hilman's avatar
      Revert "ARM: OMAP3: PM: call pre/post transition per powerdomain" · e0e29fd7
      Kevin Hilman authored
      This reverts commit 58f0829b.
      
      Converstion to per-pwrdm per/post transition calls was a bit
      premature.  Only tracking MPU, PER & CORE in the idle path means we
      lose the accounting for all the other powerdomains which may also
      transition in idle.  On OMAP3, due to autodeps, several powerdomains
      transition along with MPU (e.g. DSS, USBHOST), and the accounting for
      these was lost with this patch.  Since the accounting includes the
      context loss counters, drivers for devices in those power domains
      would never notice context lost, so would likely hang after any
      off-mode transitions.
      
      This patch should be revisited when the upcoming clkdm/pwrmdm/voltdm
      use-counting seires is merged since then we can properly do accounting
      without relying on a call in the idle path.
      
      In addition, the original patch had another bug because the PER
      powerdomain accounting was not updated until after the GPIO resume
      hook is called.  Since gpio_resume_after_idle() checks the context
      loss count (which is not yet updated) it would not properly restore
      context, leaving the GPIO banks in an undefined state.
      
      Cc: Jean Pihet <jean.pihet@newoldbits.com>
      Cc: Tero Kristo <t-kristo@ti.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Reported-by: default avatarPaul Walmsley <paul@pwsan.com>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      e0e29fd7
    • Kevin Hilman's avatar
      ARM: OMAP3: TWL4030: ensure sys_nirq1 is mux'd and wakeup enabled · 265a2bc8
      Kevin Hilman authored
      The SYS_NIRQ1 pin is the interupt line for the PMIC part of the TWL6030
      and interrupts from the PMIC are needed as wakeup sources.
      
      Ensure this pin is mux'd as input and has wakeup enabled so PMIC
      interupts (e.g. RTC) can be used as wakeup sources.
      
      Tested on 3430/n900, OMAP3530/Overo Fire, 3730/Overo FireSTORM,
      3730/Beagle-xM.
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      265a2bc8
    • Michael Jones's avatar
      omap2: mux: remove comment for nonexistent member · 36b547aa
      Michael Jones authored
      remove comment for nonexistent member
      Signed-off-by: default avatarMichael Jones <michael.jones@matrix-vision.de>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      36b547aa
    • Domenico Andreoli's avatar
      OMAP: remove unused parameter arch_id from uncompress.h · 128aa925
      Domenico Andreoli authored
      There is not point in having arch_id as parameter of __arch_decomp_setup(),
      nothing in it uses arch_id. The machine id is already exported (and used)
      with symbol __machine_arch_type as per mach-types.h.
      
      Removing the pointless macro as well.
      Signed-off-by: default avatarDomenico Andreoli <domenico.andreoli@linux.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      128aa925
    • Tony Lindgren's avatar
      Merge branch 'for_3.6/fixes/ads7846-2' of... · 8aeff82f
      Tony Lindgren authored
      Merge branch 'for_3.6/fixes/ads7846-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into fixes
      8aeff82f
    • Rajendra Nayak's avatar
      arm/dts: Mark vcxio, v2v1 and v1v8 regulators as always on · ae377aaf
      Rajendra Nayak authored
      vcxio, v2v1 and v1v8 are expected to be always on, update the dtsi
      for twl6030 to reflect this.
      
      commit '86f5fc' regulator: core: Mark all DT based boards as having
      full constraints) caused these to be disabled at late boot causing
      OMAP4 boards (using twl6030) to lockup.
      Reported-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      Reported-by: default avatarJ Keerthy <j-keerthy@ti.com>
      Signed-off-by: default avatarRajendra nayak <rnayak@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      ae377aaf
    • Arnd Bergmann's avatar
      Merge tag 'imx-fixes' of git://git.pengutronix.de/git/imx/linux-2.6 into fixes · 376249cf
      Arnd Bergmann authored
      ARM i.MX fixes for 3.6-rc
      
      * tag 'imx-fixes' of git://git.pengutronix.de/git/imx/linux-2.6:
        i.MX27: Fix emma-prp and csi clocks.
        ARM: clk-imx31: Fix the keypad clock name
        ARM: dts: imx27-3ds.dts: Fix serial console node
      376249cf
    • Sebastian Hesselbarth's avatar
      ARM: kirkwood: fix typo in Makefile.boot · 3b6c9440
      Sebastian Hesselbarth authored
      Just a small typo fix to make lsxl dtbs compile
      Signed-off-by: default avatarSebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      3b6c9440
    • Santosh Shilimkar's avatar
      OMAP2+: Fix random config build break with !ARM_CPU_SUSPEND · acb11fe8
      Santosh Shilimkar authored
      The random config builds with PM and !ARM_CPU_SUSPEND breaks with below
      error on omap2plus_defconfig.
      
      arch/arm/mach-omap2/sleep44xx.S:323: undefined reference to `cpu_resume'
      arch/arm/mach-omap2/omap-mpuss-lowpower.c:278: undefined reference to `cpu_suspend'
      
      This is because recently merged OMAP5 platform shares the common files
      with OMAP4 but doesn't select ARM_CPU_SUSPEND. Without the ARM_CPU_SUSPEND
      the sleep code is meaningless.
      
      Fix the same by adding ARM_CPU_SUSPEND for OMAP5. The suggestion came from
      Russell King in an off-list discussion.
      
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Kevin Hilman <khilman@ti.com>
      Reported-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      acb11fe8
    • Javier Martin's avatar
      i.MX27: Fix emma-prp and csi clocks. · 9de76b6d
      Javier Martin authored
      Naming of emma-prp related clocks for the i.MX27 is not correct.
      Signed-off-by: default avatarJavier Martin <javier.martin@vista-silicon.com>
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      9de76b6d
    • Afzal Mohammed's avatar
      arm/dts: Fix am33xx wdt node · 5f789ebc
      Afzal Mohammed authored
      Add am33xx wdt node.
      Signed-off-by: default avatarAfzal Mohammed <afzal@ti.com>
      [tony@atomide.com: I messed up and produced an empty commit db27ac80 with stg apply]
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      5f789ebc
    • Javier Martinez Canillas's avatar
      ARM: OMAP3: igep0020: set GPIO mode for mux mcspi1_cs2 pin · a71eb61c
      Javier Martinez Canillas authored
      According to the IGEPv2 Rev.C data-sheet the LAN9221i pin 14 (IRQ) is
      connected to the OMAP3730 mcspi1_cs2 pin. Since this omap mux pin acts
      as an IRQ line, it has to be configured as an input GPIO.
      
      IGEPv2 platform code sets the smsc911x_cfg->gpio_irq to GPIO 176 but
      since the mux pin default mode is MODE7 (safe_mode) the driver fails
      when trying to register the IRQ with the following error message:
      
      [    1.994598] smsc911x: Driver version 2008-10-21
      [    3.704162] irq 272: nobody cared (try booting with the "irqpoll" option)
      [    3.711364] [<c001a114>] (unwind_backtrace+0x0/0xf0) from [<c009a0d4>] (__report_bad_irq+0x20/0xbc)
      [    3.720916] [<c009a0d4>] (__report_bad_irq+0x20/0xbc) from [<c009a41c>] (note_interrupt+0x1d8/0x238)
      [    3.730560] [<c009a41c>] (note_interrupt+0x1d8/0x238) from [<c0098234>] (handle_irq_event_percpu+0xc0/0x260)
      [    3.740936] [<c0098234>] (handle_irq_event_percpu+0xc0/0x260) from [<c0098410>] (handle_irq_event+0x3c/0x5c)
      [    3.751312] [<c0098410>] (handle_irq_event+0x3c/0x5c) from [<c009abe0>] (handle_level_irq+0xac/0x10c)
      [    3.761047] [<c009abe0>] (handle_level_irq+0xac/0x10c) from [<c0097a34>] (generic_handle_irq+0x30/0x48)
      [    3.770935] [<c0097a34>] (generic_handle_irq+0x30/0x48) from [<c02a6b74>] (gpio_irq_handler+0x180/0x1d4)
      [    3.780944] [<c02a6b74>] (gpio_irq_handler+0x180/0x1d4) from [<c0097a34>] (generic_handle_irq+0x30/0x48)
      [    3.790954] [<c0097a34>] (generic_handle_irq+0x30/0x48) from [<c0013e18>] (handle_IRQ+0x4c/0xac)
      [    3.800231] [<c0013e18>] (handle_IRQ+0x4c/0xac) from [<c000858c>] (omap3_intc_handle_irq+0x60/0x74)
      [    3.809783] [<c000858c>] (omap3_intc_handle_irq+0x60/0x74) from [<c04979e4>] (__irq_svc+0x44/0x60)
      [    3.819213] Exception stack(0xee42fde0 to 0xee42fe28)
      [    3.824554] fde0: 00000001 00000001 00000000 00000000 60000013 c06cce14 c06cce14 00000110
      [    3.833190] fe00: 00000000 c06ccdf4 60000013 ee41d000 fb058064 ee42fe28 c0089e08 c04976b4
      [    3.841796] fe20: 20000013 ffffffff
      [    3.845489] [<c04979e4>] (__irq_svc+0x44/0x60) from [<c04976b4>] (_raw_spin_unlock_irqrestore+0x34/0x44)
      [    3.855499] [<c04976b4>] (_raw_spin_unlock_irqrestore+0x34/0x44) from [<c0099744>] (__setup_irq+0x1b8/0x3f0)
      [    3.865875] [<c0099744>] (__setup_irq+0x1b8/0x3f0) from [<c0099a34>] (request_threaded_irq+0xb8/0x140)
      [    3.875701] [<c0099a34>] (request_threaded_irq+0xb8/0x140) from [<c0487950>] (smsc911x_drv_probe+0x75c/0x11a4)
      [    3.886260] [<c0487950>] (smsc911x_drv_probe+0x75c/0x11a4) from [<c02e9bcc>] (platform_drv_probe+0x18/0x1c)
      [    3.906707] [<c02e89b8>] (driver_probe_device+0x90/0x210) from [<c02e8bcc>] (__driver_attach+0x94/0x98)
      [    3.916625] [<c02e8bcc>] (__driver_attach+0x94/0x98) from [<c02e7298>] (bus_for_each_dev+0x50/0x7c)
      [    3.926177] [<c02e7298>] (bus_for_each_dev+0x50/0x7c) from [<c02e81d4>] (bus_add_driver+0x184/0x248)
      [    3.935821] [<c02e81d4>] (bus_add_driver+0x184/0x248) from [<c02e909c>] (driver_register+0x78/0x12c)
      [    3.945465] [<c02e909c>] (driver_register+0x78/0x12c) from [<c0008648>] (do_one_initcall+0x34/0x178)
      [    3.955108] [<c0008648>] (do_one_initcall+0x34/0x178) from [<c066e8f4>] (kernel_init+0xfc/0x1c0)
      [    3.964385] [<c066e8f4>] (kernel_init+0xfc/0x1c0) from [<c00140b0>] (kernel_thread_exit+0x0/0x8)
      [    3.973632] handlers:
      [    3.976043] [<c034e2cc>] smsc911x_irqhandler
      [    3.980560] Disabling IRQ #272
      Signed-off-by: default avatarJavier Martinez Canillas <javier@dowhile0.org>
      Acked-by: default avatarEnric Balletbo i Serra <eballetbo@gmail.com>
      Tested-by: default avatarEnric Balletbo i Serra <eballetbo@gmail.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      a71eb61c
  8. 06 Aug, 2012 1 commit
    • Igor Grinberg's avatar
      Revert "ARM: OMAP3530evm: set pendown_state and debounce time for ads7846" · c31cc1b7
      Igor Grinberg authored
      1) The above commit introduced a common ->get_pendown_state() function
      into the generic code, but that function was board-specific for the
      OMAP3EVM and thus broke most other boards using this code.
      
      2) The above commit was mis-merged introducing another bug which
      prevents the ads7846 driver probe function to succeed.
      The omap_ads7846_init() function frees the pendown GPIO in case there is
      no ->get_pendown_state() function set by the caller (board specific
      code), so it can be requested later by the ads7846 driver.
      The above commit add a common ->get_pendown_state() function without
      removing the gpio_free() call and thus once the ads7846 driver tries
      to use the pendown GPIO, it crashes as the pendown GPIO has not been
      requested.
      
      3) The above commit introduces NO new functionality as
      get_pendown_state() function is already implemented in a suitable way by
      the ads7846 driver and the debounce time handling has already been
      fixed by commit 97ee9f01 (ARM: OMAP: fix the ads7846 init code).
      
      This reverts commit 16aced80.
      
      Conflicts:
      	arch/arm/mach-omap2/common-board-devices.c
      
      Solved by taking the working version prior to the above commit.
      
      Cc: Zumeng Chen <zumeng.chen@windriver.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
      Reviewed-by: default avatarKevin Hilman <khilman@ti.com>
      Tested-by: default avatarKevin Hilman <khilman@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      c31cc1b7