1. Jul 13, 2012
  2. Jul 07, 2012
    • Lee Jones's avatar
      ARM: ux500: Over-ride the DT device naming scheme for pinctrl · 2b667a2d
      Lee Jones authored
      
      
      When pin control mapping tables are written the registered device
      name is supplied for use in name-based searches within the pinctrl
      driver. In the case of the DB8500 the string "pinctrl-db8500" is
      used. However, when we register the driver with Device Tree, its
      naming convention uses something that looks more like "pinctrl.2".
      
      To work around the device naming inconsistencies between devices
      registered via platform code and the ones registered by Device
      Tree, we use AUXDATA to over-ride the Device Tree naming scheme.
      
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      2b667a2d
    • Lee Jones's avatar
      ARM: ux500: Fix build errors/warnings when MACH_UX500_DT is not set · c57920e6
      Lee Jones authored
      
      
      When MACH_UX500_DT and all related Device Tree configurations are forced
      off the warning and error below prevent the kernel from compiling. This
      simple patch fixes both issues and allows for full build and boot of
      ST-Ericsson's low-cost development board, Snowball.
      
      Warnings fixed:
        arch/arm/mach-ux500/board-mop500.c:680:32: warning: ‘snowball_of_platform_devs’ defined but not used
      
      Errors fixed:
        arch/arm/mach-ux500/timer.c: In function ‘ux500_timer_init’:
        arch/arm/mach-ux500/timer.c:66:3: error: implicit declaration of function ‘of_find_matching_node’
        arch/arm/mach-ux500/timer.c:66:6: warning: assignment makes pointer from integer without a cast
      
      Cc: stable@vger.kernel.org
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      c57920e6
    • Lee Jones's avatar
      of: address: Don't fail a lookup just because a node has no reg property · 84774e61
      Lee Jones authored
      
      
      Sometimes it doesn't make any sense for a node to have an address.
      In this case device lookup will always be unsuccessful because we
      currently assume every node will have a reg property. This patch
      changes the semantics so that the resource address and the lookup
      address will only be compared if one exists.
      
      Things like AUXDATA() rely on of_dev_lookup to return the lookup
      entry of a particular device in order to do things like apply
      platform_data to a device. However, this is currently broken for
      nodes which do not have a reg property, meaning that platform_data
      can not be passed in those cases.
      
      Acked-by: default avatarRob Herring <rob.herring@calxeda.com>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      84774e61
  3. Jul 01, 2012
  4. Jun 30, 2012
  5. Jun 29, 2012
    • Kay Sievers's avatar
      printk: flush continuation lines immediately to console · 084681d1
      Kay Sievers authored
      
      
      Continuation lines are buffered internally, intended to merge the
      chunked printk()s into a single record, and to isolate potentially
      racy continuation users from usual terminated line users.
      
      This though, has the effect that partial lines are not printed to
      the console in the moment they are emitted. In case the kernel
      crashes in the meantime, the potentially interesting printed
      information would never reach the consoles.
      
      Here we share the continuation buffer with the console copy logic,
      and partial lines are always immediately flushed to the available
      consoles. They are still buffered internally to improve the
      readability and integrity of the messages and minimize the amount
      of needed record headers to store.
      
      Signed-off-by: default avatarKay Sievers <kay@vrfy.org>
      Tested-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      084681d1
    • Michael Neuling's avatar
      powerpc/pseries: Fix software invalidate TCE · bc6dc752
      Michael Neuling authored
      The following added support for powernv but broke pseries/BML:
       1f1616e8
      
       powerpc/powernv: Add TCE SW invalidation support
      
      TCE_PCI_SW_INVAL was split into FREE and CREATE flags but the tests in
      the pseries code were not updated to reflect this.
      
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      cc: stable@kernel.org [v3.3+]
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      bc6dc752
    • Anton Blanchard's avatar
      powerpc: check_and_cede_processor() never cedes · 0b17ba72
      Anton Blanchard authored
      Commit f948501b
      
       ("Make hard_irq_disable() actually hard-disable
      interrupts") caused check_and_cede_processor to stop working.
      ->irq_happened will never be zero right after a hard_irq_disable
      so the compiler removes the call to cede_processor completely.
      
      The bug was introduced back in the lazy interrupt handling rework
      of 3.4 but was hidden until recently because hard_irq_disable did
      nothing.
      
      This issue will eventually appear in 3.4 stable since the
      hard_irq_disable fix is marked stable, so mark this one for stable
      too.
      
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0b17ba72
    • Steven Rostedt's avatar
      powerpc/ftrace: Do not trace restore_interrupts() · 2d773aa4
      Steven Rostedt authored
      
      
      As I was adding code that affects all archs, I started testing function
      tracer against PPC64 and found that it currently locks up with 3.4
      kernel. I figured it was due to tracing a function that shouldn't be, so
      I went through the following process to bisect to find the culprit:
      
       cat /debug/tracing/available_filter_functions > t
       num=`wc -l t`
       sed -ne "1,${num}p" t > t1
       let num=num+1
       sed -ne "${num},$p" t > t2
       cat t1 > /debug/tracing/set_ftrace_filter
       echo function /debug/tracing/current_tracer
       <failed? bisect t1, if not bisect t2>
      
      It finally came down to this function: restore_interrupts()
      
      I'm not sure why this locks up the system. It just seems to prevent
      scheduling from occurring. Interrupts seem to still work, as I can ping
      the box. But all user processes freeze.
      
      When restore_interrupts() is not traced, function tracing works fine.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      2d773aa4
    • Li Zhong's avatar
      powerpc: Fix Section mismatch warnings in prom_init.c · 2cb387ae
      Li Zhong authored
      
      
      This patches tries to fix a couple of Section mismatch warnings like
      following one:
      
      WARNING: arch/powerpc/kernel/built-in.o(.text+0x2923c): Section mismatch
      in reference from the function .prom_query_opal() to the
      function .init.text:.call_prom()
      The function .prom_query_opal() references
      the function __init .call_prom().
      This is often because .prom_query_opal lacks a __init
      annotation or the annotation of .call_prom is wrong.
      
      Signed-off-by: default avatarLi Zhong <zhong@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      2cb387ae
    • Tiejun Chen's avatar
      ppc64: fix missing to check all bits of _TIF_USER_WORK_MASK in preempt · c58ce2b1
      Tiejun Chen authored
      
      
      In entry_64.S version of ret_from_except_lite, you'll notice that
      in the !preempt case, after we've checked MSR_PR we test for any
      TIF flag in _TIF_USER_WORK_MASK to decide whether to go to do_work
      or not. However, in the preempt case, we do a convoluted trick to
      test SIGPENDING only if PR was set and always test NEED_RESCHED ...
      but we forget to test any other bit of _TIF_USER_WORK_MASK !!! So
      that means that with preempt, we completely fail to test for things
      like single step, syscall tracing, etc...
      
      This should be fixed as the following path:
      
       - Test PR. If not set, go to resume_kernel, else continue.
      
       - If go resume_kernel, to do that original do_work.
      
       - If else, then always test for _TIF_USER_WORK_MASK to decide to do
      that original user_work, else restore directly.
      
      Signed-off-by: default avatarTiejun Chen <tiejun.chen@windriver.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      c58ce2b1
    • Michael Neuling's avatar
      powerpc: Fix uninitialised error in numa.c · 82b2521d
      Michael Neuling authored
      
      
      chroma_defconfig currently gives me this with gcc 4.6:
        arch/powerpc/mm/numa.c:638:13: error: 'dm' may be used uninitialized in this function [-Werror=uninitialized]
      
      It's a bogus warning/error since of_get_drconf_memory() only writes it
      anyway.
      
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      cc: <stable@kernel.org> [v3.3+]
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      82b2521d