linux/arch/arm/mach-omap2
Mike Rapoport 7e1c4e2792 memblock: stop using implicit alignment to SMP_CACHE_BYTES
When a memblock allocation APIs are called with align = 0, the alignment
is implicitly set to SMP_CACHE_BYTES.

Implicit alignment is done deep in the memblock allocator and it can
come as a surprise.  Not that such an alignment would be wrong even
when used incorrectly but it is better to be explicit for the sake of
clarity and the prinicple of the least surprise.

Replace all such uses of memblock APIs with the 'align' parameter
explicitly set to SMP_CACHE_BYTES and stop implicit alignment assignment
in the memblock internal allocation functions.

For the case when memblock APIs are used via helper functions, e.g.  like
iommu_arena_new_node() in Alpha, the helper functions were detected with
Coccinelle's help and then manually examined and updated where
appropriate.

The direct memblock APIs users were updated using the semantic patch below:

@@
expression size, min_addr, max_addr, nid;
@@
(
|
- memblock_alloc_try_nid_raw(size, 0, min_addr, max_addr, nid)
+ memblock_alloc_try_nid_raw(size, SMP_CACHE_BYTES, min_addr, max_addr,
nid)
|
- memblock_alloc_try_nid_nopanic(size, 0, min_addr, max_addr, nid)
+ memblock_alloc_try_nid_nopanic(size, SMP_CACHE_BYTES, min_addr, max_addr,
nid)
|
- memblock_alloc_try_nid(size, 0, min_addr, max_addr, nid)
+ memblock_alloc_try_nid(size, SMP_CACHE_BYTES, min_addr, max_addr, nid)
|
- memblock_alloc(size, 0)
+ memblock_alloc(size, SMP_CACHE_BYTES)
|
- memblock_alloc_raw(size, 0)
+ memblock_alloc_raw(size, SMP_CACHE_BYTES)
|
- memblock_alloc_from(size, 0, min_addr)
+ memblock_alloc_from(size, SMP_CACHE_BYTES, min_addr)
|
- memblock_alloc_nopanic(size, 0)
+ memblock_alloc_nopanic(size, SMP_CACHE_BYTES)
|
- memblock_alloc_low(size, 0)
+ memblock_alloc_low(size, SMP_CACHE_BYTES)
|
- memblock_alloc_low_nopanic(size, 0)
+ memblock_alloc_low_nopanic(size, SMP_CACHE_BYTES)
|
- memblock_alloc_from_nopanic(size, 0, min_addr)
+ memblock_alloc_from_nopanic(size, SMP_CACHE_BYTES, min_addr)
|
- memblock_alloc_node(size, 0, nid)
+ memblock_alloc_node(size, SMP_CACHE_BYTES, nid)
)

[mhocko@suse.com: changelog update]
[akpm@linux-foundation.org: coding-style fixes]
[rppt@linux.ibm.com: fix missed uses of implicit alignment]
  Link: http://lkml.kernel.org/r/20181016133656.GA10925@rapoport-lnx
