Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Martin Schwidefsky:
"A couple of last-minute fixes: a build regression for !SMP, a recent
memory detection patch caused kdump to break, a regression in regard
to sscanf vs reboot from FCP, and two fixes in the DMA mapping code
for PCI"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390/ipl: Fix FCP WWPN and LUN format strings for read
s390/mem_detect: fix memory hole handling
s390/dma: support debug_dma_mapping_error
s390/dma: fix mapping_error detection
s390/irq: Only define synchronize_irq() on SMP

Changed files
+10 -6
arch
s390
include
kernel
mm
+2 -1
arch/s390/include/asm/dma-mapping.h
··· 50 50 { 51 51 struct dma_map_ops *dma_ops = get_dma_ops(dev); 52 52 53 + debug_dma_mapping_error(dev, dma_addr); 53 54 if (dma_ops->mapping_error) 54 55 return dma_ops->mapping_error(dev, dma_addr); 55 - return (dma_addr == 0UL); 56 + return (dma_addr == DMA_ERROR_CODE); 56 57 } 57 58 58 59 static inline void *dma_alloc_coherent(struct device *dev, size_t size,
+4 -4
arch/s390/kernel/ipl.c
··· 754 754 .write = reipl_fcp_scpdata_write, 755 755 }; 756 756 757 - DEFINE_IPL_ATTR_RW(reipl_fcp, wwpn, "0x%016llx\n", "%016llx\n", 757 + DEFINE_IPL_ATTR_RW(reipl_fcp, wwpn, "0x%016llx\n", "%llx\n", 758 758 reipl_block_fcp->ipl_info.fcp.wwpn); 759 - DEFINE_IPL_ATTR_RW(reipl_fcp, lun, "0x%016llx\n", "%016llx\n", 759 + DEFINE_IPL_ATTR_RW(reipl_fcp, lun, "0x%016llx\n", "%llx\n", 760 760 reipl_block_fcp->ipl_info.fcp.lun); 761 761 DEFINE_IPL_ATTR_RW(reipl_fcp, bootprog, "%lld\n", "%lld\n", 762 762 reipl_block_fcp->ipl_info.fcp.bootprog); ··· 1323 1323 1324 1324 /* FCP dump device attributes */ 1325 1325 1326 - DEFINE_IPL_ATTR_RW(dump_fcp, wwpn, "0x%016llx\n", "%016llx\n", 1326 + DEFINE_IPL_ATTR_RW(dump_fcp, wwpn, "0x%016llx\n", "%llx\n", 1327 1327 dump_block_fcp->ipl_info.fcp.wwpn); 1328 - DEFINE_IPL_ATTR_RW(dump_fcp, lun, "0x%016llx\n", "%016llx\n", 1328 + DEFINE_IPL_ATTR_RW(dump_fcp, lun, "0x%016llx\n", "%llx\n", 1329 1329 dump_block_fcp->ipl_info.fcp.lun); 1330 1330 DEFINE_IPL_ATTR_RW(dump_fcp, bootprog, "%lld\n", "%lld\n", 1331 1331 dump_block_fcp->ipl_info.fcp.bootprog);
+2
arch/s390/kernel/irq.c
··· 312 312 } 313 313 EXPORT_SYMBOL(measurement_alert_subclass_unregister); 314 314 315 + #ifdef CONFIG_SMP 315 316 void synchronize_irq(unsigned int irq) 316 317 { 317 318 /* ··· 321 320 */ 322 321 } 323 322 EXPORT_SYMBOL_GPL(synchronize_irq); 323 + #endif 324 324 325 325 #ifndef CONFIG_PCI 326 326
+2 -1
arch/s390/mm/mem_detect.c
··· 123 123 continue; 124 124 } else if ((addr <= chunk->addr) && 125 125 (addr + size >= chunk->addr + chunk->size)) { 126 - memset(chunk, 0 , sizeof(*chunk)); 126 + memmove(chunk, chunk + 1, (MEMORY_CHUNKS-i-1) * sizeof(*chunk)); 127 + memset(&mem_chunk[MEMORY_CHUNKS-1], 0, sizeof(*chunk)); 127 128 } else if (addr + size < chunk->addr + chunk->size) { 128 129 chunk->size = chunk->addr + chunk->size - addr - size; 129 130 chunk->addr = addr + size;