27.10.2020 12:42, Krzysztof Kozlowski пишет:
On Mon, Oct 26, 2020 at 01:17:11AM +0300, Dmitry Osipenko wrote:
Multiple Tegra drivers need to retrieve Memory Controller and there is duplication of the retrieval code among the drivers. This patch removes the duplication and fixes put_device() which was missed in the duplicated code.
EMC drivers now use new common devm_tegra_get_memory_controller() helper instead of opencoding the MC retrieval.
Signed-off-by: Dmitry Osipenko digetx@gmail.com
drivers/memory/tegra/mc.c | 48 ++++++++++++++++++++++++ drivers/memory/tegra/tegra124-emc.c | 18 ++------- drivers/memory/tegra/tegra210-emc-core.c | 39 +++++-------------- drivers/memory/tegra/tegra30-emc.c | 18 ++------- include/soc/tegra/mc.h | 10 +++++ 5 files changed, 74 insertions(+), 59 deletions(-)
diff --git a/drivers/memory/tegra/mc.c b/drivers/memory/tegra/mc.c index ec8403557ed4..12ea2c79205a 100644 --- a/drivers/memory/tegra/mc.c +++ b/drivers/memory/tegra/mc.c @@ -42,6 +42,54 @@ static const struct of_device_id tegra_mc_of_match[] = { }; MODULE_DEVICE_TABLE(of, tegra_mc_of_match);
+static void tegra_mc_devm_action_put_device(void *data) +{
- struct tegra_mc *mc = data;
- put_device(mc->dev);
+}
+/**
- devm_tegra_get_memory_controller() - get Tegra Memory Controller handle
- @dev: device pointer for the consumer device
- This function will search for the Memory Controller node in a device-tree
- and retrieve the Memory Controller handle.
- Return: ERR_PTR() on error or a valid pointer to a struct tegra_mc.
- */
+struct tegra_mc *devm_tegra_get_memory_controller(struct device *dev)
Usually 'get' is a suffix (for example in clk, gpiod, iio, led), so: devm_tegra_memory_controller_get()
Alright, I'll rename it in v7.