1. 13 4月, 2012 4 次提交
    • P
      ARM: OMAP: fix 'using plain integer as NULL pointer' sparse warnings · a7022d60
      Paul Walmsley 提交于
      sparse warns when 0 is passed to a function expecting a pointer argument.
      Resolve these warnings by replacing the 0 with NULL.
      
      arch/arm/plat-omap/include/plat/dmtimer.h:319:34: warning: Using plain integer as NULL pointer
      arch/arm/plat-omap/include/plat/dmtimer.h:324:35: warning: Using plain integer as NULL pointer
      arch/arm/mach-omap2/irq.c:294:22: warning: Using plain integer as NULL pointer
      arch/arm/mach-omap1/board-palmz71.c:292:50: warning: Using plain integer as NULL pointer
      arch/arm/mach-omap1/board-palmz71.c:295:73: warning: Using plain integer as NULL pointer
      arch/arm/mach-omap1/ams-delta-fiq.c:105:63: warning: Using plain integer as NULL pointer
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      a7022d60
    • P
      ARM: OMAP2+: GPMC: resolve type-conversion warning from sparse · 355f8eee
      Paul Walmsley 提交于
      arch/arm/mach-omap2/gpmc.c passes a return value from ioremap() as the
      fifth argument to request_irq() without casting it.  This causes
      sparse to generate the following warning:
      
      arch/arm/mach-omap2/gpmc.c:759:63: warning: incorrect type in argument 5 (different address spaces)
      arch/arm/mach-omap2/gpmc.c:759:63:    expected void *dev
      arch/arm/mach-omap2/gpmc.c:759:63:    got void [noderef] <asn:2>*static [toplevel] [assigned] gpmc_base
      
      It turns out that it's not necessary to pass this.  gpmc_base is a
      file-scoped static variable, the ISR is located in the same file ... and
      the ISR doesn't even touch the passed-in variable.  So, just replace it with
      NULL in request_irq().
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      355f8eee
    • P
      ARM: OMAP: add includes for missing prototypes · e2ed89fc
      Paul Walmsley 提交于
      Several C files in arch/arm/mach-omap* and arch/arm/plat-omap declare
      functions that are used by other files, but don't include the header
      file where the prototype is declared.  This results in the following
      warnings from sparse:
      
          arch/arm/mach-omap2/irq.c:114:5: warning: symbol 'omap_irq_pending' was not declared. Should it be static?
          arch/arm/mach-omap2/irq.c:186:13: warning: symbol 'omap2_init_irq' was not declared. Should it be static?
          arch/arm/mach-omap2/irq.c:191:13: warning: symbol 'omap3_init_irq' was not declared. Should it be static?
          arch/arm/mach-omap2/irq.c:196:13: warning: symbol 'ti81xx_init_irq' was not declared. Should it be static?
          arch/arm/mach-omap2/irq.c:233:39: warning: symbol 'omap2_intc_handle_irq' was not declared. Should it be static?
          arch/arm/mach-omap2/irq.c:242:6: warning: symbol 'omap_intc_save_context' was not declared. Should it be static?
          arch/arm/mach-omap2/irq.c:265:6: warning: symbol 'omap_intc_restore_context' was not declared. Should it be static?
          arch/arm/mach-omap2/irq.c:291:6: warning: symbol 'omap3_intc_suspend' was not declared. Should it be static?
          arch/arm/mach-omap2/irq.c:297:6: warning: symbol 'omap3_intc_prepare_idle' was not declared. Should it be static?
          arch/arm/mach-omap2/irq.c:306:6: warning: symbol 'omap3_intc_resume_idle' was not declared. Should it be static?
          arch/arm/mach-omap2/irq.c:312:39: warning: symbol 'omap3_intc_handle_irq' was not declared. Should it be static?
          arch/arm/mach-omap2/omap-secure.c:59:12: warning: symbol 'omap_secure_ram_reserve_memblock' was not declared. Should it be static?
          arch/arm/mach-omap2/board-zoom-display.c:133:13: warning: symbol 'zoom_display_init' was not declared. Should it be static?
          arch/arm/plat-omap/common.c:73:13: warning: symbol 'omap_init_consistent_dma_size' was not declared. Should it be static?
          arch/arm/mach-omap1/irq.c:61:5: warning: symbol 'omap_irq_flags' was not declared. Should it be static?
          arch/arm/mach-omap1/irq.c:179:13: warning: symbol 'omap1_init_irq' was not declared. Should it be static?
          arch/arm/mach-omap1/reset.c:11:6: warning: symbol 'omap1_restart' was not declared. Should it be static?
      
      Fix by including the appropriate header files.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: Senthilvadivu Guruswamy <svadivu@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      
      e2ed89fc
    • P
      ARM: OMAP2+: declare file-local functions as static · 8c3d4534
      Paul Walmsley 提交于
      Several function declarations used only in the files in which they're
      declared should include the static keyword, but don't:
      
          arch/arm/mach-omap2/serial.c:248:6: warning: symbol 'cmdline_find_option' was not declared. Should it be static?
          arch/arm/mach-omap2/omap-wakeupgen.c:259:6: warning: symbol 'irq_sar_clear' was not declared. Should it be static?
          arch/arm/mach-omap2/board-rx51-peripherals.c:878:27: warning: symbol 'rx51_vibra_data' was not declared. Should it be static?
          arch/arm/mach-omap2/board-rx51-peripherals.c:882:27: warning: symbol 'rx51_audio_data' was not declared. Should it be static?
          arch/arm/mach-omap2/board-omap4panda.c:201:29: warning: symbol 'omap_panda_wlan_data' was not declared. Should it be static?
          arch/arm/mach-omap2/board-omap4panda.c:393:24: warning: symbol 'omap4_panda_dvi_device' was not declared. Should it be static?
          arch/arm/mach-omap2/board-omap4panda.c:403:12: warning: symbol 'omap4_panda_dvi_init' was not declared. Should it be static?
          arch/arm/mach-omap2/board-omap4panda.c:464:6: warning: symbol 'omap4_panda_display_init' was not declared. Should it be static?
          arch/arm/mach-omap2/hsmmc.c:434:6: warning: symbol 'omap_init_hsmmc' was not declared. Should it be static?
          arch/arm/mach-omap2/hwspinlock.c:31:12: warning: symbol 'hwspinlocks_init' was not declared. Should it be static?
          arch/arm/mach-omap1/timer.c:58:12: warning: symbol 'omap1_dm_timer_init' was not declared. Should it be static?
          arch/arm/mach-omap1/fpga.c:90:6: warning: symbol 'innovator_fpga_IRQ_demux' was not declared. Should it be static?
      
      Mark all of these as static.
      
      Thanks to Arnd Bergmann <arnd@arndb.de> for pointing out a typo in the
      original patch description.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Govindraj R <govindraj.raja@ti.com>
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: David Anders <x0132446@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      8c3d4534
  2. 05 4月, 2012 7 次提交
  3. 04 4月, 2012 11 次提交
  4. 31 3月, 2012 1 次提交
    • R
      ARM: fix more fallout from 9f97da78 (Disintegrate asm/system.h for ARM) · 6d008893
      Russell King 提交于
      arch/arm/kernel/io.c: In function '_memcpy_toio':
      arch/arm/kernel/io.c:29: error: implicit declaration of function 'outer_sync'
      arch/arm/mach-omap2/omap_l3_noc.c: In function 'l3_interrupt_handler':
      arch/arm/mach-omap2/omap_l3_noc.c:100: error: implicit declaration of function 'outer_sync'
      kernel/irq/generic-chip.c: In function 'irq_gc_mask_disable_reg':
      kernel/irq/generic-chip.c:45: error: implicit declaration of function 'outer_sync'
      kernel/sched/rt.c: In function 'rt_set_overload':
      kernel/sched/rt.c:248: error: implicit declaration of function 'outer_sync'
      ...
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      6d008893
  5. 30 3月, 2012 1 次提交
    • G
      ARM: OMAP: pm: fix compilation break · 335aece5
      Govindraj.R 提交于
      Fix the compilation break observed on latest mainline caused
      by 9f97da78 (Disintegrate asm/system.h for ARM):
      
      arch/arm/mach-omap1/pm.c: In function 'omap_pm_prepare':
      arch/arm/mach-omap1/pm.c:587: error: implicit declaration of function 'disable_hlt'
      arch/arm/mach-omap1/pm.c: In function 'omap_pm_finish':
      arch/arm/mach-omap1/pm.c:624: error: implicit declaration of function 'enable_hlt'
      arch/arm/mach-omap1/pm.c: In function 'omap_pm_init':
      arch/arm/mach-omap1/pm.c:681: error: 'arm_pm_idle' undeclared (first use in this function)
      ...
      
      arch/arm/mach-omap2/pm.c: In function 'omap_pm_begin':
      arch/arm/mach-omap2/pm.c:239: error: implicit declaration of function 'disable_hlt'
      arch/arm/mach-omap2/pm.c: In function 'omap_pm_end':
      arch/arm/mach-omap2/pm.c:247: error: implicit declaration of function 'enable_hlt'
      Signed-off-by: NGovindraj.R <govindraj.raja@ti.com>
      Acked-by: NKevin Hilman <khilman@ti.com>
      [tony@atomide.com: updated to fix omap1 too]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      335aece5
  6. 29 3月, 2012 2 次提交
  7. 28 3月, 2012 1 次提交
  8. 23 3月, 2012 5 次提交
    • M
      ARM: OMAP3+: fix oops triggered in omap_prcm_register_chain_handler(v1) · 4ba7c3c3
      Ming Lei 提交于
      This patch fixes the oops below[1].
      
      Obviously, the count of "struct irq_chip_generic" instances to be
      allocated and setup should be irq_setup->nr_regs instead of
      irq_setup->nr_regs plus one, so just fix the iterator to avoid
      the oops.
      
      [1], oops log.
      
      [    1.790242] Unable to handle kernel NULL pointer dereference at virtual address 00000004
      [    1.798632] pgd = c0004000
      [    1.801638] [00000004] *pgd=00000000
      [    1.805400] Internal error: Oops: 805 [#1] PREEMPT SMP THUMB2
      [    1.811381] Modules linked in:
      [    1.814601] CPU: 1    Not tainted  (3.3.0-next-20120320+ #733)
      [    1.820683] PC is at irq_setup_generic_chip+0x6a/0x84
      [    1.825951] LR is at irq_get_irq_data+0x7/0x8
      [    1.830508] pc : [<c006465e>]    lr : [<c0063a03>]    psr: 20000133
      [    1.830512] sp : ee04ff58  ip : 00000000  fp : 00000000
      [    1.842461] r10: 00000000  r9 : 00000000  r8 : 00000800
      [    1.847905] r7 : c064e260  r6 : 000001dc  r5 : 00000001  r4 : ee0accc0
      [    1.854687] r3 : 00000002  r2 : 00000800  r1 : 000001dc  r0 : 00000000
      [    1.861472] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA Thumb  Segment kernel
      [    1.869234] Control: 50c5387d  Table: 8000404a  DAC: 00000015
      [    1.875215] Process swapper/0 (pid: 1, stack limit = 0xee04e2f8)
      [    1.881463] Stack: (0xee04ff58 to 0xee050000)
      [    1.886017] ff40: c061b668 00000008
      [    1.894497] ff60: c0682090 ee0accc0 00000003 c001c637 00000000 00000000 00000201 00000000
      [    1.902976] ff80: 00000004 c0473820 c0473800 c0459e8d c0680ac0 c000866d 00000004 00000004
      [    1.911455] ffa0: ee04ffa8 00000004 c047381c 00000004 c0473820 c0473800 c0680ac0 00000082
      [    1.919934] ffc0: c0489694 c045265f 00000004 00000004 c0452135 c000d105 00000033 00000000
      [    1.928413] ffe0: c04525b5 c000d111 00000033 00000000 00000000 c000d111 aaaaaaaa aaaaaaaa
      [    1.936912] [<c006465e>] (irq_setup_generic_chip+0x6a/0x84) from [<c001c637>] (omap_prcm_register_chain_handler+0x147/0x1a0)
      [    1.948516] [<c001c637>] (omap_prcm_register_chain_handler+0x147/0x1a0) from [<c000866d>] (do_one_initcall+0x65/0xf4)
      [    1.959500] [<c000866d>] (do_one_initcall+0x65/0xf4) from [<c045265f>] (kernel_init+0xab/0x138)
      [    1.968529] [<c045265f>] (kernel_init+0xab/0x138) from [<c000d111>] (kernel_thread_exit+0x1/0x6)
      [    1.977632] Code: f7ff f9d1 6b23 1af3 (6043) 086d
      [    1.982684] ---[ end trace 1b75b31a2719ed1c ]---
      [    1.987526] Kernel panic - not syncing: Attempted to kill init!
      exitcode=0x0000000b
      Acked-by: NTero Kristo <t-kristo@ti.com>
      Signed-off-by: NMing Lei <tom.leiming@gmail.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      4ba7c3c3
    • N
      ARM: OMAP2+: OPP: allow OPP enumeration to continue if device is not present · 9fa2df6b
      Nishanth Menon 提交于
      On platforms such as OMAP3, certain variants may not have IVA, SGX
      or some specific component. We currently have a check to aid fixing
      wrong population of OPP entries for issues such as typos. This however
      causes a conflict with valid requirement where the SoC variant does
      not actually have the module present.
      
      So, reduce the severity of the print to a debug statement and skip
      registering that specific OPP, but continue down the list.
      Reported-by: NSteve Sakoman <steve@sakoman.com>
      Reported-by: NMaximilian Schwerin <mvs@tigris.de>
      Acked-by: NSteve Sakoman <steve@sakoman.com>
      Tested-by: NMaximilian Schwerin <mvs@tigris.de>
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      9fa2df6b
    • M
      arm: omap3: pm34xx.c: Replace printk() with appropriate pr_*() · 98179856
      Mark A. Greer 提交于
      Currently, pm34xx.c has a mix of printk() and pr_*() statements
      so replace the printk() statements with the equivalent pr_*()
      statements.
      Signed-off-by: NMark A. Greer <mgreer@animalcreek.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      98179856
    • M
      arm: omap3: pm34xx.c: Fix omap3_pm_init() error out paths · ce229c5d
      Mark A. Greer 提交于
      It appears that the error paths were overlooked when the
      omap3_pm_init() routine had the prcm chain handler code
      added.  Fix this by adding a goto target and reordering
      the error handling code.  Also fix how the irq argument
      for free_irq() is determined.
      Signed-off-by: NMark A. Greer <mgreer@animalcreek.com>
      Acked-by: NTero Kristo <t-kristo@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      ce229c5d
    • S
      ARM: OMAP4: Workaround the OCP synchronisation issue with 32K synctimer. · 68523f42
      Santosh Shilimkar 提交于
      On OMAP4, recently a synchronisation bug is discovered by hardware
      team, which leads to incorrect timer value read from 32K sync timer
      IP when the IP is comming out of idle.
      
      The issue is due to the synchronization methodology used in the SYNCTIMER IP.
      The value of the counter register in 32kHz domain is synchronized to the OCP
      domain register only at count up event, and if the OCP clock is switched off,
      the OCP register gets out of synch until the first count up event after the
      clock is switched back -at the next falling edge of the 32kHz clock.
      
      Further investigation revealed that it applies to gptimer1 and watchdog timer2
      as well which may run on 32KHz. This patch fixes the issue for all the
      applicable modules.
      
      The BUG has not made it yet to the OMAP errata list and it is applicable to
      OMAP1/2/3/4/5. OMAP1/2/3 it is taken care indirectly by autodeps.
      
      By enabling static depedency of wakeup clockdomain with MPU, as soon as MPU
      is woken up from lowpower state(idle) or whenever MPU is active, PRCM forces
      the OCP clock to be running and allow the counter value to be updated properly
      in the OCP clock domain.
      
      The bug is going to fixed in future OMAP versions.
      
      Reported-Tested-by: dave.long@linaro.org
      [dave.long@linaro.org: Reported the oprofile time stamp issue with synctimer
      and helped to test this patch]
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      68523f42
  9. 22 3月, 2012 1 次提交
  10. 21 3月, 2012 2 次提交
  11. 20 3月, 2012 1 次提交
  12. 17 3月, 2012 1 次提交
  13. 14 3月, 2012 1 次提交
  14. 13 3月, 2012 1 次提交
  15. 12 3月, 2012 1 次提交