1. 03 Sep, 2015 37 commits
  2. 26 Aug, 2015 3 commits
    • Bjorn Helgaas's avatar
      MIPS: MT: Remove "weak" from vpe_run() declaration · c60f9944
      Bjorn Helgaas authored
      Weak header file declarations are error-prone because they make every
      definition weak, and the linker chooses one based on link order (see
      10629d71 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node
      decl")).
      
      That's not a problem for vpe_run() because Kconfig ensures there's never
      more than one definition:
      
        - vpe_run() is defined in arch/mips/kernel/vpe-mt.c if
          CONFIG_MIPS_VPE_LOADER_MT=y
      
        - vpe_run() is defined in arch/mips/mti-malta/malta-amon.c if
          CONFIG_MIPS_CMP=y
      
        - CONFIG_MIPS_VPE_LOADER_MT cannot be set if CONFIG_MIPS_CMP=y
      
      But it's simpler to verify correctness if we remove "weak" from the picture
      and test the config symbols directly.
      
      Remove "weak" from the vpe_run() declaration and use #if to test whether a
      definition should be present.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Cc: Andrew Bresticker <abrestic@chromium.org>
      Cc: linux-mips@linux-mips.org
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/10684/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      c60f9944
    • Bjorn Helgaas's avatar
      MIPS: VPE: Exit vpe_release() early if vpe_run() isn't defined · 1c205b9c
      Bjorn Helgaas authored
      vpe_run() is a weak symbol.  If there's no definition of it, its value is
      zero.
      
      If vpe_run is zero, return failure early.  We're going to fail anyway, so
      there's no point in getting a VPE and attempting to load it.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Cc: Andrew Bresticker <abrestic@chromium.org>
      Cc: linux-mips@linux-mips.org
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/10683/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      1c205b9c
    • Bjorn Helgaas's avatar
      MIPS: Remove "weak" from platform_maar_init() declaration · 27d8d449
      Bjorn Helgaas authored
      Weak header file declarations are error-prone because they make every
      definition weak, and the linker chooses one based on link order (see
      10629d71 ("PCI: Remove __weak annotation from pcibios_get_phb_of_node
      decl")).
      
      platform_maar_init() is defined in:
      
        - arch/mips/mm/init.c (where it is marked "weak")
        - arch/mips/mti-malta/malta-memory.c (without annotation)
      
      The "weak" attribute on the platform_maar_init() extern declaration applies
      to the platform-specific definition in arch/mips/mti-malta/malta-memory.c,
      so both definitions are weak, and which one we get depends on link order.
      
      Remove the "weak" attribute from the declaration.  That makes the malta
      definition strong, so it will always be preferred if it is present.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      CC: linux-mips@linux-mips.org
      Reviewed-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Cc: Andrew Bresticker <abrestic@chromium.org>
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/10682/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      27d8d449