3
0
Fork 0
forked from mirrors/linux
kernel/arch/sh/boards
Ryan Roberts 86758b5048 mm/ioremap: pass pgprot_t to ioremap_prot() instead of unsigned long
ioremap_prot() currently accepts pgprot_val parameter as an unsigned long,
thus implicitly assuming that pgprot_val and pgprot_t could never be
bigger than unsigned long.  But this assumption soon will not be true on
arm64 when using D128 pgtables.  In 128 bit page table configuration,
unsigned long is 64 bit, but pgprot_t is 128 bit.

Passing platform abstracted pgprot_t argument is better as compared to
size based data types.  Let's change the parameter to directly pass
pgprot_t like another similar helper generic_ioremap_prot().

Without this change in place, D128 configuration does not work on arm64 as
the top 64 bits gets silently stripped when passing the protection value
to this function.

Link: https://lkml.kernel.org/r/20250218101954.415331-1-anshuman.khandual@arm.com
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
Co-developed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com> [arm64]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-03-16 22:06:23 -07:00
..
mach-ap325rxa mfd: tmio: Move header to platform_data 2024-07-09 10:40:29 +01:00
mach-dreamcast sh: dreamcast: Fix GAPS PCI bridge addressing 2024-05-13 09:13:26 +02:00
mach-ecovec24 mfd: tmio: Move header to platform_data 2024-07-09 10:40:29 +01:00
mach-highlander sh: mach-highlander: Add missing #include <mach/highlander.h> 2024-05-02 12:01:31 +02:00
mach-hp6xx sh: boards: convert to SPDX identifiers 2018-12-28 12:11:44 -08:00
mach-kfr2r09 mfd: tmio: Move header to platform_data 2024-07-09 10:40:29 +01:00
mach-landisk mm/ioremap: pass pgprot_t to ioremap_prot() instead of unsigned long 2025-03-16 22:06:23 -07:00
mach-lboxre2 mm/ioremap: pass pgprot_t to ioremap_prot() instead of unsigned long 2025-03-16 22:06:23 -07:00
mach-migor mfd: tmio: Move header to platform_data 2024-07-09 10:40:29 +01:00
mach-r2d sh: mach-r2d: Handle virq offset in cascaded IRL demux 2023-07-13 08:37:26 +02:00
mach-rsk sh: boards: convert to SPDX identifiers 2018-12-28 12:11:44 -08:00
mach-sdk7780 sh: boards: convert to SPDX identifiers 2018-12-28 12:11:44 -08:00
mach-sdk7786 remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
mach-se mfd: tmio: Move header to platform_data 2024-07-09 10:40:29 +01:00
mach-sh03 mm/ioremap: pass pgprot_t to ioremap_prot() instead of unsigned long 2025-03-16 22:06:23 -07:00
mach-sh7763rdp sh: mach-sh7763rdp: Assign FB_MODE_IS_UNKNOWN to struct fb_videomode.flag 2023-07-24 16:50:38 +02:00
mach-x3proto sh: mach-x3proto: Add missing #include <linux/gpio/driver.h> 2023-03-23 16:22:18 +02:00
board-apsh4a3a.c treewide: replace #include <asm/sizes.h> with #include <linux/sizes.h> 2019-05-14 19:52:52 -07:00
board-apsh4ad0a.c treewide: replace #include <asm/sizes.h> with #include <linux/sizes.h> 2019-05-14 19:52:52 -07:00
board-edosk7705.c treewide: replace #include <asm/sizes.h> with #include <linux/sizes.h> 2019-05-14 19:52:52 -07:00
board-edosk7760.c treewide: replace #include <asm/sizes.h> with #include <linux/sizes.h> 2019-05-14 19:52:52 -07:00
board-espt.c treewide: replace #include <asm/sizes.h> with #include <linux/sizes.h> 2019-05-14 19:52:52 -07:00
board-magicpanelr2.c gpiolib: remove empty asm/gpio.h files 2023-03-06 12:33:01 +02:00
board-polaris.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
board-secureedge5410.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
board-sh2007.c sh: sh2007: Modernize printing of kernel messages 2020-08-14 22:05:10 -04:00
board-sh7757lcr.c mfd: tmio: Move header to platform_data 2024-07-09 10:40:29 +01:00
board-sh7785lcr.c sh: sh7785lcr: Make init_sh7785lcr_IRQ() static 2024-05-02 12:01:32 +02:00
board-shmin.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
board-titan.c sh: boards: convert to SPDX identifiers 2018-12-28 12:11:44 -08:00
board-urquell.c treewide: replace #include <asm/sizes.h> with #include <linux/sizes.h> 2019-05-14 19:52:52 -07:00
Kconfig sh: boards: Use imply to enable hardware with complex dependencies 2025-02-01 10:44:06 +01:00
Makefile sh: Remove stale microdev board 2023-10-25 16:48:06 +02:00
of-generic.c sh: of-generic: Add missing #include <asm/clock.h> 2024-05-13 15:37:11 +02:00