Messages in this thread | | | Subject | Re: [tip:x86/headers] x86: fix "__udivdi3" [drivers/scsi/aha1542.ko] undefined | From | James Bottomley <> | Date | Fri, 13 Feb 2009 15:36:19 -0600 |
| |
On Fri, 2009-02-13 at 12:14 -0800, H. Peter Anvin wrote: > James Bottomley wrote: > > arch/x86/include/asm/io.h | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h > > index e5a2ab4..4f8e820 100644 > > --- a/arch/x86/include/asm/io.h > > +++ b/arch/x86/include/asm/io.h > > @@ -125,7 +125,7 @@ static inline void *phys_to_virt(phys_addr_t address) > > /* > > * ISA I/O bus memory addresses are 1:1 with the physical address. > > */ > > -#define isa_virt_to_bus virt_to_phys > > +#define isa_virt_to_bus (unsigned long)virt_to_phys > > #define isa_page_to_bus page_to_phys > > #define isa_bus_to_virt phys_to_virt > > > > This changes one token to multiple, and not even with the highest > precedence.
Yes, well, it was just a verifying patch, really.
> It needs to be something like: > > #define isa_virt_to_bus(x) ((unsigned int)virt_to_phys(x)) > > ... if we're going to do that.
Actually, it probably wants to become a static inline ... that way the compiler can always verify the promotion and truncation is legal regardless of whether an actual user is compiled or not.
James
| |