mux: mmio: Support "reg-mux" compatible

With "reg-mux" compatible the driver no longer expects the parent
device to be a syscon type. It uses it's own regmux.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
This commit is contained in:
Roger Quadros 2024-09-18 16:49:21 +03:00 committed by Tom Rini
parent c97ada2dc6
commit 8e7a7ffec6

View file

@ -31,6 +31,7 @@ static const struct mux_control_ops mux_mmio_ops = {
static const struct udevice_id mmio_mux_of_match[] = {
{ .compatible = "mmio-mux" },
{ .compatible = "reg-mux" },
{ /* sentinel */ },
};
@ -45,7 +46,11 @@ static int mmio_mux_probe(struct udevice *dev)
int ret;
int i;
regmap = syscon_node_to_regmap(dev_ofnode(dev->parent));
if (ofnode_device_is_compatible(dev_ofnode(dev), "mmio-mux"))
regmap = syscon_node_to_regmap(dev_ofnode(dev->parent));
else
regmap_init_mem(dev_ofnode(dev), &regmap);
if (IS_ERR(regmap)) {
ret = PTR_ERR(regmap);
dev_err(dev, "failed to get regmap: %d\n", ret);