From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: [PATCH AUTOSEL 4.9 09/11] alpha: Declare virt_to_phys and virt_to_bus parameter as pointer to volatile Date: Wed, 22 Sep 2021 23:40:25 -0400 Message-ID: <20210923034028.1421876-9-sashal@kernel.org> References: <20210923034028.1421876-1-sashal@kernel.org> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1632368450; bh=t/erUJWZIbkUm0d3B7DgXzNLqzRKp/ba8B0aIr6qg5M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OHOl1Tu5AlcQ7Y9RA1tfHE8Flogfl6NztGXpaqG6enpHMHNMPR8GR4OsFL/d0gWVo PavbqK1Aj82rqrFidBCAxgiy44FrrDGFy9X07JK+jTCNopYxsXNZlNAEJTWArP85ld yqYuBfzpeCXOUM9Pd4m+klrS+HTiI2vrD+iKcQnuz8F9/VbqtTFpHvhRa6DlNy/7l6 R+CnL1EE2hb2qwJqKZrL8BniozfGDBgEdnDnz+7CsAzEWnInWMiJ7QQ0ODWcRdkMfr RMw0522AXWzsK1tsnP+RifydDZyAhSqP8pljpCXK4DFb/FuorZ065f2XSNLcozCHmy NOLg8HnOpwNfA== In-Reply-To: <20210923034028.1421876-1-sashal@kernel.org> List-ID: Content-Type: text/plain; charset="us-ascii" To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Guenter Roeck , Arnd Bergmann , Linus Torvalds , Sasha Levin , rth@twiddle.net, ink@jurassic.park.msu.ru, mattst88@gmail.com, david@redhat.com, geert@linux-m68k.org, mhocko@suse.com, linux-alpha@vger.kernel.org From: Guenter Roeck [ Upstream commit 35a3f4ef0ab543daa1725b0c963eb8c05e3376f8 ] Some drivers pass a pointer to volatile data to virt_to_bus() and virt_to_phys(), and that works fine. One exception is alpha. This results in a number of compile errors such as drivers/net/wan/lmc/lmc_main.c: In function 'lmc_softreset': drivers/net/wan/lmc/lmc_main.c:1782:50: error: passing argument 1 of 'virt_to_bus' discards 'volatile' qualifier from pointer target type drivers/atm/ambassador.c: In function 'do_loader_command': drivers/atm/ambassador.c:1747:58: error: passing argument 1 of 'virt_to_bus' discards 'volatile' qualifier from pointer target type Declare the parameter of virt_to_phys and virt_to_bus as pointer to volatile to fix the problem. Signed-off-by: Guenter Roeck Acked-by: Arnd Bergmann Signed-off-by: Linus Torvalds Signed-off-by: Sasha Levin --- arch/alpha/include/asm/io.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h index 355aec0867f4..e55a5e6ab460 100644 --- a/arch/alpha/include/asm/io.h +++ b/arch/alpha/include/asm/io.h @@ -60,7 +60,7 @@ extern inline void set_hae(unsigned long new_hae) * Change virtual addresses to physical addresses and vv. */ #ifdef USE_48_BIT_KSEG -static inline unsigned long virt_to_phys(void *address) +static inline unsigned long virt_to_phys(volatile void *address) { return (unsigned long)address - IDENT_ADDR; } @@ -70,7 +70,7 @@ static inline void * phys_to_virt(unsigned long address) return (void *) (address + IDENT_ADDR); } #else -static inline unsigned long virt_to_phys(void *address) +static inline unsigned long virt_to_phys(volatile void *address) { unsigned long phys = (unsigned long)address; @@ -111,7 +111,7 @@ static inline dma_addr_t __deprecated isa_page_to_bus(struct page *page) extern unsigned long __direct_map_base; extern unsigned long __direct_map_size; -static inline unsigned long __deprecated virt_to_bus(void *address) +static inline unsigned long __deprecated virt_to_bus(volatile void *address) { unsigned long phys = virt_to_phys(address); unsigned long bus = phys + __direct_map_base; -- 2.30.2