1. 27 3月, 2015 1 次提交
  2. 19 9月, 2014 1 次提交
  3. 09 8月, 2014 1 次提交
  4. 17 6月, 2014 1 次提交
    • D
      ARM: OMAP2+: Fix parser-bug in platform muxing code · c021f241
      David R. Piegdon 提交于
      Fix a parser-bug in the omap2 muxing code where muxtable-entries will be
      wrongly selected if the requested muxname is a *prefix* of their
      m0-entry and they have a matching mN-entry. Fix by additionally checking
      that the length of the m0_entry is equal.
      
      For example muxing of "dss_data2.dss_data2" on omap32xx will fail
      because the prefix "dss_data2" will match the mux-entries "dss_data2" as
      well as "dss_data20", with the suffix "dss_data2" matching m0 (for
      dss_data2) and m4 (for dss_data20). Thus both are recognized as signal
      path candidates:
      
      Relevant muxentries from mux34xx.c:
              _OMAP3_MUXENTRY(DSS_DATA20, 90,
                      "dss_data20", NULL, "mcspi3_somi", "dss_data2",
                      "gpio_90", NULL, NULL, "safe_mode"),
              _OMAP3_MUXENTRY(DSS_DATA2, 72,
                      "dss_data2", NULL, NULL, NULL,
                      "gpio_72", NULL, NULL, "safe_mode"),
      
      This will result in a failure to mux the pin at all:
      
       _omap_mux_get_by_name: Multiple signal paths (2) for dss_data2.dss_data2
      
      Patch should apply to linus' latest master down to rather old linux-2.6
      trees.
      Signed-off-by: NDavid R. Piegdon <lkml@p23q.org>
      Cc: stable@vger.kernel.org
      [tony@atomide.com: updated description to include full description]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      c021f241
  5. 08 5月, 2014 1 次提交
  6. 11 10月, 2013 1 次提交
  7. 05 3月, 2013 2 次提交
    • R
      ARM: OMAP2+: mux: correct wrong error messages · 39bb356e
      Ruslan Bilovol 提交于
      This is needed because the omap_mux_get_by_name()
      function calls the _omap_mux_get_by_name subfunction
      for each mux partition until needed mux is not found.
      As a result, we get messages like
      "Could not find signal XXX" for each partition
      where this mux name does not exist.
      
      This patch fixes wrong error message in
      the _omap_mux_get_by_name() function moving it
      to the omap_mux_get_by_name() one and as result
      reduces noise in the kernel log.
      
      My kernel log without this patch:
      [...]
      [    0.221801] omap_mux_init: Add partition: #2: wkup, flags: 3
      [    0.222045] _omap_mux_get_by_name: Could not find signal fref_clk0_out.sys_drm_msecure
      [    0.222137] _omap_mux_get_by_name: Could not find signal sys_nirq
      [    0.222167] _omap_mux_get_by_name: Could not find signal sys_nirq
      [    0.225006] _omap_mux_get_by_name: Could not find signal uart1_rx.uart1_rx
      [    0.225006] _omap_mux_get_by_name: Could not find signal uart1_rx.uart1_rx
      [    0.270111] _omap_mux_get_by_name: Could not find signal fref_clk4_out.fref_clk4_out
      [    0.273406] twl: not initialized
      
      [...]
      
      My kernel log with this patch:
      [...]
      [    0.221771] omap_mux_init: Add partition: #2: wkup, flags: 3
      [    0.222106] omap_mux_get_by_name: Could not find signal sys_nirq
      [    0.224945] omap_mux_get_by_name: Could not find signal uart1_rx.uart1_rx
      [    0.274536] twl: not initialized
      [...]
      Signed-off-by: NRuslan Bilovol <ruslan.bilovol@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      39bb356e
    • F
      ARM: OMAP2+: mux: fix debugfs file permission · 0fa26ce9
      Felipe Balbi 提交于
      OMAP's debugfs interface creates one file
      for each signal in the mux table, such file
      provides a read method but didn't provide
      read permission. Fix it.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      0fa26ce9
  8. 15 12月, 2012 1 次提交
    • 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
  9. 19 10月, 2012 2 次提交
  10. 09 10月, 2012 1 次提交
  11. 22 6月, 2012 1 次提交
    • P
      ARM: OMAP2+: mux: fix sparse warning · 65e25976
      Paul Walmsley 提交于
      Commit bbd707ac ("ARM: omap2: use
      machine specific hook for late init") resulted in the addition of this
      sparse warning:
      
      arch/arm/mach-omap2/mux.c:791:12: warning: symbol 'omap_mux_late_init' was not declared. Should it be static?
      
      Fix by including the header file containing the prototype.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Cc: Tony Lindgren <tony@atomide.com>
      65e25976
  12. 05 6月, 2012 1 次提交
    • G
      OMAP2+: UART: Add mechanism to probe uart pins and configure rx wakeup · 91930652
      Govindraj.R 提交于
      The commit (bce492c0  ARM: OMAP2+: UART: Fix incorrect population of
      default uart pads) removed default uart pads that where getting populated
      and which was making rx pin wakeup capable. If uart pads were used in
      different mode by any other module then it would fail since the default
      pads took over all the uart pins forcefully. With removal of default pads
      the rx_pad wakeup for console uart while waking up from off mode is broken.
      
      Utilise the mux api available to probe the availability of mux pins
      in uart mode and probe for availability of uart pin in mux mode0
      if uart is available as uart pin itself then configure rx pin
      as wakeup capable.
      
      This patch itself doesn't cater to all boards. Boards using uart rx wakeup
      mechanism should ensure the usage of omap_serial_init_port by configuring
      required uart ports and pass necessary mux data, till then this probing of
      uart pins can cater to enabling of rx pad wakeup to most of the boards.
      
      This patch can also throw some boot warning from _omap_mux_get_by_name
      if pin is requested for availability is not present while dynamically probing
      the uart pins availability such boot warnings can be addressed only when board
      files are patched with omap_serial_init_port calls passing the right pads
      needed for a given port.
      
      Discussion Threads for reference:
      http://www.spinics.net/lists/linux-omap/msg69859.html
      http://www.spinics.net/lists/linux-omap/msg68659.html
      
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: Russ Dill <russ.dill@gmail.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Ameya Palande <ameya.palande@ti.com>
      Signed-off-by: NGovindraj.R <govindraj.raja@ti.com>
      [tony@atomide.com: updated to fix compile when CONFIG_OMAP_MUX is not set]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      91930652
  13. 08 5月, 2012 1 次提交
  14. 18 4月, 2012 1 次提交
    • P
      ARM: OMAP2+: clean up some cppcheck warnings · eeb3711b
      Paul Walmsley 提交于
      Resolve some warnings identified by cppcheck in arch/arm/mach-omap2:
      
          [arch/arm/mach-omap2/usb-tusb6010.c:129]: (style) Checking if unsigned variable 'tmp' is less than zero.
          [arch/arm/mach-omap2/prm_common.c:241]: (error) Possible null pointer dereference: irq_setup - otherwise it is redundant to check if irq_setup is null at line 247
          [arch/arm/mach-omap2/pm34xx.c:790]: (style) Variable 'per_clkdm' is assigned a value that is never used
          [arch/arm/mach-omap2/pm34xx.c:790]: (style) Variable 'core_clkdm' is assigned a value that is never used
          [arch/arm/mach-omap2/pm24xx.c:185]: (style) Variable 'only_idle' is assigned a value that is never used
          [arch/arm/mach-omap2/mux.c:254]: (error) Possible null pointer dereference: mux
          [arch/arm/mach-omap2/mux.c:258]: (error) Possible null pointer dereference: mux
          [arch/arm/mach-omap2/gpmc-onenand.c:178]: (style) Variable 'tick_ns' is assigned a value that is never used
          [arch/arm/mach-omap2/gpio.c:56]: (error) Possible null pointer dereference: pdata - otherwise it is redundant to check if pdata is null at line 57
          [arch/arm/mach-omap2/devices.c:45]: (style) Variable 'l' is assigned a value that is never used
          [arch/arm/mach-omap2/board-omap3evm.c:641] -> [arch/arm/mach-omap2/board-omap3evm.c:639]: (style) Found duplicate branches for if and else.
          [arch/arm/mach-omap2/am35xx-emac.c:95]: (style) Variable 'regval' is assigned a value that is never used
          [arch/arm/mach-omap2/devices.c:74]: (style) Variable 'l' is assigned a value that is never used
          [arch/arm/mach-omap2/pm34xx.c:277]: (style) Variable 'per_prev_state' is assigned a value that is never used
          [arch/arm/plat-omap/dmtimer.c:352]: (error) Possible null pointer dereference: timer - otherwise it is redundant to check if timer is null at line 354
          [arch/arm/plat-omap/omap_device.c:478]: (style) Variable 'c' is assigned a value that is never used
          [arch/arm/plat-omap/usb.c:42]: (style) Variable 'status' is assigned a value that is never used
          [arch/arm/mach-omap1/clock.c:197]: (style) Variable 'dpll1_rate' is assigned a value that is never used
          [arch/arm/mach-omap1/lcd_dma.c:60]: (style) struct or union member 'lcd_dma_info::size' is never used
          [arch/arm/mach-omap1/pm.c:572]: (style) Variable 'entry' is assigned a value that is never used
      
      Some of them are pretty good catches, such as gpio.c:56 and
      usb-tusb6010.c:129.
      
      Thanks to Jarkko Nikula for some comments on the sscanf() warnings.
      It seems that the kernel sscanf() ignores the field width anyway for the
      %d format, so those changes have been dropped from this second version.
      
      Thanks to Daniel Marjamäki <daniel.marjamaki@gmail.com> for pointing
      out that a variable was unnecessarily marked static in the
      board-omap3evm.c change.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
      Cc: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Cc: Charulatha Varadarajan <charu@ti.com>
      Cc: Daniel Marjamäki <daniel.marjamaki@gmail.com>
      Cc: Tarun Kanti DebBarma <tarun.kanti@ti.com>
      Reviewed-by: Charulatha Varadarajan <charu@ti.com> # for gpio.c
      eeb3711b
  15. 29 3月, 2012 1 次提交
  16. 25 2月, 2012 1 次提交
    • T
      ARM: OMAP2+: Mark omap_hsmmc_init and omap_mux related functions as __init · d1589f09
      Tony Lindgren 提交于
      Now that omap hsmmc init is split into two functions, it's safe
      to mark omap_hsmmc_init and omap_mux related functions to __init.
      
      This basically reverts the following fixes for the case where
      TWL was compiled as a module:
      
      a98f77bb (ARM: omap: fix section mismatch warning for sdp3430_twl_gpio_setup())
      8930b4e3 (ARM: omap: fix section mismatch warnings in mux.c caused by hsmmc.c)
      
      Additionally it fixes up the remaining section warnings for
      all callers of omap_mux functions.
      
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      d1589f09
  17. 21 2月, 2012 1 次提交
    • T
      ARM: OMAP: Fix kernel panic with HSMMC when twl4030_gpio is a module · 97899e55
      Tony Lindgren 提交于
      On some omaps twl4030_gpio has a callback to try to initialize
      the MMC controller. If twl4030_gpio is compiled as a module,
      bad things can happen because the callback function starts
      calling functions that are supposed to be marked __init:
      
      Kernel panic - not syncing: Attempted to kill the idle task!
      twl4030_gpio twl4030_gpio: can't dispatch IRQs from modules
      gpiochip_add: registered GPIOs 192 to 209 on device: twl4030
      Unable to handle kernel paging request at virtual address b82a4c74
      ...
      
      Additionally if this does not fail, warnings are produced
      about trying to register the MMC multiple times.
      
      Fix this by removing __init from omap_mux_get_by_name,
      and add checks if omap2_hsmmc_init() is getting called more
      than once.
      
      Note that this will get fixed properly later on by splitting
      omap2_hsmmc_init into two functions.
      Reported-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      97899e55
  18. 13 2月, 2012 2 次提交
    • R
      ARM: omap: fix section mismatch warnings in mux.c caused by hsmmc.c · 8930b4e3
      Russell King 提交于
      The previous commit causes new section mismatch warnings:
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb30): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_gpio()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_gpio().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_gpio is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb4c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_gpio()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_gpio().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_gpio is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb60): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb6c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb78): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb90): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdb9c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdba8): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbc0): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbcc): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbd8): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdbf8): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc04): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc10): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc28): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc34): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc40): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc58): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc64): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc70): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0xdc7c): Section mismatch in reference from the function omap_init_hsmmc() to the function .init.text:omap_mux_init_signal()
      The function omap_init_hsmmc() references
      the function __init omap_mux_init_signal().
      This is often because omap_init_hsmmc lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      
      Again, as for omap2_hsmmc_init(), these functions are callable at
      runtime via the gpio-twl4030.c driver, and so these can't be marked
      __init.
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      8930b4e3
    • R
      ARM: omap: fix section mismatch warning in mux.c · 27d8d3bf
      Russell King 提交于
      WARNING: arch/arm/mach-omap2/built-in.o(.text+0x15a4): Section mismatch in reference from the function omap_mux_init_signals() to the function .init.text:omap_mux_init_signal()
      The function omap_mux_init_signals() references
      the function __init omap_mux_init_signal().
      This is often because omap_mux_init_signals lacks a __init
      annotation or the annotation of omap_mux_init_signal is wrong.
      Acked-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      27d8d3bf
  19. 17 12月, 2011 2 次提交
    • T
      ARM: OMAP2+: mux: add support for PAD wakeup interrupts · 13a3fe52
      Tero Kristo 提交于
      OMAP mux now parses active wakeup events from pad registers and calls
      corresponding hwmod ISRs once a wakeup is detected. This is
      accomplished by registering an interrupt handler for PRCM IO event,
      which is raised every time the HW detects wakeups.
      
      [paul@pwsan.com: This patch is a merge of Govindraj R's "ARM: OMAP2+:
      hwmod: Add API to check IO PAD wakeup status" patch, Tero Kristo's
      "ARM: OMAP2+: mux: add support for PAD wakeup interrupts" patch, and
      part of Tero's "ARM: OMAP: mux: add support for selecting mpu_irq for
      each wakeup pad" patch.]
      Signed-off-by: NTero Kristo <t-kristo@ti.com>
      Cc: Govindraj.R <govindraj.raja@ti.com>
      Tested-by: NKevin Hilman <khilman@ti.com>
      Reviewed-by: NKevin Hilman <khilman@ti.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      [paul@pwsan.com: reduced indentation level; renamed omap_hwmod function;
       improved function documentation; modified to iterate only through dynamic
       pads; modified to skip pads where idle mode doesn't enable wakeups; split
       patches]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      13a3fe52
    • P
      ARM: OMAP2+: mux: add wakeup-capable hwmod mux entries to dynamic list · 96dc19fd
      Paul Walmsley 提交于
      omap_hwmod_mux() currently only iterates through the dynamic pad list.
      This list currently only consists of pads with the
      OMAP_DEVICE_MUX_REMUX flag set.
      
      Subsequent patches in this series will cause hwmod mux entries with
      the OMAP_DEVICE_MUX_WAKEUP flag set to be changed dynamically, to
      control hwmod I/O ring wakeup.  For this to work correctly, hwmod mux
      entries with the OMAP_DEVICE_MUX_WAKEUP flag set must also be added to
      the dynamic pad list.  So this patch modifies omap_hwmod_mux_init() to
      do so.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Tero Kristo <t-kristo@ti.com>
      Cc: Govindraj R <govindraj.raja@ti.com>
      Acked-by: NTony Lindgren <tony@atomide.com>
      96dc19fd
  20. 10 8月, 2011 1 次提交
  21. 01 6月, 2011 2 次提交
  22. 31 3月, 2011 1 次提交
  23. 12 3月, 2011 2 次提交
  24. 05 2月, 2011 1 次提交
  25. 02 2月, 2011 1 次提交
  26. 28 1月, 2011 1 次提交
  27. 07 1月, 2011 1 次提交
  28. 23 12月, 2010 3 次提交
  29. 17 11月, 2010 3 次提交
    • D
      OMAP: mux: Add __func__ macro to pr_xxx macros · 032a6424
      Dan Murphy 提交于
      Removed mux: and added the __func__ macro to make debugging
      easier.
      Signed-off-by: NDan Murphy <dmurphy@ti.com>
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      032a6424
    • B
      OMAP: mux: Add support for control module split in several partitions · 112485e9
      Benoit Cousson 提交于
      Starting on OMAP4, the pin mux configuration is located in two
      different partitions of the control module (CODE_PAD and WKUP_PAD).
      The first one is inside the core power domain whereas the second
      one is inside the wakeup.
      - Add the capability to add any number of partition during board init
      time depending of Soc partitioning.
      - Add some init flags as well in order to avoid explicit Soc version
      check inside the mux core code.
      - Add a comment with mux0 mode on top of omap_mux/board/<partition>
      if the current mux mode is not the default one.
      
      Thanks to Tony Lindgren <tony@atomide.com> for the following improvements:
      - Add omap_mux_get for getting the partition data so platform level
      device code can use it.
      - Fix the rx51 board code to use the new API.
      - Do not store the partition for each mux entry. Look up the partition
      for debugfs instead.
      
      Thanks to Dan Murphy <dmurphy@ti.com> for testing on OMAP4 and reporting
      a couple of bugs.
      Thanks to Anand Gadiyar <gadiyar@ti.com> for testing on OMAP3 zoom and
      bug report.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Tested-by: NMurphy Dan <dmurphy@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: Anand Gadiyar <gadiyar@ti.com>
      112485e9
    • B
      OMAP: mux: Replace printk with pr_xxx macros · 1cbb3a9a
      Benoit Cousson 提交于
      Replace all the printk(KERN_XXX... with pr_xxx macros.
      Signed-off-by: NBenoit Cousson <b-cousson@ti.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      1cbb3a9a
  30. 09 10月, 2010 1 次提交
    • P
      OMAP: control: move plat-omap/control.h to mach-omap2/control.h · 4814ced5
      Paul Walmsley 提交于
      Only OMAP2+ platforms have the System Control Module (SCM) IP block.
      In the past, we've kept the SCM header file in plat-omap.  This has
      led to abuse - device drivers including it; includes being added that
      create implicit dependencies on OMAP2+ builds; etc.
      
      In response, move the SCM headers into mach-omap2/.
      
      As part of this, remove the direct SCM access from the OMAP UDC
      driver.  It was clearly broken.  The UDC code needs an indepth review for
      use on OMAP2+ chips.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Cory Maccarrone <darkstar6262@gmail.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      4814ced5