Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933601AbbENQjn (ORCPT ); Thu, 14 May 2015 12:39:43 -0400 Received: from mail-bl2on0116.outbound.protection.outlook.com ([65.55.169.116]:42768 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932771AbbENQjm (ORCPT ); Thu, 14 May 2015 12:39:42 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; From: Cristian Stoica To: , , , , CC: , , "Cristian Stoica" Subject: [PATCH] powerpc: support sizes greater than an unsigned long Date: Thu, 14 May 2015 19:24:44 +0300 Message-ID: <1431620684-20123-1-git-send-email-cristian.stoica@freescale.com> X-Mailer: git-send-email 2.3.5 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD006;1:KuF5uxkaK7yG5yZQLS0l75CgDxh8NIgS7GP2brv0nvVgJxGL7Sm93jqTFCanWYlSi7nM6qdxbON1eoU6p304AhQZZOIB9/zL7pPw+v0oxNR5+nVmuWZItxw++KVMWqCMQFBAP88OP/cNFNoom2sxN2AOARV9xyJHff8DJ5QuOzvazn1CiluvcXPMgPr48+h4JWulaidZm3nLSDcByE4bmLECYD6bIvq4+IZYez08dds7nikVLs6ZKC7gWowRCc3vKa+yV1ej3uItfWUPkY2xKZBS6DOSOzr2LtQLdZv2ssntrtTlyaE3tHShciRC5LHQ6OQA4cLFZXLTBPZeS5YCWw== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(339900001)(199003)(189002)(189998001)(104016003)(107886002)(19580395003)(5001960100002)(19580405001)(48376002)(50466002)(33646002)(77096005)(105606002)(50226001)(6806004)(2201001)(87936001)(106466001)(36756003)(85426001)(46102003)(50986999)(92566002)(62966003)(77156002)(5001770100001)(47776003)(229853001)(4001430100001)(4001450100001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR03MB400;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:sfv;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB400;2:jBsl8gjk63hLx2MDI5FmNJUjJbiFwAHYCDVPJk9vQBfGM41C/5DWCAyrXOIMiqR0;2:xu67vP4C9/3AgEK6fVnNcQzLSZpuauLZELXqyBO454mC+MG3NK8UrUkXxUmom3FZDRhMm1dJzdCWlgaIl00XT0tq7ox5SFl9fqoUjxaD9YRh6q/sOIOfnkkWIO7rCLZUw7y94UV9Nu1kAOxgfHdDLwC/XWj1i1uGEpq0myd35Gje8RZTMEJlBjIP+y+Rjz5vkkJWH04w+PCJon+Qbl+ygHDpjBkbV1YSz7PJWLigZpQ=;6:F/ZTqhWW/TreOFtEEXt9rveJzoKYAuTlhv4ZBGaKSaN3zdNW9LZDLm92Hb6l+nqISni7SNh1ckSNo7HNOjCQU+qrKDCTMR5ZlfgLRfoNqEsIcTjcQSAuEdvEk0Ks8tOdifc04gmb+sMYjb4foZx1ez778mZkbyL9qMPkc/YyWHhxWIdmJxpoktZ2VE4VbJdbLpJggT6W31Kkfm+mrKPs9DY7lj+necgxWnt2oOe5mcKJZrTseen7e43K4YipxOlRPtOwY55y1za7tP/0yNEiHj8+OwdYUVPoBKUn2/J9ovWPec4hirMksqigEKncRP/W0632+puX1QFuCTPmG3B3hg==;3:rl0n6cs/JiCUxgC3Q0yKjsd5BPGRx0PinXvyMUgu6LasUuz8Wuob1bNLzj7xxU84d16PXpjmQIFuLIGfc1zPW4nbc8yzGURe8FaYdl38tUXPRZccdAPNYyxK8I8WLXpKLz2RrzLY4inn1NYJDfqZ1CjguvFjY7IgE+oMJe9PxACcMAGi1ozGKCX1tcT9L62ztzCQ0XTh/EavUxWFJTaivUpSfrwtcFaGt+BQzXMNMzbS1octSdDbF8ZegD6HH3LfpzZ0mfewlAizjI93DPlldgiW/uaolIEXoIBlNU9ih1U= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB400; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:DM2PR03MB400;BCL:0;PCL:0;RULEID:;SRVR:DM2PR03MB400; X-Forefront-PRVS: 0576145E86 X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB400;9:eKltmHyqUCzWsfWs7X1zqzg+oAdjPMJBPuRINFpZ7QloRqYBC+ZHK2rVT7IOnho+GqI6fkbOG4YNc61b+XIdNE+EgW6V25nDJeAH5a7n/BaX88BGScJwBnNX9DxQJOlLkBA//o4Drkbdj4FBak15YKI3TyN/ncdJaxD5eVh30iyPa4xV6/H04XWwILPTilxEF2e3tk3DiyqujHlPE+nDJNtA+yv2HG6VTPbPmeXsukQju58wGifMRT+3cnJCoWMDswlLVkfwh39QMUZ7sWVE85Oa7p5NlPrrRXhvFM7NREZ3zEqahAda8zUeEnjdD87PEQGG497/qgYuPP+X3BQO/w10AhDrvRFezg3Cki7Bok2AhGqAkwe/+W6fYNxLd+002gL2/N7JVwZBaUuwXaC0F1gNHOWMs1PKlMJolXg9M8bBcEA0ndKVH/engLxbgT7EU3Nv+zJ1EYmIOirdDMGvLRqZEkIZw9xnHzQHSjgC3Qvq3hPns/Vj/ozDAWHHFDSAJT6B5UkcPY15wMzOqpD+tOqT15o8OQjtIwdPnSL2ER4qWtG2QFb0l2gmnRYueUW2GPaKL39i4x3PgYsfKiZ76KSFE9/xyAtB9iYmjGtjtnN3NGQCvRE4AZdw6W+cgK7a3jil0q743HQI2Ysq0PS2Teja/sJlX3LmCQCXVBwgNWY3w2ZwXx8ADijcYcMS4PwssgWUFMIFf1QGC01GS+nvNRWekz024Vl0Is09L9IFbQUVu4YH3TxAxXpSleSkRPCB+ZlW35I7ki+guPNo1e1Fnyqvuef5VEOcuM7q+x+Od30dz1dcJZVY363uIADgJKBqrU6ZewaJ8gqPYLQtPXrrvS1hTEVuLbCK6uNJHw+PN7CoaKR65JwhWNwqK7YIezZN X-Microsoft-Exchange-Diagnostics: 1;DM2PR03MB400;3:dE9nmiWwlx8c0i1vlteY3k8/4I+OeAT1KfEOVup/7lxmkPBa5fj5tZ7lpR9aHb7+0GMAV+/WARmgdCvYrgpBQWfiakHUQpBRzfWEg3qZcJ4EWQQ3yX/QsxHc6VgGPbcaKVPGGvbA0sB80Glozd81yQ==;10:+bvWrW8ztug6AaaN4BriHhnDW0iZRu1nRY0TP6l3gc6MWFnHt79cLfaeO9Z5GXoqJ9zrvWxMxZ29Yv6xFedvdaoszcsuI3mrOwkPX6zskio=;6:nt1Yo2jXpPKmWi3RdrJh7Ww6uvdmYt8TT/8nPb0S6l3ZWhuVzeLLVKagwnLenwGf X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 May 2015 16:24:59.2224 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR03MB400 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4037 Lines: 101 Use resource_size_t to accommodate sizes greater than the size of an unsigned long int on platforms that have more than 32 bit physical addresses Signed-off-by: Cristian Stoica --- arch/powerpc/include/asm/io.h | 14 +++++++------- arch/powerpc/mm/pgtable_32.c | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h index a8d2ef3..749c66e 100644 --- a/arch/powerpc/include/asm/io.h +++ b/arch/powerpc/include/asm/io.h @@ -716,24 +716,24 @@ static inline void iosync(void) * be hooked (but can be used by a hook on iounmap) * */ -extern void __iomem *ioremap(phys_addr_t address, unsigned long size); -extern void __iomem *ioremap_prot(phys_addr_t address, unsigned long size, +extern void __iomem *ioremap(phys_addr_t address, resource_size_t size); +extern void __iomem *ioremap_prot(phys_addr_t address, resource_size_t size, unsigned long flags); -extern void __iomem *ioremap_wc(phys_addr_t address, unsigned long size); +extern void __iomem *ioremap_wc(phys_addr_t address, resource_size_t size); #define ioremap_nocache(addr, size) ioremap((addr), (size)) extern void iounmap(volatile void __iomem *addr); -extern void __iomem *__ioremap(phys_addr_t, unsigned long size, +extern void __iomem *__ioremap(phys_addr_t, resource_size_t size, unsigned long flags); -extern void __iomem *__ioremap_caller(phys_addr_t, unsigned long size, +extern void __iomem *__ioremap_caller(phys_addr_t, resource_size_t size, unsigned long flags, void *caller); extern void __iounmap(volatile void __iomem *addr); extern void __iomem * __ioremap_at(phys_addr_t pa, void *ea, - unsigned long size, unsigned long flags); -extern void __iounmap_at(void *ea, unsigned long size); + resource_size_t size, unsigned long flags); +extern void __iounmap_at(void *ea, resource_size_t size); /* * When CONFIG_PPC_INDIRECT_PIO is set, we use the generic iomap implementation diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c index 7692d1b..a7d5137 100644 --- a/arch/powerpc/mm/pgtable_32.c +++ b/arch/powerpc/mm/pgtable_32.c @@ -135,7 +135,7 @@ pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address) } void __iomem * -ioremap(phys_addr_t addr, unsigned long size) +ioremap(phys_addr_t addr, resource_size_t size) { return __ioremap_caller(addr, size, _PAGE_NO_CACHE | _PAGE_GUARDED, __builtin_return_address(0)); @@ -143,7 +143,7 @@ ioremap(phys_addr_t addr, unsigned long size) EXPORT_SYMBOL(ioremap); void __iomem * -ioremap_wc(phys_addr_t addr, unsigned long size) +ioremap_wc(phys_addr_t addr, resource_size_t size) { return __ioremap_caller(addr, size, _PAGE_NO_CACHE, __builtin_return_address(0)); @@ -151,7 +151,7 @@ ioremap_wc(phys_addr_t addr, unsigned long size) EXPORT_SYMBOL(ioremap_wc); void __iomem * -ioremap_prot(phys_addr_t addr, unsigned long size, unsigned long flags) +ioremap_prot(phys_addr_t addr, resource_size_t size, unsigned long flags) { /* writeable implies dirty for kernel addresses */ if ((flags & (_PAGE_RW | _PAGE_RO)) != _PAGE_RO) @@ -173,13 +173,13 @@ ioremap_prot(phys_addr_t addr, unsigned long size, unsigned long flags) EXPORT_SYMBOL(ioremap_prot); void __iomem * -__ioremap(phys_addr_t addr, unsigned long size, unsigned long flags) +__ioremap(phys_addr_t addr, resource_size_t size, unsigned long flags) { return __ioremap_caller(addr, size, flags, __builtin_return_address(0)); } void __iomem * -__ioremap_caller(phys_addr_t addr, unsigned long size, unsigned long flags, +__ioremap_caller(phys_addr_t addr, resource_size_t size, unsigned long flags, void *caller) { unsigned long v, i; -- 2.3.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/