From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753033AbcFUG3p (ORCPT ); Tue, 21 Jun 2016 02:29:45 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:40152 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751596AbcFUG3l (ORCPT ); Tue, 21 Jun 2016 02:29:41 -0400 MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 X-AuditID: cbfee68e-f79266d000001428-22-5768dbdd4921 Content-transfer-encoding: 8BIT Message-id: <5768DBDD.6030704@samsung.com> Date: Tue, 21 Jun 2016 15:17:01 +0900 From: Chanwoo Choi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 To: Paul Gortmaker , linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski , Kukjin Kim , Kyungmin Park , MyungJoo Ham , linux-pm@vger.kernel.org, linux-samsung-soc@vger.kernel.org Subject: Re: [PATCH 0/5] PM / devfreq: remove modular references from non-modules References: <20160621051501.18396-1-paul.gortmaker@windriver.com> In-reply-to: <20160621051501.18396-1-paul.gortmaker@windriver.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrAIsWRmVeSWpSXmKPExsWyRsSkUPfu7Yxwg8vzLSxevzC06H/8mtni bNMbdovLu+awWXzuPcJoMeP8PiaL240r2Cyu7T3O7MDhsWlVJ5tH35ZVjB6fN8l5rN+ylSmA JYrLJiU1J7MstUjfLoErY8Yf7oJdMhUfdrQyNjDuFOti5OSQEDCR2H70ASOELSZx4d56ti5G Lg4hgRWMEmem7GWEKbr15SMjRGIWo8SEjaeZQBK8AoISPybfY+li5OBgFpCXOHIpGyTMLKAu MWneImaI+geMEiuOPgWr4RXQknj8RxGkhkVAVeLlhLVg89mAwvtf3GADKREViJDoPlEJEhYR 8JfYvmENO8gYZoHnjBIPJyxhAUkICwRLbH74ngVi/nRGiTdPvoMN4hRwkjiy5DDYYgmBa+wS F2Z8YYLYJiDxbfIhsCMkBGQlNh1ghnhMUuLgihssExjFZiF5ZxbCO7OQvLOAkXkVo2hqQXJB cVJ6kZFecWJucWleul5yfu4mRmDEnf73rG8H480D1ocYBTgYlXh4FfQzwoVYE8uKK3MPMZoC HTGRWUo0OR8Y13kl8YbGZkYWpiamxkbmlmZK4rwJUj+DhQTSE0tSs1NTC1KL4otKc1KLDzEy cXBKNTA6bnhq5Pt0w/V935+em5I59/PV8/XSm+dmshUtcvbUdTGZZLw0l69izZntnvMfBZuo m+2u4zm0Keup6dLFGVctkjKlf9t992Bx43vFcrJnSneBR/XMcKeE6jsfP/PpxVc/nM7nfsaT neWowrnj986Zn3w64bxU8c8J8+InrNt9mb3b5ar4K7UIJZbijERDLeai4kQA5++t3bMCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLIsWRmVeSWpSXmKPExsVy+t9jQd27tzPCDd4tMrJ4/cLQov/xa2aL s01v2C0u75rDZvG59wijxYzz+5gsbjeuYLO4tvc4swOHx6ZVnWwefVtWMXp83iTnsX7LVqYA lqgGRpuM1MSU1CKF1Lzk/JTMvHRbJe/geOd4UzMDQ11DSwtzJYW8xNxUWyUXnwBdt8wcoDOU FMoSc0qBQgGJxcVK+naYJoSGuOlawDRG6PqGBMH1GBmggYQ1jBkz/nAX7JKp+LCjlbGBcadY FyMnh4SAicStLx8ZIWwxiQv31rN1MXJxCAnMYpSYsPE0E0iCV0BQ4sfkeyxdjBwczALyEkcu ZYOEmQXUJSbNW8QMUf+AUWLF0adgNbwCWhKP/yiC1LAIqEq8nLAWbD4bUHj/ixtsICWiAhES 3ScqQcIiAv4S2zesYQcZwyzwnFHi4YQlLCAJYYFgic0P37NAzJ/OKPHmyXewQZwCThJHlhxm nsAIdCXCebMQzpuF5LwFjMyrGCVSC5ILipPScw3zUsv1ihNzi0vz0vWS83M3MYKj+pnUDsaD u9wPMQpwMCrx8FYYZoQLsSaWFVfmHmKU4GBWEuFVuwEU4k1JrKxKLcqPLyrNSS0+xGgK9OBE ZinR5HxgwskriTc0NjEzsjQyN7QwMjZXEud9/H9dmJBAemJJanZqakFqEUwfEwenVANjvrn+ 8eu/OddpKfeyMwQyV4bNDGBdeHSGeP6rObYdISENCzYp91mEGapcVfKx+6CnU1hptkTb9OOc I7+/zkxoWfnwmaNl+dvvWu85U4peqn7LFepZ63e3UCTbJGT995DYaeYXWtVDDtVv+qPKyxff NUd/+dbHs6yjr0i/DdJdM3OB1Os9qx4rsRRnJBpqMRcVJwIA4Bf2fwADAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > Cc: Krzysztof Kozlowski > Cc: Kukjin Kim > Cc: Kyungmin Park > Cc: MyungJoo Ham > Cc: linux-pm@vger.kernel.org > Cc: linux-samsung-soc@vger.kernel.org > > > 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(-) >