30.09.2020 19:03, Thierry Reding пишет: > On Wed, Sep 30, 2020 at 06:53:06PM +0300, Dmitry Osipenko wrote: >> 30.09.2020 18:23, Thierry Reding пишет: >>> On Wed, Sep 30, 2020 at 01:42:56AM -0700, Nicolin Chen wrote: >>>> From: Dmitry Osipenko <digetx@xxxxxxxxx> >>>> >>>> Multiple Tegra drivers need to retrieve Memory Controller and hence there >>>> is quite some duplication of the retrieval code among the drivers. Let's >>>> add a new common helper for the retrieval of the MC. >>>> >>>> Signed-off-by: Dmitry Osipenko <digetx@xxxxxxxxx> >>>> Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> >>>> --- >>>> >>>> Changelog >>>> v2->v3: >>>> * Replaced with Dimtry's devm_tegra_get_memory_controller() >>>> v1->v2: >>>> * N/A >>>> >>>> drivers/memory/tegra/mc.c | 39 +++++++++++++++++++++++++++++++++++++++ >>>> include/soc/tegra/mc.h | 17 +++++++++++++++++ >>>> 2 files changed, 56 insertions(+) >>> >>> Let's not add this helper, please. If a device needs a reference to the >>> memory controller, it should have a phandle to the memory controller in >>> device tree so that it can be looked up explicitly. >>> >>> Adding this helper is officially sanctioning that it's okay not to have >>> that reference and that's a bad idea. >> >> And please explain why it's a bad idea, I don't see anything bad here at >> all. > > Well, you said yourself in a recent comment that we should avoid global > variables. devm_tegra_get_memory_controller() is nothing but a glorified > global variable. This is not a variable, but a common helper function which will remove the duplicated code and will help to avoid common mistakes like a missed put_device().