1. 07 Dec, 2016 6 commits
  2. 02 Dec, 2016 3 commits
    • Heiko Carstens's avatar
      s390/setup: fix memblock usage · db7ad636
      Heiko Carstens authored
      When converting from bootmem to memblock I missed a subtle difference:
      the memblock_alloc() functions return uninitialized memory, while the
      memblock_virt_alloc() functions return zeroed memory.
      
      This led to quite random early boot crashes.
      
      Therefore use the correct version everywhere now.
      Hopefully.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      db7ad636
    • Lars-Peter Clausen's avatar
      s390/zcrypt: Convert to PM ops · 3e488c95
      Lars-Peter Clausen authored
      Switch the zcrypt bus from legacy suspend/resume callbacks to dev_pm_ops.
      The conversion is straight forward with the help of SIMPLE_DEV_PM_OPS().
      The new dev_pm_ops based version is functionally equivalent to the legacy
      callbacks version.
      
      This will allow to eventually remove support for legacy suspend/resume
      callbacks from the kernel altogether.
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarHarald Freudenberger <freude@linux.vnet.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      3e488c95
    • Heiko Carstens's avatar
      s390/kexec: use node 0 when re-adding crash kernel memory · 9f88eb4d
      Heiko Carstens authored
      When re-adding crash kernel memory within setup_resources() the
      function memblock_add() is used. That function will add memory by
      default to node "MAX_NUMNODES" instead of node 0, like the memory
      detection code does. In case of !NUMA this will trigger this warning
      when the kernel generates the vmemmap:
      
      Usage of MAX_NUMNODES is deprecated. Use NUMA_NO_NODE instead
      WARNING: CPU: 0 PID: 0 at mm/memblock.c:1261 memblock_virt_alloc_internal+0x76/0x220
      CPU: 0 PID: 0 Comm: swapper Not tainted 4.9.0-rc6 #16
      Call Trace:
       [<0000000000d0b2e8>] memblock_virt_alloc_try_nid+0x88/0xc8
       [<000000000083c8ea>] __earlyonly_bootmem_alloc.constprop.1+0x42/0x50
       [<000000000083e7f4>] vmemmap_populate+0x1ac/0x1e0
       [<0000000000840136>] sparse_mem_map_populate+0x46/0x68
       [<0000000000d0c59c>] sparse_init+0x184/0x238
       [<0000000000cf45f6>] paging_init+0xbe/0xf8
       [<0000000000cf1d4a>] setup_arch+0xa02/0xae0
       [<0000000000ced75a>] start_kernel+0x72/0x450
       [<0000000000100020>] _stext+0x20/0x80
      
      If NUMA is selected numa_setup_memory() will fix the node assignments
      before the vmemmap will be populated; so this warning will only appear
      if NUMA is not selected.
      
      To fix this simply use memblock_add_node() and re-add crash kernel
      memory explicitly to node 0.
      Reported-and-tested-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Fixes: 4e042af4 ("s390/kexec: fix crash on resize of reserved memory")
      Cc: <stable@vger.kernel.org> # v4.8+
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      9f88eb4d
  3. 29 Nov, 2016 4 commits
  4. 25 Nov, 2016 2 commits
  5. 23 Nov, 2016 6 commits
  6. 17 Nov, 2016 5 commits
  7. 15 Nov, 2016 1 commit
  8. 11 Nov, 2016 6 commits
  9. 08 Nov, 2016 1 commit
  10. 07 Nov, 2016 2 commits
  11. 31 Oct, 2016 4 commits
    • Paul Gortmaker's avatar
      s390: virtio: make ccw explicitly non-modular · acc50ec7
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      arch/s390/Kconfig:config S390_GUEST
      arch/s390/Kconfig:      def_bool y
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the modular code that is essentially orphaned, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      Also note that MODULE_DEVICE_TABLE is a no-op for non-modular code.
      
      We replace module.h with moduleparam.h since the file does declare
      some module_param() and leaving that as-is is currently the easiest
      way to remain compatible with existing boot arg use cases.
      
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Cc: linux-s390@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      acc50ec7
    • Paul Gortmaker's avatar
      s390: hotplug: make pci_hpc explicitly non-modular · 0729dcf2
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      drivers/pci/hotplug/Kconfig:config HOTPLUG_PCI_S390
      drivers/pci/hotplug/Kconfig:    bool "System z PCI Hotplug Support"
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      We don't exchange module.h for init.h or export.h since the file
      does not contain any initcalls or EXPORT of symbols.
      
      Cc: Sebastian Ott <sebott@linux.vnet.ibm.com>
      Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: linux-s390@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      0729dcf2
    • Paul Gortmaker's avatar
      s390: kernel: make lgr explicitly non-modular · 8ba8b05f
      Paul Gortmaker authored
      The Makefile currently controlling compilation of this code is obj-y
      meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      We replace module.h with init.h and export.h since the file does
      export some symbols.
      
      Cc: linux-s390@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      8ba8b05f
    • Paul Gortmaker's avatar
      s390: hypfs: make inode explicitly non-modular · cee672e1
      Paul Gortmaker authored
      The Kconfig currently controlling compilation of this code is:
      
      arch/s390/Kconfig:config S390_HYPFS_FS
      arch/s390/Kconfig:      def_bool y
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      Also note that MODULE_ALIAS is a no-op for non-modular code.
      
      We also delete the MODULE_LICENSE tag etc. since all that information
      was (or is now) contained at the top of the file in the comments.
      
      Build testing indicated the presence of module.h was masking an
      implicit include of kobject.h, hence the addition of that.
      
      Cc: linux-s390@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      cee672e1