1. 04 5月, 2016 5 次提交
  2. 30 4月, 2016 1 次提交
  3. 25 4月, 2016 1 次提交
    • M
      net: stmmac: socfpga: Remove re-registration of reset controller · 3c201b5a
      Marek Vasut 提交于
      Both socfpga_dwmac_parse_data() in dwmac-socfpga.c and stmmac_dvr_probe()
      in stmmac_main.c functions call devm_reset_control_get() to register an
      reset controller for the stmmac. This results in an attempt to register
      two reset controllers for the same non-shared reset line.
      
      The first attempt to register the reset controller works fine. The second
      attempt fails with warning from the reset controller core, see below.
      The warning is produced because the reset line is non-shared and thus
      it is allowed to have only up-to one reset controller associated with
      that reset line, not two or more.
      
      The solution has multiple parts. First, the original socfpga_dwmac_init()
      is tweaked to use reset controller pointer from the stmmac_priv (private
      data of the stmmac core) instead of the local instance, which was used
      before. The local re-registration of the reset controller is removed.
      
      Next, the socfpga_dwmac_init() is moved after stmmac_dvr_probe() in the
      probe function. This order is legal according to Altera and it makes the
      code much easier, since there is no need to temporarily register and
      unregister the reset controller ; the reset controller is already registered
      by the stmmac_dvr_probe().
      
      Finally, plat_dat->exit and socfpga_dwmac_exit() is no longer necessary,
      since the functionality is already performed by the stmmac core.
      
      ------------[ cut here ]------------
      WARNING: CPU: 0 PID: 1 at drivers/reset/core.c:187 __of_reset_control_get+0x218/0x270
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.6.0-rc4-next-20160419-00015-gabb2477-dirty #4
      Hardware name: Altera SOCFPGA
      [<c010f290>] (unwind_backtrace) from [<c010b82c>] (show_stack+0x10/0x14)
      [<c010b82c>] (show_stack) from [<c0373da4>] (dump_stack+0x94/0xa8)
      [<c0373da4>] (dump_stack) from [<c011bcc0>] (__warn+0xec/0x104)
      [<c011bcc0>] (__warn) from [<c011bd88>] (warn_slowpath_null+0x20/0x28)
      [<c011bd88>] (warn_slowpath_null) from [<c03a6eb4>] (__of_reset_control_get+0x218/0x270)
      [<c03a6eb4>] (__of_reset_control_get) from [<c03a701c>] (__devm_reset_control_get+0x54/0x90)
      [<c03a701c>] (__devm_reset_control_get) from [<c041fa30>] (stmmac_dvr_probe+0x1b4/0x8e8)
      [<c041fa30>] (stmmac_dvr_probe) from [<c04298c8>] (socfpga_dwmac_probe+0x1b8/0x28c)
      [<c04298c8>] (socfpga_dwmac_probe) from [<c03d6ffc>] (platform_drv_probe+0x4c/0xb0)
      [<c03d6ffc>] (platform_drv_probe) from [<c03d54ec>] (driver_probe_device+0x224/0x2bc)
      [<c03d54ec>] (driver_probe_device) from [<c03d5630>] (__driver_attach+0xac/0xb0)
      [<c03d5630>] (__driver_attach) from [<c03d382c>] (bus_for_each_dev+0x6c/0xa0)
      [<c03d382c>] (bus_for_each_dev) from [<c03d4ad4>] (bus_add_driver+0x1a4/0x21c)
      [<c03d4ad4>] (bus_add_driver) from [<c03d60ac>] (driver_register+0x78/0xf8)
      [<c03d60ac>] (driver_register) from [<c0101760>] (do_one_initcall+0x40/0x170)
      [<c0101760>] (do_one_initcall) from [<c0800e38>] (kernel_init_freeable+0x1dc/0x27c)
      [<c0800e38>] (kernel_init_freeable) from [<c05d1bd4>] (kernel_init+0x8/0x114)
      [<c05d1bd4>] (kernel_init) from [<c01076f8>] (ret_from_fork+0x14/0x3c)
      ---[ end trace 059d2fbe87608fa9 ]---
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Matthew Gerlach <mgerlach@opensource.altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: David S. Miller <davem@davemloft.net>
      Tested-by: NDinh Nguyen <dinguyen@opensource.altera.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3c201b5a
  4. 17 4月, 2016 1 次提交
  5. 14 4月, 2016 1 次提交
  6. 11 4月, 2016 1 次提交
  7. 07 4月, 2016 1 次提交
  8. 03 4月, 2016 11 次提交
  9. 02 4月, 2016 3 次提交
  10. 19 3月, 2016 1 次提交
  11. 07 3月, 2016 1 次提交
  12. 04 3月, 2016 1 次提交
  13. 03 3月, 2016 12 次提交