Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8270249f authored by Chen-Yu Tsai's avatar Chen-Yu Tsai Committed by Maxime Ripard
Browse files

drm/sun4i: backend: Create regmap after access is possible



The backend has various clocks and reset controls that need to be
enabled and deasserted before register access is possible.

Move the creation of the regmap to after the clocks and reset controls
have been configured where it makes more sense.

Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171014040252.9621-3-wens@csie.org
parent e8afb7b6
Loading
Loading
Loading
Loading
+7 −7
Original line number Original line Diff line number Diff line
@@ -369,13 +369,6 @@ static int sun4i_backend_bind(struct device *dev, struct device *master,
	if (IS_ERR(regs))
	if (IS_ERR(regs))
		return PTR_ERR(regs);
		return PTR_ERR(regs);


	backend->engine.regs = devm_regmap_init_mmio(dev, regs,
						     &sun4i_backend_regmap_config);
	if (IS_ERR(backend->engine.regs)) {
		dev_err(dev, "Couldn't create the backend regmap\n");
		return PTR_ERR(backend->engine.regs);
	}

	backend->reset = devm_reset_control_get(dev, NULL);
	backend->reset = devm_reset_control_get(dev, NULL);
	if (IS_ERR(backend->reset)) {
	if (IS_ERR(backend->reset)) {
		dev_err(dev, "Couldn't get our reset line\n");
		dev_err(dev, "Couldn't get our reset line\n");
@@ -421,6 +414,13 @@ static int sun4i_backend_bind(struct device *dev, struct device *master,
		}
		}
	}
	}


	backend->engine.regs = devm_regmap_init_mmio(dev, regs,
						     &sun4i_backend_regmap_config);
	if (IS_ERR(backend->engine.regs)) {
		dev_err(dev, "Couldn't create the backend regmap\n");
		return PTR_ERR(backend->engine.regs);
	}

	list_add_tail(&backend->engine.list, &drv->engine_list);
	list_add_tail(&backend->engine.list, &drv->engine_list);


	/* Reset the registers */
	/* Reset the registers */