On Mon, Aug 14, 2023 at 2:37 PM Michael Ellerman [off-list ref] wrote:
quoted
+static inline const void *pfn_to_kaddr(unsigned long pfn)
+{
+ return (const void *)(((unsigned long)__va(pfn)) << PAGE_SHIFT);
Any reason to do it this way rather than:
+ return __va(pfn << PAGE_SHIFT);
Seems to be equivalent and much cleaner?
I was afraid of changing the semantic in the original macro
which converts to a virtual address before shifting, instead
of shifting first, but you're right, I'm too cautious. I'll propose
the elegant solution from you & Christophe instead!
Yours,
Linus Walleij