1. 04 10月, 2012 6 次提交
    • A
      ARM: at91: skip at91_io_desc definition for NOMMU · ac09281a
      Arnd Bergmann 提交于
      On NOMMU systems, we do cannot remap the MMIO space, so the
      definition of at91_io_desc is unused.
      
      Without this patch, building at91x40_defconfig results in:
      
      arch/arm/mach-at91/setup.c:90:24: warning: 'at91_io_desc' defined but not used [-Wunused-variable]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      ac09281a
    • A
      ARM: pxa: work around duplicate definition of GPIO24_SSP1_SFRM · e0347c52
      Arnd Bergmann 提交于
      The symbol "GPIO24_SSP1_SFRM" is defined in both mfp-pxa27x.h and
      mfp-pxa25x.h. Since the macro is not actually used in the cm-x2xx.c
      file, but it includes both headers, a safe workaround should be
      to just undefine it from the .c file. This is a bit hacky and
      the headers should be fixed to not both define it, but for now
      it gets us around an annoying warning.
      
      Without this patch, building cm_x2xx_defconfig results in:
      
      In file included from arch/arm/mach-pxa/include/mach-pxa/pxa27x.h:7:0,
                       from arch/arm/mach-pxa/cm-x2xx.c:25:
      arch/arm/mach-pxa/include/mach-pxa/mfp-pxa27x.h:215:0: warning: "GPIO24_SSP1_SFRM" redefined [enabled by default]
      arch/arm/mach-pxa/include/mach-pxa/mfp-pxa25x.h:111:0: note: this is the location of the previous definition
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NIgor Grinberg <grinberg@compulab.co.il>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Mike Rapoport <mike@compulab.co.il>
      e0347c52
    • A
      ARM: pxa: remove sharpsl_fatal_check function · 066258f4
      Arnd Bergmann 提交于
      The sharpsl_fatal_check has not been used since Pavel Machek removed
      the caller in 99f329a2 "pxa/sharpsl_pm: zaurus c3000 aka spitz: fix
      resume". Nobody has complained since 2009, so it's safe to assume we
      can just remove the function.
      
      Without this patch, building corgi_defconfig results in:
      
      /home/arnd/linux-arm/arch/arm/mach-pxa/sharpsl_pm.c:693:12: warning: 'sharpsl_fatal_check' defined but not used [-Wunused-function]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Stanislav Brabec <utx@penguin.cz>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      066258f4
    • A
      ARM: pxa: define palmte2_pxa_keys conditionally · 30bda0eb
      Arnd Bergmann 提交于
      Gcc prints a harmless warning about palmte2_pxa_keys not being used
      when the gpio keyboard driver is disabled. The solution is to use
      the same #ifdef that is already present in the place where the
      symbol is used.
      
      Without this patch, building palmz72_defconfig results in:
      
      /home/arnd/linux-arm/arch/arm/mach-pxa/palmte2.c:128:31: warning: 'palmte2_pxa_keys' defined but not used [-Wunused-variable]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMarek Vasut <marek.vasut@gmail.com>
      Cc: Carlos Eduardo Medaglia Dyonisio <cadu@nerdfeliz.com>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      30bda0eb
    • A
      ARM: pxa: Wunused-result warning in viper board file · 5f0cc6d1
      Arnd Bergmann 提交于
      Calling kstrtoul requires checking the result. In case of
      the viper_tpm_setup function, let's fail the __setup function
      if the number was invalid.
      
      Without this patch, building viper_defconfig results in:
      
      arch/arm/mach-pxa/viper.c: In function 'viper_tpm_setup':
      arch/arm/mach-pxa/viper.c:771:10: warning: ignoring return value of 'kstrtoul', declared with attribute warn_unused_result [-Wunused-result]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMarc Zyngier <maz@misterjones.org>
      Cc: Haojian Zhuang <haojian.zhuang@marvell.com>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      5f0cc6d1
    • A
      ARM: shark: fix shark_pci_init return code · 9c7f4f5c
      Arnd Bergmann 提交于
      When run on the wrong platform, the shark_pci_init function
      returns an undefined value, as reported by a gcc warning,
      so let's just return -ENODEV.
      
      Without this patch, building shark_defconfig results in:
      
      arch/arm/mach-shark/pci.c: In function 'shark_pci_init':
      arch/arm/mach-shark/pci.c:42:3: warning: 'return' with no value, in function returning non-void [-Wreturn-type]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: "Krzysztof Halasa" <khc@pm.waw.pl>
      9c7f4f5c
  2. 27 9月, 2012 1 次提交
  3. 25 9月, 2012 1 次提交
    • M
      phy/micrel: Rename KS80xx to KSZ80xx · 510d573f
      Marek Vasut 提交于
      There is no such part as KS8001, KS8041 or KS8051. There are only
      KSZ8001, KSZ8041 and KSZ8051. Rename these parts as such to match
      the Micrel naming.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: David J. Choi <david.choi@micrel.com>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
      Cc: Linux ARM kernel <linux-arm-kernel@lists.infradead.org>
      Cc: Fabio Estevam <fabio.estevam@freescale.com>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      510d573f
  4. 24 9月, 2012 1 次提交
  5. 22 9月, 2012 1 次提交
  6. 20 9月, 2012 1 次提交
    • M
      ARM: 7535/1: Reprogram smp_twd based on new common clk framework notifiers · 2b25d9f6
      Mike Turquette 提交于
      Running cpufreq driver on imx6q, the following warning is seen.
      
      $ BUG: sleeping function called from invalid context at kernel/mutex.c:269
      
      <snip>
      
      stack backtrace:
      Backtrace:
      [<80011d64>] (dump_backtrace+0x0/0x10c) from [<803fc164>] (dump_stack+0x18/0x1c)
       r6:bf8142e0 r5:bf814000 r4:806ac794 r3:bf814000
      [<803fc14c>] (dump_stack+0x0/0x1c) from [<803fd444>] (print_usage_bug+0x250/0x2b
      8)
      [<803fd1f4>] (print_usage_bug+0x0/0x2b8) from [<80060f90>] (mark_lock+0x56c/0x67
      0)
      [<80060a24>] (mark_lock+0x0/0x670) from [<80061a20>] (__lock_acquire+0x98c/0x19b
      4)
      [<80061094>] (__lock_acquire+0x0/0x19b4) from [<80062f14>] (lock_acquire+0x68/0x
      7c)
      [<80062eac>] (lock_acquire+0x0/0x7c) from [<80400f28>] (mutex_lock_nested+0x78/0
      x344)
       r7:00000000 r6:bf872000 r5:805cc858 r4:805c2a04
      [<80400eb0>] (mutex_lock_nested+0x0/0x344) from [<803089ac>] (clk_get_rate+0x1c/
      0x58)
      [<80308990>] (clk_get_rate+0x0/0x58) from [<80013c48>] (twd_update_frequency+0x1
      8/0x50)
       r5:bf253d04 r4:805cadf4
      [<80013c30>] (twd_update_frequency+0x0/0x50) from [<80068e20>] (generic_smp_call
      _function_single_interrupt+0xd4/0x13c)
       r4:bf873ee0 r3:80013c30
      [<80068d4c>] (generic_smp_call_function_single_interrupt+0x0/0x13c) from [<80013
      34c>] (handle_IPI+0xc0/0x194)
       r8:00000001 r7:00000000 r6:80574e48 r5:bf872000 r4:80593958
      [<8001328c>] (handle_IPI+0x0/0x194) from [<800084e8>] (gic_handle_irq+0x58/0x60)
       r8:00000000 r7:bf873f8c r6:bf873f58 r5:80593070 r4:f4000100
      r3:00000005
      [<80008490>] (gic_handle_irq+0x0/0x60) from [<8000e124>] (__irq_svc+0x44/0x60)
      Exception stack(0xbf873f58 to 0xbf873fa0)
      3f40:                                                       00000001 00000001
      3f60: 00000000 bf814000 bf872000 805cab48 80405aa4 80597648 00000000 412fc09a
      3f80: bf872000 bf873fac bf873f70 bf873fa0 80063844 8000f1f8 20000013 ffffffff
       r6:ffffffff r5:20000013 r4:8000f1f8 r3:bf814000
      [<8000f1b8>] (default_idle+0x0/0x4c) from [<8000f428>] (cpu_idle+0x98/0x114)
      [<8000f390>] (cpu_idle+0x0/0x114) from [<803f9834>] (secondary_start_kernel+0x11
      c/0x140)
      [<803f9718>] (secondary_start_kernel+0x0/0x140) from [<103f9234>] (0x103f9234)
       r6:10c03c7d r5:0000001f r4:4f86806a r3:803f921c
      
      It looks that the warning is caused by that twd_update_frequency() gets
      called from an atomic context while it calls clk_get_rate() where a
      mutex gets held.
      
      To fix the warning, let's convert common clk users over to clk notifiers
      in place of CPUfreq notifiers.  This works out nicely for Cortex-A9
      MPcore designs that scale all CPUs at the same frequency.
      
      Platforms that have not been converted to the common clk framework and
      support CPUfreq will rely on the old mechanism.  Once these platforms
      are converted over fully then we can remove the CPUfreq-specific bits
      for good.
      Signed-off-by: NMike Turquette <mturquette@linaro.org>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Reviewed-by: NUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2b25d9f6
  7. 18 9月, 2012 4 次提交
  8. 17 9月, 2012 2 次提交
    • J
    • M
      ARM: SAMSUNG: use spin_lock_irqsave() in clk_set_parent · dbc5e1e8
      Mandeep Singh Baines 提交于
      From 0cdf3aff, "ARM: SAMSUNG: use spin_lock_irqsave() in
      clk_{enable,disable}":
      
        The clk_enable()and clk_disable() can be used process and ISR either.
        And actually it is used for real product and other platforms use it
        now. So spin_lock_irqsave() should be used instead.
      
      We need to make a similar change in clk_set_parent(). Otherwise,
      you can potentially get spinlock recursion:
      
      BUG: spinlock recursion on CPU#0, kinteractive/68
       lock: 807832a8, .magic: dead4ead, .owner: kinteractive/68, .owner_cpu: 0
      [<80015f54>] (unwind_backtrace+0x0/0x128) from [<804f2914>] (dump_stack+0x20/0x24)
      [<804f2914>] (dump_stack+0x20/0x24) from [<804f57b8>] (spin_dump+0x80/0x94)
      [<804f57b8>] (spin_dump+0x80/0x94) from [<804f57f8>] (spin_bug+0x2c/0x30)
      [<804f57f8>] (spin_bug+0x2c/0x30) from [<80222730>] (do_raw_spin_lock+0x54/0x150)
      [<80222730>] (do_raw_spin_lock+0x54/0x150) from [<804f96ec>] (_raw_spin_lock_irqsave+0x20/0x28)
      [<804f96ec>] (_raw_spin_lock_irqsave+0x20/0x28) from [<80022ea4>] (clk_enable+0x3c/0x84)
      [<80022ea4>] (clk_enable+0x3c/0x84) from [<8038336c>] (s5p_mfc_clock_on+0x60/0x74)
      [<8038336c>] (s5p_mfc_clock_on+0x60/0x74) from [<8038645c>] (s5p_mfc_read_info+0x20/0x38)
      [<8038645c>] (s5p_mfc_read_info+0x20/0x38) from [<8037ca3c>] (s5p_mfc_handle_frame+0x2e4/0x4bc)
      [<8037ca3c>] (s5p_mfc_handle_frame+0x2e4/0x4bc) from [<8037d420>] (s5p_mfc_irq+0x1ec/0x6cc)
      [<8037d420>] (s5p_mfc_irq+0x1ec/0x6cc) from [<8007fc74>] (handle_irq_event_percpu+0x8c/0x244)
      [<8007fc74>] (handle_irq_event_percpu+0x8c/0x244) from [<8007fe78>] (handle_irq_event+0x4c/0x6c)
      [<8007fe78>] (handle_irq_event+0x4c/0x6c) from [<80082dd8>] (handle_fasteoi_irq+0xe4/0x150)
      [<80082dd8>] (handle_fasteoi_irq+0xe4/0x150) from [<8007f424>] (generic_handle_irq+0x3c/0x50)
      [<8007f424>] (generic_handle_irq+0x3c/0x50) from [<8000f7c4>] (handle_IRQ+0x88/0xc8)
      [<8000f7c4>] (handle_IRQ+0x88/0xc8) from [<80008564>] (gic_handle_irq+0x44/0x68)
      [<80008564>] (gic_handle_irq+0x44/0x68) from [<8000e400>] (__irq_svc+0x40/0x60)
      Exception stack(0xef3cbe68 to 0xef3cbeb0)
      [<8000e400>] (__irq_svc+0x40/0x60) from [<80022cfc>] (clk_set_parent+0x30/0x74)
      [<80022cfc>] (clk_set_parent+0x30/0x74) from [<803ac7f8>] (set_apll.isra.0+0x28/0xb0)
      [<803ac7f8>] (set_apll.isra.0+0x28/0xb0) from [<803ac8e4>] (exynos5250_set_frequency+0x64/0xb8)
      [<803ac8e4>] (exynos5250_set_frequency+0x64/0xb8) from [<803ac280>] (exynos_target+0x1b0/0x220)
      [<803ac280>] (exynos_target+0x1b0/0x220) from [<803a4a0c>] (__cpufreq_driver_target+0xb0/0xd4)
      [<803a4a0c>] (__cpufreq_driver_target+0xb0/0xd4) from [<803aab80>] (cpufreq_interactive_updown_task+0x214/0x264)
      [<803aab80>] (cpufreq_interactive_updown_task+0x214/0x264) from [<80047d04>] (kthread+0x9c/0xa8)
      [<80047d04>] (kthread+0x9c/0xa8) from [<8000fa48>] (kernel_thread_exit+0x0/0x8)
      Signed-off-by: NMandeep Singh Baines <msb@chromium.org>
      Suggested-by: NSunil Mazhavanchery <sunilm@samsung.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Minho Ban <mhban@samsung.com>
      Cc: Jaecheol Lee <jc.lee@samsung.com>
      Cc: Sunyoung Kang <sy0816.kang@samsung.com>
      Cc: Olof Johansson <olofj@chromium.org>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      dbc5e1e8
  9. 16 9月, 2012 1 次提交
  10. 11 9月, 2012 2 次提交
  11. 10 9月, 2012 4 次提交
    • T
      arm: mm: fix DMA pool affiliation check · f3d87524
      Thomas Petazzoni 提交于
      The __free_from_pool() function was changed in
      e9da6e99. Unfortunately, the test that
      checks whether the provided (start,size) is within the DMA pool has
      been improperly modified. It used to be:
      
        if (start < coherent_head.vm_start || end > coherent_head.vm_end)
      
      Where coherent_head.vm_end was non-inclusive (i.e, it did not include
      the first byte after the pool). The test has been changed to:
      
        if (start < pool->vaddr || start > pool->vaddr + pool->size)
      
      So now pool->vaddr + pool->size is inclusive (i.e, it includes the
      first byte after the pool), so the test should be >= instead of >.
      
      This bug causes the following message when freeing the *first* DMA
      coherent buffer that has been allocated, because its virtual address
      is exactly equal to pool->vaddr + pool->size :
      
      WARNING: at /home/thomas/projets/linux-2.6/arch/arm/mm/dma-mapping.c:463 __free_from_pool+0xa4/0xc0()
      freeing wrong coherent size from pool
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Lior Amsalem <alior@marvell.com>
      Cc: Maen Suleiman <maen@marvell.com>
      Cc: Tawfik Bayouk <tawfik@marvell.com>
      Cc: Shadi Ammouri <shadi@marvell.com>
      Cc: Eran Ben-Avi <benavi@marvell.com>
      Cc: Yehuda Yitschak <yehuday@marvell.com>
      Cc: Nadav Haklai <nadavh@marvell.com>
      [m.szyprowski: rebased onto v3.6-rc5 and resolved conflict]
      Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      f3d87524
    • W
      ARM: 7529/1: delay: set loops_per_jiffy when moving to timer-based loop · beafa0de
      Will Deacon 提交于
      The delay functions may be called by some platforms between switching to
      the timer-based delay loop but before calibration. In this case, the
      initial loops_per_jiffy may not be suitable for the timer (although a
      compromise may be achievable) and delay times may be considered too
      inaccurate.
      
      This patch updates loops_per_jiffy when switching to the timer-based
      delay loop so that delays are consistent prior to calibration.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      beafa0de
    • W
      ARM: 7528/1: uaccess: annotate [__]{get,put}_user functions with might_fault() · ad72907a
      Will Deacon 提交于
      The user access functions may generate a fault, resulting in invocation
      of a handler that may sleep.
      
      This patch annotates the accessors with might_fault() so that we print a
      warning if they are invoked from atomic context and help lockdep keep
      track of mmap_sem.
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ad72907a
    • R
      ARM: 7527/1: uaccess: explicitly check __user pointer when !CPU_USE_DOMAINS · 8404663f
      Russell King 提交于
      The {get,put}_user macros don't perform range checking on the provided
      __user address when !CPU_HAS_DOMAINS.
      
      This patch reworks the out-of-line assembly accessors to check the user
      address against a specified limit, returning -EFAULT if is is out of
      range.
      
      [will: changed get_user register allocation to match put_user]
      [rmk: fixed building on older ARM architectures]
      Reported-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      8404663f
  12. 08 9月, 2012 4 次提交
  13. 05 9月, 2012 2 次提交
  14. 04 9月, 2012 5 次提交
  15. 03 9月, 2012 1 次提交
  16. 31 8月, 2012 4 次提交