mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
sysreset: qemu virt: Use map_sysmem()
In the platform data there is a phys_addr_t (an integer) for the address of the register and we pass that as-is into writel() which is fine in most places because we don't need to do any mapping and the macro for writel() does a cast to a pointer. If writel() is a static inline function the address argument is a pointer so passing it in as an integer without casting it first causes warnings or build failure. map_sysmem() handles the casting part and if phys_addr_t is 32bits when on a 64bit machine. Signed-off-by: Daniel Palmer <daniel@thingy.jp> Acked-by: Kuan-Wei Chiu <visitorckw@gmail.com>
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include <dm.h>
|
||||
#include <qemu_virt_ctrl.h>
|
||||
#include <sysreset.h>
|
||||
#include <mapmem.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
@@ -24,6 +25,7 @@
|
||||
static int qemu_virt_ctrl_request(struct udevice *dev, enum sysreset_t type)
|
||||
{
|
||||
struct qemu_virt_ctrl_plat *plat = dev_get_plat(dev);
|
||||
void __iomem *reg = map_sysmem(plat->reg + VIRT_CTRL_REG_CMD, 0x4);
|
||||
u32 val;
|
||||
|
||||
switch (type) {
|
||||
@@ -38,7 +40,7 @@ static int qemu_virt_ctrl_request(struct udevice *dev, enum sysreset_t type)
|
||||
return -EPROTONOSUPPORT;
|
||||
}
|
||||
|
||||
writel(val, plat->reg + VIRT_CTRL_REG_CMD);
|
||||
writel(val, reg);
|
||||
|
||||
return -EINPROGRESS;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user