Re: [PATCH] irqchip/irq-realtek-rtl: change to __raw reads and writes

From: Rustam Adilov

Date: Wed Jul 15 2026 - 14:42:08 EST


On 2026-07-15 07:10, Thomas Gleixner wrote:
> On Sat, Jul 11 2026 at 13:23, Rustam Adilov wrote:
>
>> To make the interrupt driver operable with SWAP_IO_SPACE
>> config enabled, replace all instances of readl/writel with
>> their __raw variants. Otherwise readl/writel will do a byte
>> swap which this driver does not intend to do.
>
> Sorry, but this word salad does not qualify as a change log. See
>
> https://docs.kernel.org/process/maintainer-tip.html#changelog
>
> First you want to explain what the context:
>
> When CONFIG_SWAP_IO_SPACE is enabled readl() and writel() imply a byte
> swap.
>
> Then you want to explain why this is not correct for this
> driver/hardware. Just saying 'does not intend to do' contains zero
> information:
>
> This is incorrect for the RTL driver, because <Insert proper technical explanation>
>
> Then you tell how you cure it:
>
> Fix this by converting the MMIO accesses to __raw_readl() and
> __raw_writel(), which do not byte swap the data.

Thanks for the review,

Honestly my bad for not thinking a bit more on the commit message.
That does mean i will have to change commit message in another patch
as well as it is a essentially an almost copy of this one...

Either way, would this commit message work?

When CONFIG_SWAP_IO_SPACE is enabled, readl() and writel() are
changed to perform a byte swap to little endian type. This is
incorrect because the devices that use the irq-realtek-rtl driver
are all big endian MIPS chips.

Fix this by converting the MMIO accesses to __raw_readl() and
__raw_writel(), which do not byte swap the data.

I think just saying "big endian MIPS" should be enough info to tell
why byte swapping to "little endian type" (dunno how know else to
describe the __le type) is an issue.

> Thanks,
>
> tglx

Best,
Rustam