Use the devm version of memremap so that we can delete the unmapping code in driver remove, but more importantly so that we can unmap this memory region if memconsole_sysfs_init() errors out for some reason.
Cc: Wei-Ning Huang <wnhu...@chromium.org> Cc: Julius Werner <jwer...@chromium.org> Cc: Brian Norris <briannor...@chromium.org> Cc: Samuel Holland <sam...@sholland.org> Cc: Guenter Roeck <gro...@chromium.org> Signed-off-by: Stephen Boyd <swb...@chromium.org> --- drivers/firmware/google/memconsole-coreboot.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/firmware/google/memconsole-coreboot.c b/drivers/firmware/google/memconsole-coreboot.c index 86331807f1d5..0b29b27b86f5 100644 --- a/drivers/firmware/google/memconsole-coreboot.c +++ b/drivers/firmware/google/memconsole-coreboot.c @@ -85,7 +85,7 @@ static int memconsole_probe(struct coreboot_device *dev) /* Read size only once to prevent overrun attack through /dev/mem. */ cbmem_console_size = tmp_cbmc->size_dont_access_after_boot; - cbmem_console = memremap(dev->cbmem_ref.cbmem_addr, + cbmem_console = devm_memremap(&dev->dev, dev->cbmem_ref.cbmem_addr, cbmem_console_size + sizeof(*cbmem_console), MEMREMAP_WB); memunmap(tmp_cbmc); @@ -102,9 +102,6 @@ static int memconsole_remove(struct coreboot_device *dev) { memconsole_exit(); - if (cbmem_console) - memunmap(cbmem_console); - return 0; } -- Sent by a computer through tubes