Re: [PATCH v2 1/1] fs: debugfs: fix build error at powerpc platform

From: Frank Li
Date: Mon Oct 02 2023 - 14:28:27 EST


On Mon, Oct 02, 2023 at 08:14:47PM +0200, Arnd Bergmann wrote:
> On Mon, Oct 2, 2023, at 16:57, Frank Li wrote:
> > ld: fs/debugfs/file.o: in function `debugfs_print_regs':
> > file.c:(.text+0x95a): undefined reference to `ioread64be'
> >>> ld: file.c:(.text+0x9dd): undefined reference to `ioread64'
> >
> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > Closes:
> > https://lore.kernel.org/oe-kbuild-all/202309291322.3pZiyosI-lkp@xxxxxxxxx/
> > Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> > ---
>
> I still think this is wrong, for the reasons I explained in
> https://lore.kernel.org/all/b795ed61-0174-487f-a263-8431e7c76af5@xxxxxxxxxxxxxxxx/
>
> The part that I had missed earlier is how this is
> related to GENERIC_IOMAP, since on those architectures,
> the ioread helpers are not just fixed-endian MMIO accessors
> like readl and readq but also multiplex to the PIO functions
> (inb/inw/inl) that do not have a 64-bit version because x86
> and PCI both only define those up to 32 bit width.
>
> The best workaround is probably to use readq() instead of
> ioread64(), or swab64(readl()) instead of ioread64_be().
>
> This should work on all 64-bit architectures, plus any 32-bit
> one that defines readq(), so you can just use an 'ifdef readq'
> around the call.

My previous patchs were dropped by vinod.
I think it'd better remove 64bit register at previous patch serise.

Let me create a seperate patch to enable 64bit register support for debug
fs.

Frank

>
> Arnd