1. 10 11月, 2016 2 次提交
  2. 08 11月, 2016 4 次提交
  3. 23 9月, 2016 1 次提交
    • L
      ARM: omap2: fix missing include · 9132ce45
      Linus Walleij 提交于
      commit d47529b2
      "gpio: don't include module.h in shared driver header"
      removed <linux/module.h> from the <linux/gpio/driver.h> header.
      
      It seems arch/arm/mach-omap2/board-rx51-peripherals.c
      is using __initdata_or_module from <linux/module.h> through
      <linux/gpio.h> to <linux/gpio/driver.h>, so break this dependency
      so that we get a clean compile.
      
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Fixes: d47529b2 ("gpio: don't include module.h in shared driver header")
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      9132ce45
  4. 20 9月, 2016 1 次提交
  5. 26 8月, 2016 1 次提交
  6. 31 7月, 2016 1 次提交
    • G
      ARM: OMAP2+: omap_device: fix crash on omap_device removal · 213fa10d
      Grygorii Strashko 提交于
      Below call chain causes system crash when OMAP device is
      removed by calling of_platform_depopulate()/device_del():
      
      device_del()
      - blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
       			     BUS_NOTIFY_DEL_DEVICE, dev);
        - _omap_device_notifier_call()
          - omap_device_delete()
            - od->pdev->archdata.od = NULL;
      	kfree(od->hwmods);
      	kfree(od);
        - bus_remove_device()
          - device_release_driver()
            - __device_release_driver()
      	- pm_runtime_get_sync()
      	   - _od_runtime_resume()
      	     - omap_hwmod_enable() <- OOPS od's delted already
      
      Backtrace:
      Unable to handle kernel NULL pointer dereference at virtual address 0000000d
      pgd = eb100000
      [0000000d] *pgd=ad6e1831, *pte=00000000, *ppte=00000000
      Internal error: Oops: 17 [#1] PREEMPT SMP ARM
      CPU: 1 PID: 1273 Comm: modprobe Not tainted 4.4.15-rt19-00115-ge4d3cd3-dirty #68
      Hardware name: Generic DRA74X (Flattened Device Tree)
      task: eb1ee800 ti: ec962000 task.ti: ec962000
      PC is at omap_device_enable+0x10/0x90
      LR is at _od_runtime_resume+0x10/0x24
      [...]
      [<c00299dc>] (omap_device_enable) from [<c0029a6c>] (_od_runtime_resume+0x10/0x24)
      [<c0029a6c>] (_od_runtime_resume) from [<c04ad404>] (__rpm_callback+0x20/0x34)
      [<c04ad404>] (__rpm_callback) from [<c04ad438>] (rpm_callback+0x20/0x80)
      [<c04ad438>] (rpm_callback) from [<c04aee28>] (rpm_resume+0x48c/0x964)
      [<c04aee28>] (rpm_resume) from [<c04af360>] (__pm_runtime_resume+0x60/0x88)
      [<c04af360>] (__pm_runtime_resume) from [<c04a4974>] (__device_release_driver+0x30/0x100)
      [<c04a4974>] (__device_release_driver) from [<c04a4a60>] (device_release_driver+0x1c/0x28)
      [<c04a4a60>] (device_release_driver) from [<c04a38c0>] (bus_remove_device+0xec/0x144)
      [<c04a38c0>] (bus_remove_device) from [<c04a0764>] (device_del+0x10c/0x210)
      [<c04a0764>] (device_del) from [<c04a67b0>] (platform_device_del+0x18/0x84)
      [<c04a67b0>] (platform_device_del) from [<c04a6828>] (platform_device_unregister+0xc/0x20)
      [<c04a6828>] (platform_device_unregister) from [<c05adcfc>] (of_platform_device_destroy+0x8c/0x90)
      [<c05adcfc>] (of_platform_device_destroy) from [<c04a02f0>] (device_for_each_child+0x4c/0x78)
      [<c04a02f0>] (device_for_each_child) from [<c05adc5c>] (of_platform_depopulate+0x30/0x44)
      [<c05adc5c>] (of_platform_depopulate) from [<bf123920>] (cpsw_remove+0x68/0xf4 [ti_cpsw])
      [<bf123920>] (cpsw_remove [ti_cpsw]) from [<c04a68d8>] (platform_drv_remove+0x24/0x3c)
      [<c04a68d8>] (platform_drv_remove) from [<c04a49c8>] (__device_release_driver+0x84/0x100)
      [<c04a49c8>] (__device_release_driver) from [<c04a4b20>] (driver_detach+0xac/0xb0)
      [<c04a4b20>] (driver_detach) from [<c04a3be8>] (bus_remove_driver+0x60/0xd4)
      [<c04a3be8>] (bus_remove_driver) from [<c00d9870>] (SyS_delete_module+0x184/0x20c)
      [<c00d9870>] (SyS_delete_module) from [<c0010540>] (ret_fast_syscall+0x0/0x1c)
      Code: e3500000 e92d4070 1590630c 01a06000 (e5d6300d)
      
      Hence, fix it by using BUS_NOTIFY_REMOVED_DEVICE event for OMAP device
      deletion which is sent when DD has finished processing of device
      deletion.
      
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Tero Kristo <t-kristo@ti.com>
      Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      213fa10d
  7. 23 7月, 2016 5 次提交
  8. 11 7月, 2016 2 次提交
    • T
      ARM: OMAP2+: Drop legacy board file for LDP · e92fc4f0
      Tony Lindgren 提交于
      Let's drop the last two remaining omap3 legacy boot board files.
      Let's only use the device tree based booting known to work for
      these two boards.
      
      We still have two omap3 boards booting in legacy mode in addition
      to device tree based booting. All the other ten or so omap2+ SoCs
      have been booting using device tree mode only for years now. This
      has allowed us to get rid of quite a bit of arch/arm/mach-omap2
      related platform init code in favor of dts and driver changes.
      
      Pretty much the only remaining known users for omap3 legacy boot
      board files are Kevin's and Russell's boot test systems, and N900
      kernel tree maintained by Pali and Ivaylo. And all of them are
      also supporting the device tree based booting. The legacy booting
      mode has been kept around mostly to verify against regressions.
      
      As there is still a slim chance of possible other uses of the
      mainline kernel for these boards, let's just drop the board
      files for v4.8, and let's not touch the related platform init
      code until around v4.9 time if no issues are found. This makes
      it trivial for us to add back the board files with a simple revert.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e92fc4f0
    • T
      ARM: OMAP2+: Drop legacy board file for n900 · 9b7141d0
      Tony Lindgren 提交于
      Let's drop the last two remaining omap3 legacy boot board files.
      Let's only use the device tree based booting known to work for
      these two boards.
      
      We still have two omap3 boards booting in legacy mode in addition
      to device tree based booting. All the other ten or so omap2+ SoCs
      have been booting using device tree mode only for years now. This
      has allowed us to get rid of quite a bit of arch/arm/mach-omap2
      related platform init code in favor of dts and driver changes.
      
      Pretty much the only remaining known users for omap3 legacy boot
      board files are Kevin's and Russell's boot test systems, and N900
      kernel tree maintained by Pali and Ivaylo. And all of them are
      also supporting the device tree based booting. The legacy booting
      mode has been kept around mostly to verify against regressions.
      
      As there is still a slim chance of possible other uses of the
      mainline kernel for these boards, let's just drop the board
      files for v4.8, and let's not touch the related platform init
      code until around v4.9 time if no issues are found. This makes
      it trivial for us to add back the board files with a simple revert.
      Acked-By: NSebastian Reichel <sre@kernel.org>
      Acked-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Acked-by: NPali Rohár <pali.rohar@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      9b7141d0
  9. 04 7月, 2016 6 次提交
  10. 30 6月, 2016 3 次提交
  11. 28 6月, 2016 1 次提交
  12. 23 6月, 2016 4 次提交
  13. 22 6月, 2016 3 次提交
  14. 17 6月, 2016 1 次提交
    • T
      ARM: OMAP2+: timer: add probe for clocksources · 970f9091
      Tero Kristo 提交于
      A few platforms are currently missing clocksource_probe() completely
      in their time_init functionality. On OMAP3430 for example, this is
      causing cpuidle to be pretty much dead, as the counter32k is not
      going to be registered and instead a gptimer is used as a clocksource.
      This will tick in periodic mode, preventing any deeper idle states.
      
      While here, also drop one unnecessary check for populated DT before
      existing clocksource_probe() call.
      Signed-off-by: NTero Kristo <t-kristo@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      970f9091
  15. 13 6月, 2016 3 次提交
  16. 10 6月, 2016 2 次提交