21 May, 2015

1 commit

  • Change interrupt numbering for sparse IRQ. We do this using
    a fixed offset until we can drop irqs.h once all it's users
    have been updated.

    Note that this depends on the GPIO fix for the MPUIO IRQs
    "gpio: omap: Fix regression for MPUIO interrupts".

    Also note that this patch adds some extra irq alloc warnings
    that will go away when we stop calling irq_alloc_descs
    in gpio-omap.c with a follow-up patch.

    Cc: Aaro Koskinen
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

17 Nov, 2012

1 commit


24 Sep, 2012

1 commit

  • Some instances of the DMTIMER peripheral on OMAP devices have the ability
    to interrupt the on-chip DSP in addition to the ARM CPU. Add a DMTIMER
    attribute to indicate which timers can interrupt the DSP. By using the
    omap_dm_timer_request_by_cap() API, driver will now be able to allocate
    a DMTIMER that can interrupt the DSP based upon this attribute and not require
    the driver to know which instance has this capability.

    DMTIMERs that have the ability to interrupt the DSP on OMAP devices are as
    follows ...

    - OMAP1 (OMAP5912/16xx/17xx) devices - All 8 DMTIMERs
    - OMAP2/3/4 devices - DMTIMERs 5-8

    Please note that for OMAP3+, timer8 has the ability to interrupt the DSP and
    generate a PWM output.

    Signed-off-by: Jon Hunter
    Signed-off-by: Paul Walmsley

    Jon Hunter
     

14 Jun, 2012

2 commits

  • For OMAP1 devices, it is necessary to perform a manual reset of the timer.
    Currently, this is indicating by setting the "needs_manual_reset" variable in
    the platform data. Instead of using an extra variable to indicate this add a new
    timer capabilities flag to indicate this and remove the "needs_manual_reset"
    member from the platform data.

    Signed-off-by: Jon Hunter
    Signed-off-by: Tony Lindgren

    Jon Hunter
     
  • The platform data variable loses_context is used to determine if the timer may
    lose its logic state during power transitions and so needs to be restored. This
    information is also provided in the HWMOD device attributes for OMAP2+ devices
    via the OMAP_TIMER_ALWON flag. When this flag is set the timer will not lose
    context. So use the HWMOD device attributes to determine this.

    For OMAP1 devices, loses_context is never set and so set the OMAP_TIMER_ALWON
    flag for OMAP1 timers to ensure that code is equivalent.

    Signed-off-by: Jon Hunter
    Signed-off-by: Tony Lindgren

    Jon Hunter
     

09 May, 2012

1 commit

  • …ernel/git/tmlind/linux-omap into next/cleanup

    Sparse and cppcheck warning fixes

    By Paul Walmsley
    via Paul Walmsley (1) and Tony Lindgren (1)
    * tag 'omap-cleanup-sparse-for-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP2+: clean up some cppcheck warnings
    ARM: OMAP1: board files: deduplicate and clean some NAND-related code
    ARM: OMAP: USB: remove unnecessary sideways include
    ARM: OMAP: DMA: use constant array maximum, drop some LCD DMA code
    ARM: OMAP: OCM RAM: use memset_io() when clearing SRAM
    ARM: OMAP: fix 'using plain integer as NULL pointer' sparse warnings
    ARM: OMAP2+: GPMC: resolve type-conversion warning from sparse
    ARM: OMAP1: OHCI: use platform_data fn ptr to enable OCPI bus
    ARM: OMAP1: OCPI: move to mach-omap1/
    ARM: OMAP: add includes for missing prototypes
    ARM: OMAP2+: declare file-local functions as static

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

18 Apr, 2012

1 commit

  • DMTIMER source selection on OMAP1 is broken. omap1_dm_timer_set_src()
    tries to use __raw_{read,write}l() to read from and write to physical
    addresses, but those functions take virtual addresses.

    sparse caught this:

    arch/arm/mach-omap1/timer.c:50:13: warning: incorrect type in argument 1 (different base types)
    arch/arm/mach-omap1/timer.c:50:13: expected void const volatile [noderef] *
    arch/arm/mach-omap1/timer.c:50:13: got unsigned int
    arch/arm/mach-omap1/timer.c:52:9: warning: incorrect type in argument 1 (different base types)
    arch/arm/mach-omap1/timer.c:52:9: expected void const volatile [noderef] *
    arch/arm/mach-omap1/timer.c:52:9: got unsigned int

    Fix by using omap_{read,writel}(), just like the other users of the
    MOD_CONF_CTRL_1 register in the OMAP1 codebase. Of course, in the long term,
    removing omap_{read,write}l() is the appropriate thing to do; but
    this will take some work to do this cleanly.

    Looks like this was caused by 97933d6 (ARM: OMAP1: dmtimer: conversion
    to platform devices) that dangerously moved code and changed it in
    the same patch.

    Signed-off-by: Paul Walmsley
    Cc: Tarun Kanti DebBarma
    Cc: stable@vger.kernel.org
    [tony@atomide.com: updated comments to include the breaking commit]
    Signed-off-by: Tony Lindgren

    Paul Walmsley
     

13 Apr, 2012

1 commit

  • 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 for pointing out a typo in the
    original patch description.

    Signed-off-by: Paul Walmsley
    Cc: Govindraj R
    Cc: Santosh Shilimkar
    Cc: David Anders
    Acked-by: Santosh Shilimkar
    Acked-by: Arnd Bergmann

    Paul Walmsley
     

22 Sep, 2011

1 commit