Commit 6cc884c1 authored by Thierry Reding's avatar Thierry Reding Committed by Krzysztof Kozlowski
Browse files

memory: tegra: Introduce struct tegra_mc_ops



Subsequent patches will introduce further callbacks, so create a new
struct tegra_mc_ops to collect all of them in a single place. Move the
existing ->init() callback into the new structure.

Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20210602163302.120041-4-thierry.reding@gmail.com


Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
parent e8999938
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -829,8 +829,8 @@ static int tegra_mc_probe(struct platform_device *pdev)

	mc->debugfs.root = debugfs_create_dir("mc", NULL);

	if (mc->soc->init) {
		err = mc->soc->init(mc);
	if (mc->soc->ops && mc->soc->ops->init) {
		err = mc->soc->ops->init(mc);
		if (err < 0)
			dev_err(&pdev->dev, "failed to initialize SoC driver: %d\n",
				err);
+5 −1
Original line number Diff line number Diff line
@@ -687,6 +687,10 @@ static int tegra20_mc_init(struct tegra_mc *mc)
	return 0;
}

static const struct tegra_mc_ops tegra20_mc_ops = {
	.init = tegra20_mc_init,
};

const struct tegra_mc_soc tegra20_mc_soc = {
	.clients = tegra20_mc_clients,
	.num_clients = ARRAY_SIZE(tegra20_mc_clients),
@@ -698,5 +702,5 @@ const struct tegra_mc_soc tegra20_mc_soc = {
	.resets = tegra20_mc_resets,
	.num_resets = ARRAY_SIZE(tegra20_mc_resets),
	.icc_ops = &tegra20_mc_icc_ops,
	.init = tegra20_mc_init,
	.ops = &tegra20_mc_ops,
};
+5 −2
Original line number Diff line number Diff line
@@ -169,6 +169,10 @@ struct tegra_mc_icc_ops {
						void *data);
};

struct tegra_mc_ops {
	int (*init)(struct tegra_mc *mc);
};

struct tegra_mc_soc {
	const struct tegra_mc_client *clients;
	unsigned int num_clients;
@@ -190,8 +194,7 @@ struct tegra_mc_soc {
	unsigned int num_resets;

	const struct tegra_mc_icc_ops *icc_ops;

	int (*init)(struct tegra_mc *mc);
	const struct tegra_mc_ops *ops;
};

struct tegra_mc {