Skip to content
  1. Jan 10, 2017
  2. Dec 25, 2016
    • Thomas Gleixner's avatar
      clocksource: Use a plain u64 instead of cycle_t · a5a1d1c2
      Thomas Gleixner authored
      
      
      There is no point in having an extra type for extra confusion. u64 is
      unambiguous.
      
      Conversion was done with the following coccinelle script:
      
      @rem@
      @@
      -typedef u64 cycle_t;
      
      @fix@
      typedef cycle_t;
      @@
      -cycle_t
      +u64
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: John Stultz <john.stultz@linaro.org>
      a5a1d1c2
    • Thomas Gleixner's avatar
      cpu/hotplug: Cleanup state names · 73c1b41e
      Thomas Gleixner authored
      
      
      When the state names got added a script was used to add the extra argument
      to the calls. The script basically converted the state constant to a
      string, but the cleanup to convert these strings into meaningful ones did
      not happen.
      
      Replace all the useless strings with 'subsys/xxx/yyy:state' strings which
      are used in all the other places already.
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sebastian Siewior <bigeasy@linutronix.de>
      Link: http://lkml.kernel.org/r/20161221192112.085444152@linutronix.de
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      73c1b41e
    • Thomas Gleixner's avatar
      ARM/imx/mmcd: Fix broken cpu hotplug handling · a051f220
      Thomas Gleixner authored
      
      
      The cpu hotplug support of this perf driver is broken in several ways:
      
      1) It adds a instance before setting up the state.
      
      2) The state for the instance is different from the state of the
         callback. It's just a randomly chosen state.
      
      3) The instance registration is not error checked so nobody noticed that
         the call can never succeed.
      
      4) The state for the multi install callbacks is chosen randomly and
         overwrites existing state. This is now prevented by the core code so the
         call is guaranteed to fail.
      
      5) The error exit path in the init function leaves the instance registered
         and then frees the memory which contains the enqueued hlist node.
      
      6) The remove function is removing the state and not the instance.
      
      Fix it by:
      
      - Setting up the state before adding instances. Use a dynamically allocated
        state for it.
      
      - Installing instances after the state has been set up
      
      - Removing the instance in the error path before freeing memory
      
      - Removing the instance not the state in the driver remove callback
      
      While at is use raw_cpu_processor_id(), because cpu_processor_id() cannot
      be used in preemptible context, and set the driver data after successful
      registration of the pmu.
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarShawn Guo <shawnguo@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sebastian Siewior <bigeasy@linutronix.de>
      Cc: Frank Li <frank.li@nxp.com>
      Cc: Zhengyu Shen <zhengyu.shen@nxp.com>
      Link: http://lkml.kernel.org/r/20161221192111.596204211@linutronix.de
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      a051f220
    • Linus Torvalds's avatar
      Replace <asm/uaccess.h> with <linux/uaccess.h> globally · 7c0f6ba6
      Linus Torvalds authored
      
      
      This was entirely automated, using the script by Al:
      
        PATT='^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*<asm/uaccess.h>'
        sed -i -e "s!$PATT!#include <linux/uaccess.h>!" \
              $(git grep -l "$PATT"|grep -v ^include/linux/uaccess.h)
      
      to do the replacement at the end of the merge window.
      
      Requested-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7c0f6ba6
  3. Dec 21, 2016
  4. Dec 16, 2016
  5. Dec 15, 2016
  6. Dec 13, 2016
  7. Dec 09, 2016
  8. Dec 08, 2016
    • Julien Grall's avatar
      arm/xen: Use alloc_percpu rather than __alloc_percpu · 24d5373d
      Julien Grall authored
      
      
      The function xen_guest_init is using __alloc_percpu with an alignment
      which are not power of two.
      
      However, the percpu allocator never supported alignments which are not power
      of two and has always behaved incorectly in thise case.
      
      Commit 3ca45a46 "percpu: ensure requested alignment is power of two"
      introduced a check which trigger a warning [1] when booting linux-next
      on Xen. But in reality this bug was always present.
      
      This can be fixed by replacing the call to __alloc_percpu with
      alloc_percpu. The latter will use an alignment which are a power of two.
      
      [1]
      
      [    0.023921] illegal size (48) or align (48) for percpu allocation
      [    0.024167] ------------[ cut here ]------------
      [    0.024344] WARNING: CPU: 0 PID: 1 at linux/mm/percpu.c:892 pcpu_alloc+0x88/0x6c0
      [    0.024584] Modules linked in:
      [    0.024708]
      [    0.024804] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
      4.9.0-rc7-next-20161128 #473
      [    0.025012] Hardware name: Foundation-v8A (DT)
      [    0.025162] task: ffff80003d870000 task.stack: ffff80003d844000
      [    0.025351] PC is at pcpu_alloc+0x88/0x6c0
      [    0.025490] LR is at pcpu_alloc+0x88/0x6c0
      [    0.025624] pc : [<ffff00000818e678>] lr : [<ffff00000818e678>]
      pstate: 60000045
      [    0.025830] sp : ffff80003d847cd0
      [    0.025946] x29: ffff80003d847cd0 x28: 0000000000000000
      [    0.026147] x27: 0000000000000000 x26: 0000000000000000
      [    0.026348] x25: 0000000000000000 x24: 0000000000000000
      [    0.026549] x23: 0000000000000000 x22: 00000000024000c0
      [    0.026752] x21: ffff000008e97000 x20: 0000000000000000
      [    0.026953] x19: 0000000000000030 x18: 0000000000000010
      [    0.027155] x17: 0000000000000a3f x16: 00000000deadbeef
      [    0.027357] x15: 0000000000000006 x14: ffff000088f79c3f
      [    0.027573] x13: ffff000008f79c4d x12: 0000000000000041
      [    0.027782] x11: 0000000000000006 x10: 0000000000000042
      [    0.027995] x9 : ffff80003d847a40 x8 : 6f697461636f6c6c
      [    0.028208] x7 : 6120757063726570 x6 : ffff000008f79c84
      [    0.028419] x5 : 0000000000000005 x4 : 0000000000000000
      [    0.028628] x3 : 0000000000000000 x2 : 000000000000017f
      [    0.028840] x1 : ffff80003d870000 x0 : 0000000000000035
      [    0.029056]
      [    0.029152] ---[ end trace 0000000000000000 ]---
      [    0.029297] Call trace:
      [    0.029403] Exception stack(0xffff80003d847b00 to
                                     0xffff80003d847c30)
      [    0.029621] 7b00: 0000000000000030 0001000000000000
      ffff80003d847cd0 ffff00000818e678
      [    0.029901] 7b20: 0000000000000002 0000000000000004
      ffff000008f7c060 0000000000000035
      [    0.030153] 7b40: ffff000008f79000 ffff000008c4cd88
      ffff80003d847bf0 ffff000008101778
      [    0.030402] 7b60: 0000000000000030 0000000000000000
      ffff000008e97000 00000000024000c0
      [    0.030647] 7b80: 0000000000000000 0000000000000000
      0000000000000000 0000000000000000
      [    0.030895] 7ba0: 0000000000000035 ffff80003d870000
      000000000000017f 0000000000000000
      [    0.031144] 7bc0: 0000000000000000 0000000000000005
      ffff000008f79c84 6120757063726570
      [    0.031394] 7be0: 6f697461636f6c6c ffff80003d847a40
      0000000000000042 0000000000000006
      [    0.031643] 7c00: 0000000000000041 ffff000008f79c4d
      ffff000088f79c3f 0000000000000006
      [    0.031877] 7c20: 00000000deadbeef 0000000000000a3f
      [    0.032051] [<ffff00000818e678>] pcpu_alloc+0x88/0x6c0
      [    0.032229] [<ffff00000818ece8>] __alloc_percpu+0x18/0x20
      [    0.032409] [<ffff000008d9606c>] xen_guest_init+0x174/0x2f4
      [    0.032591] [<ffff0000080830f8>] do_one_initcall+0x38/0x130
      [    0.032783] [<ffff000008d90c34>] kernel_init_freeable+0xe0/0x248
      [    0.032995] [<ffff00000899a890>] kernel_init+0x10/0x100
      [    0.033172] [<ffff000008082ec0>] ret_from_fork+0x10/0x50
      
      Reported-by: default avatarWei Chen <wei.chen@arm.com>
      Link: https://lkml.org/lkml/2016/11/28/669
      
      
      Signed-off-by: default avatarJulien Grall <julien.grall@arm.com>
      Signed-off-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      Reviewed-by: default avatarStefano Stabellini <sstabellini@kernel.org>
      Cc: stable@vger.kernel.org
      24d5373d
    • Stefan Agner's avatar
      ARM: dts: imx7d: fix LCDIF clock assignment · 4b707fa0
      Stefan Agner authored
      
      
      The eLCDIF IP of the i.MX 7 SoC knows multiple clocks and lists them
      separately:
      
      Clock      Clock Root              Description
      apb_clk    MAIN_AXI_CLK_ROOT       AXI clock
      pix_clk    LCDIF_PIXEL_CLK_ROOT    Pixel clock
      ipg_clk_s  MAIN_AXI_CLK_ROOT       Peripheral access clock
      
      All of them are switched by a single gate, which is part of the
      IMX7D_LCDIF_PIXEL_ROOT_CLK clock. Hence using that clock also for
      the AXI bus clock (clock-name "axi") makes sure the gate gets
      enabled when accessing registers.
      
      There seem to be no separate AXI display clock, and the clock is
      optional. Hence remove the dummy clock.
      
      This fixes kernel freezes when starting the X-Server (which
      disables/re-enables the display controller).
      
      Fixes: e8ed73f6 ("ARM: dts: imx7d: add lcdif support")
      Signed-off-by: default avatarStefan Agner <stefan@agner.ch>
      Reviewed-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
      Acked-by: default avatarShawn Guo <shawnguo@kernel.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      4b707fa0
    • Jorik Jonker's avatar
      dts: sun8i-h3: correct UART3 pin definitions · 4367c1d8
      Jorik Jonker authored
      
      
      In a previous commit, I made a copy/paste error in the pinmux
      definitions of UART3: PG{13,14} instead of PA{13,14}. This commit takes
      care of that. I have tested this commit on Orange Pi PC and Orange Pi
      Plus, and it works for these boards.
      
      Fixes: e3d11d3c ("dts: sun8i-h3: add pinmux definitions for
      UART2-3")
      
      Signed-off-by: default avatarJorik Jonker <jorik@kippendief.biz>
      Acked-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      4367c1d8
  9. Dec 07, 2016
  10. Dec 06, 2016
  11. Dec 05, 2016
  12. Dec 03, 2016
  13. Dec 01, 2016
  14. Nov 30, 2016
  15. Nov 29, 2016