1. 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
  2. 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
  3. 08 5月, 2012 1 次提交
  4. 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
  5. 29 3月, 2012 1 次提交
  6. 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
  7. 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
  8. 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
  9. 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
  10. 10 8月, 2011 1 次提交
  11. 01 6月, 2011 2 次提交
  12. 31 3月, 2011 1 次提交
  13. 12 3月, 2011 2 次提交
  14. 05 2月, 2011 1 次提交
  15. 02 2月, 2011 1 次提交
  16. 28 1月, 2011 1 次提交
  17. 07 1月, 2011 1 次提交
  18. 23 12月, 2010 3 次提交
  19. 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
  20. 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
  21. 02 10月, 2010 1 次提交
  22. 24 9月, 2010 1 次提交
    • S
      omap2: fix assorted compiler warnings · ca828760
      Sanjeev Premi 提交于
      This patch fixes these compiler warnings:
      
        CC      arch/arm/mach-omap2/mux.o
      arch/arm/mach-omap2/mux.c: In function 'omap_mux_init_gpio':
      arch/arm/mach-omap2/mux.c:90: warning: 'gpio_mux' may be used uninitial
      ized in this function
      
        CC      arch/arm/plat-omap/gpio.o
      arch/arm/plat-omap/gpio.c: In function 'omap2_gpio_resume_after_idle':
      arch/arm/plat-omap/gpio.c:2152: warning: 'l' may be used uninitialized
      in this function
      arch/arm/plat-omap/gpio.c: In function 'omap2_gpio_prepare_for_idle':
      arch/arm/plat-omap/gpio.c:2085: warning: 'l2' may be used uninitialized
      in this function
      arch/arm/plat-omap/gpio.c:2085: warning: 'l1' may be used uninitialized
      in this function
      
        CC      arch/arm/mach-omap2/board-omap4panda.o
      arch/arm/mach-omap2/board-omap4panda.c: In function 'omap4_panda_init':
      arch/arm/mach-omap2/board-omap4panda.c:277: warning: unused variable 's
      tatus'
      Signed-off-by: NSanjeev Premi <premi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ca828760
  23. 02 8月, 2010 1 次提交
  24. 05 7月, 2010 3 次提交
  25. 30 3月, 2010 1 次提交
    • T
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking... · 5a0e3ad6
      Tejun Heo 提交于
      include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
      
      percpu.h is included by sched.h and module.h and thus ends up being
      included when building most .c files.  percpu.h includes slab.h which
      in turn includes gfp.h making everything defined by the two files
      universally available and complicating inclusion dependencies.
      
      percpu.h -> slab.h dependency is about to be removed.  Prepare for
      this change by updating users of gfp and slab facilities include those
      headers directly instead of assuming availability.  As this conversion
      needs to touch large number of source files, the following script is
      used as the basis of conversion.
      
        http://userweb.kernel.org/~tj/misc/slabh-sweep.py
      
      The script does the followings.
      
      * Scan files for gfp and slab usages and update includes such that
        only the necessary includes are there.  ie. if only gfp is used,
        gfp.h, if slab is used, slab.h.
      
      * When the script inserts a new include, it looks at the include
        blocks and try to put the new include such that its order conforms
        to its surrounding.  It's put in the include block which contains
        core kernel includes, in the same order that the rest are ordered -
        alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
        doesn't seem to be any matching order.
      
      * If the script can't find a place to put a new include (mostly
        because the file doesn't have fitting include block), it prints out
        an error message indicating which .h file needs to be added to the
        file.
      
      The conversion was done in the following steps.
      
      1. The initial automatic conversion of all .c files updated slightly
         over 4000 files, deleting around 700 includes and adding ~480 gfp.h
         and ~3000 slab.h inclusions.  The script emitted errors for ~400
         files.
      
      2. Each error was manually checked.  Some didn't need the inclusion,
         some needed manual addition while adding it to implementation .h or
         embedding .c file was more appropriate for others.  This step added
         inclusions to around 150 files.
      
      3. The script was run again and the output was compared to the edits
         from #2 to make sure no file was left behind.
      
      4. Several build tests were done and a couple of problems were fixed.
         e.g. lib/decompress_*.c used malloc/free() wrappers around slab
         APIs requiring slab.h to be added manually.
      
      5. The script was run on all .h files but without automatically
         editing them as sprinkling gfp.h and slab.h inclusions around .h
         files could easily lead to inclusion dependency hell.  Most gfp.h
         inclusion directives were ignored as stuff from gfp.h was usually
         wildly available and often used in preprocessor macros.  Each
         slab.h inclusion directive was examined and added manually as
         necessary.
      
      6. percpu.h was updated not to include slab.h.
      
      7. Build test were done on the following configurations and failures
         were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my
         distributed build env didn't work with gcov compiles) and a few
         more options had to be turned off depending on archs to make things
         build (like ipr on powerpc/64 which failed due to missing writeq).
      
         * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
         * powerpc and powerpc64 SMP allmodconfig
         * sparc and sparc64 SMP allmodconfig
         * ia64 SMP allmodconfig
         * s390 SMP allmodconfig
         * alpha SMP allmodconfig
         * um on x86_64 SMP allmodconfig
      
      8. percpu.h modifications were reverted so that it could be applied as
         a separate patch and serve as bisection point.
      
      Given the fact that I had only a couple of failures from tests on step
      6, I'm fairly confident about the coverage of this conversion patch.
      If there is a breakage, it's likely to be something in one of the arch
      headers which should be easily discoverable easily on most builds of
      the specific arch.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Guess-its-ok-by: NChristoph Lameter <cl@linux-foundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
      5a0e3ad6
  26. 18 2月, 2010 1 次提交
    • R
      omap: Remove DEBUG_FS dependency for mux name checking · b72c7d54
      Ranjith Lohithakshan 提交于
      The check for a valid mux name should be performed regardless of whether
      DEBUG_FS is enabled or not. Otherwise without DEBUG_FS, we get:
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000000
      pgd = c0004000
      [00000000] *pgd=00000000
      Internal error: Oops: 5 [#1]
      last sysfs file:
      Modules linked in:
      CPU: 0    Not tainted  (2.6.33-rc8 #10)
      PC is at strcmp+0x18/0x40
      LR is at omap_mux_init_signal+0x68/0x14c
      ...
      
      This fixes the issue currently seen with boards not booting up
      if DEBUG_FS is not enabled in defconfig.
      
      Note that the earlier ifndef + ifdef now becomes simpler ifdef else:
      If CONFIG_OMAP_MUX is selected, we use pin names. If it's not selected,
      we only want the GPIO to mux register mapping.
      Signed-off-by: NRanjith Lohithakshan <ranjithl@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      b72c7d54
  27. 16 2月, 2010 3 次提交
  28. 04 2月, 2010 1 次提交