Skip to content

Commit 35a3f4e

Browse files
groecktorvalds
authored andcommitted
alpha: Declare virt_to_phys and virt_to_bus parameter as pointer to volatile
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 <linux@roeck-us.net> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent db71f8f commit 35a3f4e

File tree

1 file changed

+3
-3
lines changed
  • arch/alpha/include/asm

1 file changed

+3
-3
lines changed

arch/alpha/include/asm/io.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ extern inline void set_hae(unsigned long new_hae)
6060
* Change virtual addresses to physical addresses and vv.
6161
*/
6262
#ifdef USE_48_BIT_KSEG
63-
static inline unsigned long virt_to_phys(void *address)
63+
static inline unsigned long virt_to_phys(volatile void *address)
6464
{
6565
return (unsigned long)address - IDENT_ADDR;
6666
}
@@ -70,7 +70,7 @@ static inline void * phys_to_virt(unsigned long address)
7070
return (void *) (address + IDENT_ADDR);
7171
}
7272
#else
73-
static inline unsigned long virt_to_phys(void *address)
73+
static inline unsigned long virt_to_phys(volatile void *address)
7474
{
7575
unsigned long phys = (unsigned long)address;
7676

@@ -106,7 +106,7 @@ static inline void * phys_to_virt(unsigned long address)
106106
extern unsigned long __direct_map_base;
107107
extern unsigned long __direct_map_size;
108108

109-
static inline unsigned long __deprecated virt_to_bus(void *address)
109+
static inline unsigned long __deprecated virt_to_bus(volatile void *address)
110110
{
111111
unsigned long phys = virt_to_phys(address);
112112
unsigned long bus = phys + __direct_map_base;

0 commit comments

Comments
 (0)