Patch "alpha: Declare virt_to_phys and virt_to_bus parameter as pointer to volatile" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    alpha: Declare virt_to_phys and virt_to_bus parameter as pointer to volatile

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     alpha-declare-virt_to_phys-and-virt_to_bus-parameter.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 604671ed05bbc253678181f8a34658f7e951912f
Author: Guenter Roeck <linux@xxxxxxxxxxxx>
Date:   Wed Sep 8 22:00:33 2021 -0700

    alpha: Declare virt_to_phys and virt_to_bus parameter as pointer to volatile
    
    [ 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 <linux@xxxxxxxxxxxx>
    Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
    Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h
index 103270d5a9fc..66a384a4ddba 100644
--- a/arch/alpha/include/asm/io.h
+++ b/arch/alpha/include/asm/io.h
@@ -61,7 +61,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;
 }
@@ -71,7 +71,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;
 
@@ -107,7 +107,7 @@ static inline void * phys_to_virt(unsigned long address)
 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;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux