brintos

brintos / linux-shallow public Read only

0
0
Text · 717 B · 31befd7 Raw
31 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2/*3 * Copyright (C) 2021-2022 Digiteq Automotive4 *     author: Martin Tuma <martin.tuma@digiteqautomotive.com>5 */6 7#include <linux/ioport.h>8#include "mgb4_regs.h"9 10int mgb4_regs_map(struct resource *res, struct mgb4_regs *regs)11{12	regs->mapbase = res->start;13	regs->mapsize = resource_size(res);14 15	if (!request_mem_region(regs->mapbase, regs->mapsize, res->name))16		return -EINVAL;17	regs->membase = ioremap(regs->mapbase, regs->mapsize);18	if (!regs->membase) {19		release_mem_region(regs->mapbase, regs->mapsize);20		return -EINVAL;21	}22 23	return 0;24}25 26void mgb4_regs_free(struct mgb4_regs *regs)27{28	iounmap(regs->membase);29	release_mem_region(regs->mapbase, regs->mapsize);30}31