Re: [PATCH 0/5] PM / devfreq: remove modular references from non-modules

From: Chanwoo Choi
Date: Tue Jun 21 2016 - 02:29:47 EST


Hi Paul,

It is good for devfreq/devfreq-event framework(patch1/patch2).

But, I think that the device driver (patch3/4/5) should change
the type from 'bool' to 'tristate' instead of using the .

Thanks,
Chanwoo Choi

On 2016ë 06ì 21ì 14:14, Paul Gortmaker wrote:
> For anyone new to the underlying goal of this cleanup, we are trying to
> not use module support for code that can never be built as a module since:
>
> (1) it is easy to accidentally write unused module_exit and remove code
> (2) it can be misleading when reading the source, thinking it can be
> modular when the Makefile and/or Kconfig prohibit it
> (3) it requires the include of the module.h header file which in turn
> includes nearly everything else, thus adding to CPP overhead.
> (4) it gets copied/replicated into other code and spreads like weeds.
>
> We have already merged over 100 of these for mainline to date, so there
> is really nothing new to see here, in terms of the type of change.
>
> That said, devfreq changes seen here cover the following categories:
>
> -just replacement of modular macros with their non-modular
> equivalents that CPP would have inserted anyway
>
> -the removal of including module.h ; replaced with init.h
> and/or export.h as required based on whether the file used it.
>
> -the removal of any/all unused/orphaned __exit functions that
> would never be called.
>
> -the removal of any ".remove" functions that were hooked into
> the driver struct. This ".remove" function would of
> course not be called from the __exit function since that was
> never run. However in theory, someone could have triggered it
> via sysfs unbind, even though there isn't a sensible use case
> for doing so. So to cover that possibility, we've also disabled
> sysfs unbind in the driver.
>
> There are no initcall level changes here; everything stays at the level
> of initcall it was previously - either by not using modular versions to
> begin with, or by using the builtin level equivalents.
>
> Build tested for arm and arm64 allmodconfig (for which all the drivers
> touched here get coverage) on the linux-next tree from today to ensure
> no silly typos crept in.
>
> If there is a desire for any of these to be modular, we can definitely
> consider that, but by default the changes here keep the code consistent
> with existing behaviour. Thus I do not expand functionality into the
> modular realm that I can't run time test, or even know if the modular
> instance has a sensible modular use case.
>
> Paul.
> ---
>
> Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
> Cc: Kukjin Kim <kgene@xxxxxxxxxx>
> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
> Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
> Cc: linux-pm@xxxxxxxxxxxxxxx
> Cc: linux-samsung-soc@xxxxxxxxxxxxxxx
>
>
> Paul Gortmaker (5):
> PM / devfreq: make devfreq explicitly non-modular
> PM / devfreq: make devfreq-event explicitly non-modular
> PM / devfreq: make exynos-bus explicitly non-modular
> PM / devfreq: make event/exynos-nocp explicitly non-modular
> PM / devfreq: make event/exynos-ppmu explicitly non-modular
>
> drivers/devfreq/devfreq-event.c | 12 +-----------
> drivers/devfreq/devfreq.c | 13 +------------
> drivers/devfreq/event/exynos-nocp.c | 19 +++----------------
> drivers/devfreq/event/exynos-ppmu.c | 8 ++------
> drivers/devfreq/exynos-bus.c | 9 ++-------
> 5 files changed, 9 insertions(+), 52 deletions(-)
>