[PATCH v2 1/5] sysreset: qemu virt: Use __raw_writel()
Angelo Dureghello
angelo at kernel-space.org
Wed Apr 8 14:15:14 CEST 2026
Hi,
On 4/6/26 16:24, Daniel Palmer wrote:
> The virt ctrl register seems to be native endian, currently this driver
> uses writel(), which works by luck because its currently broken on m68k.
>
Still not clear why writel should be currently broken, it works
fine in bigendian for m68k.
> Use __raw_writel() instead to avoid breaking this driver when the
> endianness of writel() is fixed.
>
> Signed-off-by: Daniel Palmer <daniel at thingy.jp>
> ---
> drivers/sysreset/sysreset_qemu_virt_ctrl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/sysreset/sysreset_qemu_virt_ctrl.c b/drivers/sysreset/sysreset_qemu_virt_ctrl.c
> index e7cacc9b6e98..5ab16001922b 100644
> --- a/drivers/sysreset/sysreset_qemu_virt_ctrl.c
> +++ b/drivers/sysreset/sysreset_qemu_virt_ctrl.c
> @@ -38,7 +38,7 @@ static int qemu_virt_ctrl_request(struct udevice *dev, enum sysreset_t type)
> return -EPROTONOSUPPORT;
> }
>
> - writel(val, plat->reg + VIRT_CTRL_REG_CMD);
> + __raw_writel(val, plat->reg + VIRT_CTRL_REG_CMD);
>
> return -EINPROGRESS;
> }
Regards,
-- Angelo
More information about the U-Boot
mailing list