Link: http://lkml.kernel.org/r/1538687224-17535-1-git-send-email-rppt@linux.vnet.ibm.com
Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Suggested-by: Michal Hocko <mhocko@suse.com>
Acked-by: Paul Burton <paul.burton@mips.com>	[MIPS]
Acked-by: Michael Ellerman <mpe@ellerman.id.au>	[powerpc]
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Guan Xuetao <gxt@pku.edu.cn>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Richard Weinberger <richard@nod.at>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-10-31 08:54:16 -07:00
..
include/mach
Kconfig ARM: OMAP2+: pm33xx-core: Add platform code needed for PM 2018-02-27 08:53:37 -08:00
Makefile ti-sysc driver related changes for omap variants 2018-05-14 01:18:44 -07:00
am33xx-restart.c
am33xx.h
board-generic.c ARM: OMAP2+: Make display related init into device_initcall 2018-04-30 12:04:51 -07:00
board-n8x0.c bus: ti-sysc: Add support for platform data callbacks 2018-02-26 14:16:11 -08:00
clkt2xxx_dpll.c
clkt2xxx_dpllcore.c clk: ti: convert to use proper register definition for all accesses 2017-03-08 13:06:15 +02:00
clkt2xxx_virt_prcm_set.c
clock.c clk: ti: convert to use proper register definition for all accesses 2017-03-08 13:06:15 +02:00
clock.h clk: ti: convert to use proper register definition for all accesses 2017-03-08 13:06:15 +02:00
clock2xxx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
clock3xxx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
clockdomain.c ARM: OMAP2+: clockdomain: Inroduce cpu_pm notifiers for context save/restore 2018-05-18 06:56:12 -07:00
clockdomain.h ARM: OMAP2+: Add functions to save and restore clockdomain context en-masse. 2018-05-17 14:30:18 -07:00
clockdomains2xxx_3xxx_data.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
clockdomains3xxx_data.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
clockdomains7xx_data.c ARM: DRA7: clockdomain: Change the CLKTRCTRL of CM_PCIE_CLKSTCTRL to SW_WKUP 2017-04-28 10:23:20 -05:00
clockdomains33xx_data.c
clockdomains43xx_data.c
clockdomains44xx_data.c
clockdomains54xx_data.c
clockdomains81xx_data.c ARM: OMAP2+: dm81xx: Add clkdm and hwmod for SATA 2017-03-28 14:10:03 -07:00
clockdomains2420_data.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
clockdomains2430_data.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cm-regbits-7xx.h
cm-regbits-24xx.h ARM: OMAP2+: Drop unused legacy data for prcm_reg_id and module_bit 2017-12-14 08:23:33 -08:00
cm-regbits-33xx.h
cm-regbits-34xx.h ARM: OMAP2+: Drop unused legacy data for prcm_reg_id and module_bit 2017-12-14 08:23:33 -08:00
cm-regbits-44xx.h
cm-regbits-54xx.h
cm.h Merge branch '4.15-rc1-clkctrl-mach-omap2' of https://github.com/t-kristo/linux-pm into omap-for-v4.16/soc 2017-12-11 07:46:40 -08:00
cm1_7xx.h
cm1_44xx.h
cm1_54xx.h
cm2_7xx.h
cm2_44xx.h
cm2_54xx.h
cm2xxx.c ARM: OMAP2+: CM: make cm_ll_data structures as const 2017-12-11 07:40:38 -08:00
cm2xxx.h
cm2xxx_3xxx.h ARM: OMAP2+: PRCM: store also physical addresses for instances 2017-06-06 00:13:51 -07:00
cm3xxx.c ARM: OMAP2+: CM: make cm_ll_data structures as const 2017-12-11 07:40:38 -08:00
cm3xxx.h
cm33xx.c ARM: OMAP2+: Add functions to save and restore clockdomain context en-masse. 2018-05-17 14:30:18 -07:00
cm33xx.h
cm44xx.h
cm81xx.h ARM: OMAP2+: dm81xx: Add clkdm and hwmod for SATA 2017-03-28 14:10:03 -07:00
cm_common.c Clock related dts changes for omaps for v4.16 merge window 2017-12-21 17:19:38 +01:00
cminst44xx.c ARM: OMAP2+: Add functions to save and restore clockdomain context en-masse. 2018-05-17 14:30:18 -07:00
common-board-devices.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
common.c
common.h Merge branch 'i2c/for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-06-14 16:21:46 +09:00
control.c ARM: AM43XX: Add functions to save/restore am43xx control registers 2018-05-23 11:54:26 -07:00
control.h ARM: AM43XX: Add functions to save/restore am43xx control registers 2018-05-23 11:54:26 -07:00
cpuidle34xx.c ARM: OMAP3: Add cpuidle parameters table for omap3430 2016-02-19 10:35:39 -08:00
cpuidle44xx.c ARM: OMAP5: Add basic cpuidle MPU CSWR support 2016-11-07 16:52:14 -07:00
ctrl_module_wkup_44xx.h
devices.c ARM: OMAP2+: Remove unused gpio header file references 2018-02-14 10:28:13 -08:00
display.c ARM: OMAP2+: Make display related init into device_initcall 2018-04-30 12:04:51 -07:00
display.h ARM: OMAP2+: Remove unused omapdrm platform device 2017-08-16 15:38:51 +03:00
dma.c ARM: OMAP2+: make omap_dma_dev_info __initdata 2017-10-02 12:48:53 -07:00
fb.c ARM: OMAP2+: use IS_ENABLED() instead of checking for built-in or module 2016-08-26 08:42:35 -07:00
gpmc.h
hdq1w.c ARM: OMAP2+: Drop unused omap_init_hdq 2017-09-19 11:04:56 -07:00
hdq1w.h
hsmmc.c - Error path bug fix for overflow tests (Dan) 2018-06-12 18:28:00 -07:00
hsmmc.h mmc: omap_hsmmc: Delete platform data GPIO CD and WP 2018-10-08 11:40:43 +02:00
i2c.c ARM: OMAP2+: Drop unused pm-noop 2018-04-16 10:22:40 -07:00
i2c.h ARM: OMAP: Move plat/i2c.h into mach-omap1 folder 2018-02-14 10:28:13 -08:00
id.c ARM: OMAP2+: dra762: Add support for device package identification 2017-12-21 07:04:10 -08:00
id.h
io.c ARM: OMAP2+: Initialize SoC PM later 2018-04-30 12:04:51 -07:00
iomap.h
l3_2xxx.h
l3_3xxx.h
l4_2xxx.h
l4_3xxx.h
mcbsp.c ARM: OMAP2+: Remove unused legacy code for McBSP 2017-06-08 04:15:10 -07:00
mmc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
msdi.c ARM: OMAP2+: Remove unused gpio header file references 2018-02-14 10:28:13 -08:00
omap-headsmp.S ARM: OMAP5 / DRA7: Fix HYP mode boot for thumb2 build 2017-02-16 13:12:15 -08:00
omap-hotplug.c ARM: omap2+: Revert omap-smp.c changes resetting CPU1 during boot 2017-03-27 10:10:42 -07:00
omap-mpuss-lowpower.c ARM: omap2+: make omap4_get_cpu1_ns_pa_addr declaration usable 2017-05-09 21:13:25 +02:00
omap-secure.c ARM: omap2: hide omap3_save_secure_ram on non-OMAP3 builds 2017-12-07 15:52:21 +01:00
omap-secure.h ARM: OMAP2+: Fix SRAM virt to phys translation for save_secure_ram_context 2017-11-28 07:03:26 -08:00
omap-smc.S ARM: omap2+: Revert omap-smp.c changes resetting CPU1 during boot 2017-03-27 10:10:42 -07:00
omap-smp.c ARM: DRA7/OMAP5: Enable ACTLR[0] (Enable invalidates of BTB) for secondary cores 2018-07-12 03:56:32 -07:00
omap-wakeupgen.c ARM: OMAP2+: Fix sar_base inititalization for HS omaps 2018-02-14 08:35:14 -08:00
omap-wakeupgen.h
omap2-restart.c ARM: OMAP2+: Change core_initcall levels to postcore_initcall 2015-12-03 11:38:09 -08:00
omap3-restart.c
omap4-common.c ARM: OMAP2+: Drop omap_hwmod_irq_info 2017-10-10 14:27:19 -07:00
omap4-restart.c
omap4-sar-layout.h ARM: OMAP2+: Fix typo for wakeup_ns_pa_addr 2018-02-28 14:47:13 -08:00
omap24xx.h
omap34xx.h
omap44xx.h
omap54xx.h
omap_device.c - Error path bug fix for overflow tests (Dan) 2018-06-12 18:28:00 -07:00
omap_device.h ARM: OMAP2+: Populate legacy resources for dma and smartreflex 2017-10-10 14:23:35 -07:00
omap_hwmod.c memblock: stop using implicit alignment to SMP_CACHE_BYTES 2018-10-31 08:54:16 -07:00
omap_hwmod.h ARM: OMAP2+: Use signed value for sysc register offsets 2018-04-30 12:04:51 -07:00
omap_hwmod_2xxx_3xxx_ipblock_data.c ARM: OMAP2+: Drop omap_hwmod_irq_info 2017-10-10 14:27:19 -07:00
omap_hwmod_2xxx_interconnect_data.c ARM: OMAP2+: Remove legacy data from hwmod for omap3 2016-11-10 14:03:19 -07:00
omap_hwmod_2xxx_ipblock_data.c ARM: OMAP2+: Cleanup omap2_spi_dev_attr and other legacy data 2018-02-14 10:28:12 -08:00
omap_hwmod_3xxx_data.c Merge branch 'i2c/for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-06-14 16:21:46 +09:00
omap_hwmod_7xx_data.c Merge branch 'i2c/for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-06-14 16:21:46 +09:00
omap_hwmod_33xx_43xx_common_data.h ARM: OMAP2+: Cleanup omap2_spi_dev_attr and other legacy data 2018-02-14 10:28:12 -08:00
omap_hwmod_33xx_43xx_interconnect_data.c ARM: OMAP2+: Drop legacy struct omap_hwmod_addr_space 2017-10-10 14:27:33 -07:00
omap_hwmod_33xx_43xx_ipblock_data.c ARM: OMAP2+: Use signed value for sysc register offsets 2018-04-30 12:04:51 -07:00
omap_hwmod_33xx_data.c i2c: omap: move header to platform_data 2018-05-17 16:27:58 +02:00
omap_hwmod_43xx_data.c ARM: OMAP2+: Use signed value for sysc register offsets 2018-04-30 12:04:51 -07:00
omap_hwmod_44xx_data.c Merge branch 'i2c/for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-06-14 16:21:46 +09:00
omap_hwmod_54xx_data.c Merge branch 'i2c/for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-06-14 16:21:46 +09:00
omap_hwmod_81xx_data.c ARM: OMAP2+: Use signed value for sysc register offsets 2018-04-30 12:04:51 -07:00
omap_hwmod_2420_data.c i2c: omap: move header to platform_data 2018-05-17 16:27:58 +02:00
omap_hwmod_2430_data.c i2c: omap: move header to platform_data 2018-05-17 16:27:58 +02:00
omap_hwmod_common_data.c bus: ti-sysc: Make omap_hwmod_sysc_fields into sysc_regbits platform data 2017-12-21 07:28:54 -08:00
omap_hwmod_common_data.h ARM: OMAP2+: Cleanup omap_gpio_dev_attr usage 2018-02-14 10:28:12 -08:00
omap_hwmod_common_ipblock_data.c
omap_hwmod_reset.c ARM: hwmod: RTC: Don't assume lock/unlock will be called with irq enabled 2018-07-03 01:46:52 -07:00
omap_opp_data.h
omap_phy_internal.c
omap_twl.c mfd: twl: Move header file out of I2C realm 2017-09-04 14:41:02 +01:00
opp2xxx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
opp3xxx_data.c ARM: OMAP2+: Remove unused legacy code for opp 2017-06-08 02:57:16 -07:00
opp4xxx_data.c ARM: OMAP2+: Remove unused legacy code for opp 2017-06-08 02:57:16 -07:00
opp2420_data.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
opp2430_data.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pdata-quirks.c MMC core: 2018-10-23 08:36:15 +01:00
pm-asm-offsets.c ARM: OMAP2+: sleep33/43xx: Add RTC-Mode support 2018-07-09 23:01:34 -07:00
pm-debug.c ARM: OMAP2+: reuse DEFINE_SHOW_ATTRIBUTE() macro 2018-07-09 22:58:06 -07:00
pm.c ARM: OMAP2+: Initialize SoC PM later 2018-04-30 12:04:51 -07:00
pm.h ARM: OMAP2+: pm33xx-core: Add platform code needed for PM 2018-02-27 08:53:37 -08:00
pm24xx.c gpio: omap: Remove custom PM calls and use cpu_pm instead 2018-09-24 14:24:44 +02:00
pm33xx-core.c ARM: OMAP2+: sleep33/43xx: Add RTC-Mode support 2018-07-09 23:01:34 -07:00
pm34xx.c gpio: omap: Remove custom PM calls and use cpu_pm instead 2018-09-24 14:24:44 +02:00
pm44xx.c ARM: OMAP2+: Make sure LOGICRETSTATE bits are not cleared 2018-05-18 07:26:33 -07:00
powerdomain-common.c
powerdomain.c ARM: SoC platform updates 2018-06-11 17:49:09 -07:00
powerdomain.h ARM: OMAP2+: Add functions to save and restore powerdomain context 2018-05-18 06:56:26 -07:00
powerdomains2xxx_3xxx_data.c
powerdomains2xxx_3xxx_data.h
powerdomains2xxx_data.c
powerdomains3xxx_data.c ARM: OMAP2+: Update 81xx clock and power domains for default, active and sgx 2015-12-22 16:23:08 -08:00
powerdomains7xx_data.c ARM: OMAP: dra7: powerdomain data: Register SoC specific powerdomains 2017-08-14 10:33:29 -07:00
powerdomains33xx_data.c
powerdomains43xx_data.c
powerdomains44xx_data.c
powerdomains54xx_data.c
prcm-common.h Merge branch 'omap-for-v4.14/fixes' into omap-for-v4.15/fixes-v2 2017-11-28 08:22:57 -08:00
prcm43xx.h ARM: AMx3xx: hwmod: Add data for RNG 2016-11-09 15:39:41 -07:00
prcm44xx.h
prcm_mpu7xx.h
prcm_mpu44xx.c ARM: OMAP2+: PRCM: store also physical addresses for instances 2017-06-06 00:13:51 -07:00
prcm_mpu44xx.h
prcm_mpu54xx.h
prcm_mpu_44xx_54xx.h ARM: OMAP2+: PRCM: store also physical addresses for instances 2017-06-06 00:13:51 -07:00
prm-regbits-24xx.h
prm-regbits-33xx.h
prm-regbits-34xx.h
prm-regbits-44xx.h
prm.h ARM: OMAP4: Remove legacy IRQ for PRM 2017-10-10 14:27:13 -07:00
prm2xxx.c
prm2xxx.h
prm2xxx_3xxx.c
prm2xxx_3xxx.h ARM: OMAP2+: PRCM: store also physical addresses for instances 2017-06-06 00:13:51 -07:00
prm3xxx.c ARM: OMAP3: Remove legacy IRQ for PRM 2017-10-10 14:27:06 -07:00
prm3xxx.h
prm7xx.h ARM: DRA7: hwmod: Add reset data for PCIe 2016-02-09 02:18:52 -07:00
prm33xx.c ARM: OMAP2+: Add functions to save and restore powerdomain context 2018-05-18 06:56:26 -07:00
prm33xx.h ARM: dts: am43xx: Remove wrongly defined RSTST offset for PER Domain 2016-06-22 03:33:25 -07:00
prm44xx.c ARM: OMAP2+: prm44xx: Inroduce cpu_pm notifiers for context save/restore 2018-05-18 06:59:29 -07:00
prm44xx.h
prm44xx_54xx.h
prm54xx.h
prm_common.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
prminst44xx.c ARM: OMAP2+: PRCM: store also physical addresses for instances 2017-06-06 00:13:51 -07:00
prminst44xx.h
scrm44xx.h
scrm54xx.h
sdrc.c
sdrc.h ARM: OMAP2+: Fix typo in sdrc.h 2016-06-10 04:17:07 -07:00
sdrc2xxx.c
serial.h
sleep24xx.S
sleep33xx.S ARM: OMAP2+: sleep33/43xx: Add RTC-Mode support 2018-07-09 23:01:34 -07:00
sleep34xx.S ARM: OMAP2+: Fix SRAM virt to phys translation for save_secure_ram_context 2017-11-28 07:03:26 -08:00
sleep43xx.S ARM: OMAP2+: sleep33/43xx: Add RTC-Mode support 2018-07-09 23:01:34 -07:00
sleep44xx.S ARM: OMAP2+: Use v7_invalidate_l1 in omap4_finish_suspend 2018-02-28 14:46:53 -08:00
smartreflex-class3.c
soc.h ARM: OMAP2+: dra762: Add support for device package identification 2017-12-21 07:04:10 -08:00
sr_device.c ARM: OMAP2+: Enable ti-sysc to use device tree data for smartreflex 2018-02-28 20:03:21 -08:00
sram.c ARM: OMAP3: clock: remove un-used core dpll re-program code 2015-10-14 12:35:27 -07:00
sram.h ARM: OMAP3: clock: remove un-used core dpll re-program code 2015-10-14 12:35:27 -07:00
sram242x.S
sram243x.S
ti81xx-restart.c
ti81xx.h
timer.c Late omap soc changes for v4.18 merge window 2018-05-25 15:23:25 -07:00
usb-tusb6010.c ARM: OMAP2+: Remove legacy muxing for usb-tusb6010.c 2016-11-10 12:42:15 -07:00
usb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vc.c ARM: remove duplicate 'const' annotations' 2017-05-19 10:12:55 +02:00
vc.h
vc3xxx_data.c
vc44xx_data.c
voltage.c ARM: OMAP2+: avoid NULL pointer dereference 2016-11-07 16:24:53 -07:00
voltage.h
voltagedomains2xxx_data.c
voltagedomains3xxx_data.c
voltagedomains44xx_data.c
voltagedomains54xx_data.c
vp.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vp.h
vp3xxx_data.c
vp44xx_data.c
wd_timer.c ARM: OMAP2+: Remove unused legacy code for watchdog 2017-06-08 04:15:10 -07:00
wd_timer.h