1. 21 12月, 2012 3 次提交
  2. 17 12月, 2012 2 次提交
  3. 15 12月, 2012 16 次提交
    • P
      ARM: OMAP3/4: cpuidle: fix sparse and checkpatch warnings · 9db316b6
      Paul Walmsley 提交于
      Fix the following sparse warnings in the OMAP3/4 CPUIdle code:
      
      arch/arm/mach-omap2/cpuidle34xx.c:272:1: warning: symbol 'omap3_idle_dev' was not declared. Should it be static?
      arch/arm/mach-omap2/cpuidle34xx.c:274:23: warning: symbol 'omap3_idle_driver' was not declared. Should it be static?
      arch/arm/mach-omap2/cpuidle44xx.c:164:1: warning: symbol 'omap4_idle_dev' was not declared. Should it be static?
      arch/arm/mach-omap2/cpuidle44xx.c:166:23: warning: symbol 'omap4_idle_driver' was not declared. Should it be static?
      
      Also fix the following checkpatch warnings:
      
      WARNING: please, no space before tabs
      #44: FILE: arch/arm/mach-omap2/cpuidle34xx.c:105:
      +^I.name = ^I"omap3_idle",$
      
      WARNING: please, no space before tabs
      #45: FILE: arch/arm/mach-omap2/cpuidle34xx.c:106:
      +^I.owner = ^ITHIS_MODULE,$
      
      ERROR: code indent should use tabs where possible
      #211: FILE: arch/arm/mach-omap2/cpuidle44xx.c:74:
      +                        /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */$
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      9db316b6
    • P
      ARM: OMAP4: clock data: DPLLs are missing bypass clocks in their parent lists · b8675e2c
      Paul Walmsley 提交于
      Booting OMAP4460 Pandaboard ES with a recent u-boot results in this
      warning:
      
      WARNING: at arch/arm/mach-omap2/dpll3xxx.c:427 omap3_noncore_dpll_enable+0xf4/0x110()
      
      The OMAP4 DPLL parent clock names only listed the reference clocks,
      not the bypass clocks.  Fix by adding the bypass clocks to the DPLL
      parent lists.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Mike Turquette <mturquette@linaro.org>
      b8675e2c
    • P
      ARM: OMAP4: clock data: div_iva_hs_clk is a power-of-two divider · 628a37d4
      Paul Walmsley 提交于
      The OMAP4 clock divider "div_iva_hs_clk" is listed in the clock data
      as an OMAP HSDIVIDER, but it's actually a power-of-two divider.  This
      causes a warning during boot on an OMAP4460 Pandaboard-ES with a
      recent u-boot:
      
      WARNING: at arch/arm/mach-omap2/clkt_clksel.c:143 omap2_clksel_recalc+0xf4/0x12c()
      clock: div_iva_hs_clk: could not find fieldval 0 for parent dpll_core_m5x2_ck
      
      Fix by converting the data for this clock to a power-of-two divider.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Mike Turquette <mturquette@linaro.org>
      628a37d4
    • J
      ARM: OMAP4: Fix EMU clock domain always on · 29f0667f
      Jon Hunter 提交于
      Commit d043d87c (ARM: OMAP2+: clockdomain: bypass clockdomain handling
      when disabling unused clks) skips the decrementing of a clock-domains
      use count if the clocks use count is zero. However, for OMAP4 devices
      this is causing the EMU clock-domain to be stuck ON as the use count is
      not getting decremented correctly.
      
      The scenario that leads to this problem is described below ...
      
      omap_hwmod_setup_all
      --> _setup
          --> clkdm_hwmod_enable
          	--> EMU clock domain usecount = 1
          --> _enable_clocks
              --> clk_enable
      	    --> trace_clk_div_div usecount = 1
                  --> clkdm_hwmod_enable
          	        --> EMU clock domain usecount = 2
      --> _idle
          --> _disable_clocks
      	--> clk_disable
                  --> trace_clk_div_div usecount = 0
                  --> clkdm_hwmod_disable
                      --> skips decrement of EMU clock domain usecount
      		    because trace_clk_div_div is 0!
          	        --> EMU clock domain usecount = 2
          --> clkdm_hwmod_disable
          	--> EMU clock domain usecount = 1
      
      Hence, due to the order that a clocks use count is decremented and the
      clock domain is disabled, it is possible that the clock domain can have
      a non-zero use count when the actual clock has a use count of 0.
      Therefore, we should only bypass the clock-domain handling when both the
      clock-domain and clock in the clock-domain have a use count of 0 and
      warn when the clock-domain has a zero use count and the clock has a
      non-zero use count.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: fixed checkpatch warning]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      29f0667f
    • J
      ARM: OMAP4460: Workaround ABE DPLL failing to turn-on · 8c197ccf
      Jon Hunter 提交于
      With the latest mainline u-boot bootloader (v2012.10), timers (5-8) in
      the ABE power domain are failing to turn-on. The timers never come out
      of the disabled state when setting the module-mode field to enable.
      
      The problem was exposed when u-boot was updated to NOT configure and
      lock the ABE DPLL on start-up. If the ABE DPLL is configured and locked
      by u-boot the problem does not occur. However, if the ABE DPLL is in the
      idle low-power bypass state and we attempt to enable a timer in the ABE
      power domain, it remains stuck in the disabled state. It appears to be a
      problem the timer interface clock as this comes from the ABE DPLL.
      
      If we place the ABE DPLL in the MN-bypass state and not the idle
      low-power state, then this problem is not seen.
      
      This problem only appears to occur on OMAP4460 and not OMAP4430.
      
      Workaround this problem by locking the ABE DPLL for OMAP4460 in the
      kernel on boot. By locking the ABE DPLL, when clocks from the ABE DPLL
      are not being requested the DPLL will transition into a low-power stop
      mode.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      8c197ccf
    • J
      ARM: OMAP4: Enhance support for DPLLs with 4X multiplier · 3ff51ed8
      Jon Hunter 提交于
      On OMAP4 devices, the ABE DPLL has an internal 4X multiplier that can
      be enabled or disabled in addition to the standard configurable
      multiplier (M) for OMAP DPLLs. When configuring the ABE DPLL the 4X
      multiplier is accounted for by checking to see whether it is enabled or
      not. However, when calculating a new rate we only check to see if the
      rate can be achieved with the current setting for the 4X multiplier.
      Enhance the round_rate() function for such DPLLs to see if the rate
      can be achieved with the 4X multiplier if it cannot be achieved without
      the 4X multiplier.
      
      This change is necessary, because when using the 32kHz clock as the
      source clock for the ABE DPLL, the default DPLL frequency for the ABE
      DPLL cannot be achieved without enabling the 4X multiplier.
      
      When using the 32kHz clock as the source clock for the ABE DPLL and
      attempting to lock the DPLL to 98.304MHz (default frequency), it was
      found that the DPLL would fail to lock if the low-power mode for the DPLL
      was not enabled. From reviewing boot-loader settings that configure the
      ABE DPLL it was found that the low-power mode is enabled when using the
      32kHz clock source, however, the documentation for OMAP does not state
      that this is a requirement. Therefore, introduce a new function for
      OMAP4 devices to see if low-power mode can be enabled when calculating a
      new rate to ensure the DPLL will lock.
      
      New variables for the last calculated 4X multiplier and low-power
      setting have been added to the dpll data structure as well as variables
      defining the bit mask for enabling these features via the DPLL's
      control_reg. It is possible that we could eliminate these bit masks from
      the dpll data structure as these bit masks are not unique to OMAP4, if
      it is preferred.
      
      The function omap3_noncore_program_dpll() has been updated to avoid
      passing the calculated values for the multiplier (M) and divider (N) as
      these are stored in the clk structure.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      3ff51ed8
    • J
      ARM: OMAP4: Add function table for non-M4X dplls · 9b4fcc86
      Jon Hunter 提交于
      Currently all OMAP4 non-core DPLLs use the same function table for
      configuring DPLLs. For these DPLLs, the function
      omap4_dpll_regm4xen_recalc() is used to recalculate the DPLL rate and
      the function omap4_dpll_regm4xen_round_rate() is used to calculate the
      closest rate to that requested. However, these omap4_dpll_regm4xen_xxx()
      functions are only applicable to the ABE DPLL and not the other non-core
      DPLLs. Therefore, add a new function table for non-core DPLLs that do
      not include the 4X-multiplier (M4X).
      
      Please note that using these omap4_dpll_regm4x_xxx() function works for
      the non-M4X DPLLs today because we only check to see if the 4X
      multiplier is enabled when calculating the rate. However, it is planned
      that the dpll functions will be enhanced to enable the 4X multiplier as
      necessary (in order to achieve the requested rate) and so calling these
      functions for non-M4X dplls will no longer work.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      9b4fcc86
    • J
      ARM: OMAP4: Update timer clock aliases · ba68c7ef
      Jon Hunter 提交于
      Commit "ARM: dts: OMAP4: Update timer addresses" updated the device-tree
      names of the OMAP4 timers 5-7 because the default address for the timers
      was changed from the L3 address to the MPU private address. When booting
      with device-tree, this introduces a regression when attempting to set
      the parent clock of timers 5-7 to the sys_clk_div_ck. Therefore, update
      the clock aliases for timer 5-7 to reflect the updated device-tree name
      for the timers.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      [paul@pwsan.com: updated to apply after the CCF conversion]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      ba68c7ef
    • T
      ARM: OMAP: Move plat/omap-serial.h to include/linux/platform_data/serial-omap.h · d9ba5737
      Tony Lindgren 提交于
      We need to move this file to allow ARM multiplatform configurations
      to build for omap2+. This can now be done as this file now only
      contains platform_data.
      
      cc: Russell King <linux@arm.linux.org.uk>
      cc: Alan Cox <alan@linux.intel.com>
      cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc: Govindraj.R <govindraj.raja@ti.com>
      cc: Kevin Hilman <khilman@ti.com>
      cc: linux-serial@vger.kernel.org
      Reviewed-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      d9ba5737
    • R
      mfd: omap-usb-host: get rid of cpu_is_omap..() macros · 63b68901
      Roger Quadros 提交于
      Instead of using cpu_is_omap..() macros in the device driver we
      rely on information provided in the platform data.
      
      The only information we need is whether the USB Host module has
      a single ULPI bypass control bit for all ports or individual bypass
      control bits for each port. OMAP3 REV2.1 and earlier have the former.
      Signed-off-by: NRoger Quadros <rogerq@ti.com>
      Acked-by: NSamuel Ortiz <sameo@linux.intel.com>
      [tony@atomide.com: updated to remove plat/cpu.h]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      63b68901
    • J
      ARM: OMAP2420: Fix ethernet support for OMAP2420 H4 · 86c35960
      Jon Hunter 提交于
      Ethernet is not currently working on the OMAP2420 H4 board. In commit
      f6049312 (ARM: OMAP: abstract debug card setup (smc, leds)) the function
      h4_init_smc91x() that initialised the ethernet controller was renamed to
      h4_init_debug() but was never called when initialising the board.
      
      Adding a call to h4_init_debug() fixes ethernet support, however,
      instead of using the legacy H4 code migrate the H4 to use the
      gpmc_smc91x_init() function instead and remove the legacy H4 code.
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      86c35960
    • O
      OMAP2+: mux: Fixed gpio mux mode analysis · 421e8450
      Oleg Matcovschi 提交于
      OMAP_MODE_GPIO() macro verified only OMAP_MUX_MODE4.
      It is not correct for following platforms:
          2430 - gpio mux mode 3
          44xx - gpio mux mode 3
          54xx - gpio mux mode 6
      
      Patch reserves first 3 bits in partition flags for storing gpio mux
      mode in same format as stored in control pad register.
      Modified OMAP_MODE_GPIO() macro to handle all possible cases of gpio mux mode.
      Modified omap_mux_init() flags of omap34xx to include OMAP_MUX_GPIO_IN_MODE4.
      Signed-off-by: NOleg Matcovschi <oleg.matcovschi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      421e8450
    • T
      OMAP: board-files: fix i2c_bus for tfp410 · ca2e16fa
      Tomi Valkeinen 提交于
      The i2c handling in tfp410 driver, which handles converting parallel RGB
      to DVI, was changed in 958f2717
      (OMAPDSS: TFP410: pdata rewrite). The patch changed what value the
      driver considers as invalid/undefined.  Before the patch, 0 was the
      invalid value, but as 0 is a valid bus number, the patch changed this to
      -1.
      
      However, the fact was missed that many board files do not define the bus
      number at all, thus it's left to 0. This causes the driver to fail to
      get the i2c bus, exiting from the driver's probe with an error, meaning
      that the DVI output does not work for those boards.
      
      This patch fixes the issue by changing the i2c_bus number field in the
      driver's platform data from u16 to int, and setting the bus number to -1
      in the board files for the boards that did not define the bus. The
      exception is devkit8000, for which the bus is set to 1, which is the
      correct bus for that board.
      
      The bug exists in v3.5+ kernels.
      Signed-off-by: NTomi Valkeinen <tomi.valkeinen@ti.com>
      Reported-by: NThomas Weber <thomas@tomweber.eu>
      Cc: Thomas Weber <thomas@tomweber.eu>
      Cc: <stable@vger.kernel.org> # v3.5+
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ca2e16fa
    • V
      ARM: OMAP2+: Fix sparse warnings in timer.c · bf85f205
      Vaibhav Hiremath 提交于
      Sparse generates the following warnings when compiling mach-omap2/timer.c.
      
        CHECK   arch/arm/mach-omap2/timer.c
        arch/arm/mach-omap2/timer.c:193:13: warning: symbol 'omap_dmtimer_init'
        was not declared. Should it be static?
        arch/arm/mach-omap2/timer.c:213:12: warning: symbol
        'omap_dm_timer_get_errata' was not declared. Should it be static?
      
      Add static to function declaration to fix warnings.
      Signed-off-by: NVaibhav Hiremath <hvaibhav@ti.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      bf85f205
    • J
      ARM: AM335x: Fix warning in timer.c · e0c3e27c
      Jon Hunter 提交于
      When compiling the kernel with configuration options ...
      
       # CONFIG_ARCH_OMAP2 is not set
       # CONFIG_ARCH_OMAP3 is not set
       # CONFIG_ARCH_OMAP4 is not set
       # CONFIG_SOC_OMAP5 is not set
       CONFIG_SOC_AM33XX=y
      
       ... the following build warning is seen.
      
        CC      arch/arm/mach-omap2/timer.o
        arch/arm/mach-omap2/timer.c:395:19: warning: ‘omap2_sync32k_clocksource_init’
        	defined but not used [-Wunused-function]
      
      This issue was introduced by commit 6f80b3bb (ARM: OMAP2+: timer: remove
      CONFIG_OMAP_32K_TIMER) where the omap2_sync32k_clocksource_init() is no
      longer referenced by the timer initialisation function for the AM335x
      device as it has no 32k-sync timer.
      
      Fix this by adding the "__maybe_unused" compiler directive to the
      omap2_sync32k_clocksource_init() function to indicate that this function
      may be used for certain configurations.
      
      Cc: Igor Grinberg <grinberg@compulab.co.il>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      e0c3e27c
    • J
      ARM: OMAP2+: Fix realtime_counter_init warning in timer.c · 34cceb74
      Jon Hunter 提交于
      In commit fa6d79d2 (ARM: OMAP: Add initialisation for the real-time
      counter), the function realtime_counter_init() was added. However, if
      the kernel configuration option CONFIG_SOC_OMAP5 is not selected then
      the following compiler warning is observed.
      
        CC      arch/arm/mach-omap2/timer.o
        arch/arm/mach-omap2/timer.c:489:20: warning: ‘realtime_counter_init’
        defined but not used [-Wunused-function]
      
      Commit fa6d79d2 also introduced the kernel configuration option
      CONFIG_SOC_HAS_REALTIME_COUNTER. If this option is not selected then the
      a stub function for realtime_counter_init() is defined.
      
      For non-OMAP5 devices, there is no realtime counter and so
      realtime_counter_init() function and stub function are not used for
      these devices. Therefore, fix this warning by only allowing the kernel
      configuration option CONFIG_SOC_HAS_REALTIME_COUNTER to be enabled for
      OMAP5 devices.
      
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Reported-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NJon Hunter <jon-hunter@ti.com>
      Acked-by Santosh Shilimkar <santosh.shilimkar@ti.com>
      34cceb74
  4. 04 12月, 2012 3 次提交
  5. 01 12月, 2012 1 次提交
    • T
      ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h · 45c3eb7d
      Tony Lindgren 提交于
      Based on earlier discussions[1] we attempted to find a suitable
      location for the omap DMA header in commit 2b6c4e73 (ARM: OMAP:
      DMA: Move plat/dma.h to plat-omap/dma-omap.h) until the conversion
      to dmaengine is complete.
      
      Unfortunately that was before I was able to try to test compile
      of the ARM multiplatform builds for omap2+, and the end result
      was not very good.
      
      So I'm creating yet another all over the place patch to cut the
      last dependency for building omap2+ for ARM multiplatform. After
      this, we have finally removed the driver dependencies to the
      arch/arm code, except for few drivers that are being worked on.
      
      The other option was to make the <plat-omap/dma-omap.h> path
      to work, but we'd have to add some new header directory to for
      multiplatform builds.
      
      Or we would have to manually include arch/arm/plat-omap/include
      again from arch/arm/Makefile for omap2+.
      
      Neither of these alternatives sound appealing as they will
      likely lead addition of various other headers exposed to the
      drivers, which we want to avoid for the multiplatform kernels.
      
      Since we already have a minimal include/linux/omap-dma.h,
      let's just use that instead and add a note to it to not
      use the custom omap DMA functions any longer where possible.
      
      Note that converting omap DMA to dmaengine depends on
      dmaengine supporting automatically incrementing the FIFO
      address at the device end, and converting all the remaining
      legacy drivers. So it's going to be few more merge windows.
      
      [1] https://patchwork.kernel.org/patch/1519591/#
      
      cc: Russell King <linux@arm.linux.org.uk>
      cc: Kevin Hilman <khilman@ti.com>
      cc: "Benoît Cousson" <b-cousson@ti.com>
      cc: Herbert Xu <herbert@gondor.apana.org.au>
      cc: "David S. Miller" <davem@davemloft.net>
      cc: Vinod Koul <vinod.koul@intel.com>
      cc: Dan Williams <djbw@fb.com>
      cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
      cc: David Woodhouse <dwmw2@infradead.org>
      cc: Kyungmin Park <kyungmin.park@samsung.com>
      cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      cc: Hans Verkuil <hans.verkuil@cisco.com>
      cc: Vaibhav Hiremath <hvaibhav@ti.com>
      cc: Lokesh Vutla <lokeshvutla@ti.com>
      cc: Rusty Russell <rusty@rustcorp.com.au>
      cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
      cc: Afzal Mohammed <afzal@ti.com>
      cc: linux-crypto@vger.kernel.org
      cc: linux-media@vger.kernel.org
      cc: linux-mtd@lists.infradead.org
      cc: linux-usb@vger.kernel.org
      cc: linux-fbdev@vger.kernel.org
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      45c3eb7d
  6. 30 11月, 2012 1 次提交
    • O
      ARM: omap: fix typo on timer cleanup · 73f14f6d
      Olof Johansson 提交于
      Fix 32 vs 32k typo:
      
      arch/arm/mach-omap2/timer.c: In function 'omap4_local_timer_init':
      arch/arm/mach-omap2/timer.c:633:2: error: implicit declaration of function 'omap4_sync32_timer_init' [-Werror=implicit-function-declaration]
      arch/arm/mach-omap2/timer.c: At top level:
      arch/arm/mach-omap2/timer.c:610:2: warning: 'omap4_sync32k_timer_init' defined but not used [-Wunused-function]
      
      Also, mark the omap4_local_timer_init() stub as __init (and take off
      the explicit inline and let the compiler do the work instead).
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Igor Grinberg <grinberg@compulab.co.il>
      73f14f6d
  7. 28 11月, 2012 2 次提交
  8. 22 11月, 2012 8 次提交
    • P
      ARM: OMAP2+: omap_device: Correct resource handling for DT boot · c567b058
      Peter Ujfalusi 提交于
      When booting with DT the OF core can fill up the resources provided within
      the DT blob.
      The current way of handling the DT boot prevents us from removing hwmod data
      for platforms only suppose to boot with DT (OMAP5 for example) since we need
      to keep the whole hwmod database intact in order to have more resources in
      hwmod than in DT (to be able to append the DMA resource from hwmod).
      
      To fix this issue we just examine the OF provided resources:
      If we do not have resources we use hwmod to fill them.
      If we have resources we check if we already able to recive DMA resource, if
      no we only append the DMA resurce from hwmod to the OF provided ones.
      
      In this way we can start removing hwmod data for devices which have their
      resources correctly configured in DT without regressions.
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com>
      Acked-by: NBenoît Cousson <b-cousson@ti.com>
      [paul@pwsan.com: fixed checkpatch problem; updated to apply]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      c567b058
    • P
      ARM: OMAP2+: hwmod: Add possibility to count hwmod resources based on type · dad4191d
      Peter Ujfalusi 提交于
      Add flags parameter for omap_hwmod_count_resources() so users can tell which
      type of resources they are interested when counting them in hwmod database.
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com>
      Acked-by: NBenoît Cousson <b-cousson@ti.com>
      [paul@pwsan.com: updated to apply]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      dad4191d
    • R
      ARM: OMAP2+: hwmod: Add support for per hwmod/module context lost count · e6d3a8b0
      Rajendra Nayak 提交于
      OMAP4 has module specific context lost registers which makes it now
      possible to have module level context loss count, instead of relying
      on the powerdomain level context count.
      
      Add 2 private hwmod api's to update/clear the hwmod/module specific
      context lost counters/register.
      
      Update the module specific context_lost_counter and clear the hardware
      bits just after enabling the module.
      
      omap_hwmod_get_context_loss_count() now returns the hwmod context loss
      count them on platforms where they exist (OMAP4), else fall back on
      the pwrdm level counters for older platforms.
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      [paul@pwsan.com: added function kerneldoc, fixed structure kerneldoc,
       rearranged structure to avoid memory waste, marked fns as OMAP4-specific,
       prevent fn entry on non-OMAP4 chips, reduced indentation, merged update
       and clear, merged patches]
      [t-kristo@ti.com: added support for arch specific hwmod ops, and changed
       the no context offset indicator to USHRT_MAX]
      Signed-off-by: NTero Kristo <t-kristo@ti.com>
      [paul@pwsan.com: use NO_CONTEXT_LOSS_BIT flag rather than USHRT_MAX;
       convert unsigned context lost counter to int to match the return type;
       get rid of hwmod_ops in favor of the existing soc_ops mechanism;
       move context loss low-level accesses to the PRM code]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      e6d3a8b0
    • P
      ARM: OMAP2+: PRM: initialize some PRM functions early · 63a293e0
      Paul Walmsley 提交于
      Some PRM functions will need to be called by the hwmod code early in
      kernel init.  To handle this, split the PRM initialization code into
      early and late phases.  The early init is handled via mach-omap2/io.c,
      while the late init is handled by subsys_initcall().
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      63a293e0
    • S
      staging: drm/imx: Remove duplicate inclusion of linux/videodev2.h · 30aeee29
      Sachin Kamat 提交于
      linux/videodev2.h was included twice.
      Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      30aeee29
    • I
      ARM - OMAP: ads7846: fix pendown debounce setting · 0a0d6285
      Igor Grinberg 提交于
      Commit 97ee9f01 (ARM: OMAP: fix the ads7846 init code) have enabled the
      pendown GPIO debounce time setting by the below sequence:
      
        gpio_request_one()
        gpio_set_debounce()
        gpio_free()
      
      It also revealed a bug in the OMAP GPIO handling code which prevented
      the GPIO debounce clock to be disabled and CORE transition to low power
      states.
      
      Commit c9c55d92 (gpio/omap: fix off-mode bug: clear debounce settings on
      free/reset) fixes the OMAP GPIO handling code by making sure that the
      GPIO debounce clock gets disabled if no GPIO is requested from current
      bank.
      
      While fixing the OMAP GPIO handling code (in the right way), the above
      commit makes the gpio_request->set_debounce->free sequence invalid as
      after freeing the GPIO, the debounce settings are lost.
      
      Fix the debounce settings by moving the debounce initialization to the
      actual GPIO requesting code - the ads7846 driver.
      Signed-off-by: NIgor Grinberg <grinberg@compulab.co.il>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      0a0d6285
    • I
      ARM: OMAP3: cm-t3517: use GPTIMER for system clock · 26f01998
      Igor Grinberg 提交于
      cm-t3517 starting from revision 1.2 does not have the 32K oscilator
      wired to the AM3517 SoC.
      Therefore switch to use the GPTIMER for system clock.
      Signed-off-by: NIgor Grinberg <grinberg@compulab.co.il>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      26f01998
    • I
      ARM: OMAP2+: timer: remove CONFIG_OMAP_32K_TIMER · 6f80b3bb
      Igor Grinberg 提交于
      CONFIG_OMAP_32K_TIMER is kind of standing on the single zImage way.
      Make OMAP2+ timer code independant from the CONFIG_OMAP_32K_TIMER
      setting.
      To remove the dependancy, several conversions/additions had to be done:
      1) Timer initialization functions are named by the platform
         name and the clock source in use.
         This also makes it possible to define and use the GPTIMER as the
         clock source instead of the 32K timer on platforms that do not have
         the 32K timer ip block or the 32K timer is not wired on the board.
         Currently, the the timer is chosen in the machine_desc structure on
         per board basis. Later, DT should be used to choose the timer.
      2) Settings under the CONFIG_OMAP_32K_TIMER option are used as defaults
         and those under !CONFIG_OMAP_32K_TIMER are removed.
         This removes the CONFIG_OMAP_32K_TIMER on OMAP2+ timer code.
      3) Since we have all the timers defined inside machine_desc structure
         and we no longer need the fallback to gp_timer clock source in case
         32k_timer clock source is unavailable (namely on AM33xx), we no
         longer need the #ifdef around omap2_sync32k_clocksource_init()
         function. Remove the #ifdef CONFIG_OMAP_32K_TIMER around the
         omap2_sync32k_clocksource_init() function.
      Signed-off-by: NIgor Grinberg <grinberg@compulab.co.il>
      Cc: Jon Hunter <jon-hunter@ti.com>
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: Vaibhav Hiremath <hvaibhav@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Reviewed-by: NJon Hunter <jon-hunter@ti.com>
      6f80b3bb
  9. 21 11月, 2012 3 次提交
  10. 19 11月, 2012 1 次提交