From: Matthias Kaehlcke <mka@chromium.org>
To: Chanwoo Choi <cw00.choi@samsung.com>
Cc: MyungJoo Ham <myungjoo.ham@samsung.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Brian Norris <briannorris@chromium.org>,
Douglas Anderson <dianders@chromium.org>,
Enric Balletbo i Serra <enric.balletbo@collabora.com>,
"Rafael J . Wysocki" <rjw@rjwysocki.net>,
Viresh Kumar <viresh.kumar@linaro.org>,
Lee Jones <lee.jones@linaro.org>,
Benson Leung <bleung@chromium.org>,
Olof Johansson <olof@lixom.net>
Subject: Re: [PATCH v5 07/12] PM / devfreq: export devfreq_class
Date: Wed, 1 Aug 2018 10:18:26 -0700 [thread overview]
Message-ID: <20180801171826.GK68975@google.com> (raw)
In-Reply-To: <5B616CE0.50400@samsung.com>
On Wed, Aug 01, 2018 at 05:18:40PM +0900, Chanwoo Choi wrote:
> Hi Matthias,
>
> On 2018년 08월 01일 04:29, Matthias Kaehlcke wrote:
> > On Mon, Jul 16, 2018 at 12:41:14PM -0700, Matthias Kaehlcke wrote:
> >> Hi Chanwoo,
> >>
> >> On Thu, Jul 12, 2018 at 06:08:36PM +0900, Chanwoo Choi wrote:
> >>> Hi Matthias,
> >>>
> >>> On 2018년 07월 07일 03:09, Matthias Kaehlcke wrote:
> >>>> Hi,
> >>>>
> >>>> On Wed, Jul 04, 2018 at 02:30:32PM +0900, Chanwoo Choi wrote:
> >>>>
> >>>>> I didn't see any framework which exporting the class instance.
> >>>>> It is very dangerous. Unknown device drivers is able to reset
> >>>>> the 'devfreq_class' instance. I can't agree this approach.
> >>>>
> >>>> While I agree that it is potential dangerous it is actually a common
> >>>> practice to export the class:
> >>>>
> >>>
> >>> I tried to find the real usage of exported class instance
> >>> and I add the comment for each class instance. Almost exported class
> >>> instance are used in the their own director or some exported class
> >>> like rio_mport_class/switchtec_class are created from specific device driver
> >>> instead of subsystem.
> >>>
> >>> Only following two cases are used on outside of subsystem directory.
> >>> devtmpfs.c and alarmtimer.c are core feature of linux kernel.
> >>>
> >>> drivers/base/devtmpfs.c uses 'block_class'.
> >>> kernel/time/alarmtimer.c uses 'rtc_class'.
> >>>
> >>> I cannot yet agree this approach due to only block_class and rtc_class.
> >>
> >> I thought your main concern was that the class is exported, which is
> >> what several other subsystems do. That the class isn't used outside of
> >> the subsystem directory most likely means that there is no need for
> >> it, rather than that it shouldn't be done at all (depending on the
> >> type of use of course).
> >>
> >> In any case not exporting the class object provides a limited
> >> protection against potential abuse of the class at best. To use the
> >> class API all that is needed is a 'struct device' of a devfreq device,
> >> which has a pointer to the class object (dev->class).
> >>
> >> Theoretically I could register a fake devfreq device to obtain access
> >> to the class object, though that doesn't seem a very neat approach ;-)
> >>
> >>> You added the following comment why devfreq_class instance is necessary.
> >>> Actullay, I don't know the best solution right now. But, all device drivers
> >>> can be added or removed if driver uses the module type. It is not a problem
> >>> for only devfreq instance.
> >>
> >> Certainly it's not a problem limited to devfreq devices. In many other
> >> cases bus notifiers can be used, but since devfreq devices areen't
> >> tied to a specific bus this is not an option here.
> >>
> >> If you really don't want to export the class we could add wrappers
> >> for (un)registering a class interface:
> >>
> >> int devfreq_class_interface_register(struct class_interface *)
> >> void devfreq_class_interface_unregister(struct class_interface *)
>
> About this approach, I agree because it doesn't export the devfreq_class
> instance as you commented.
Great, I'll change it in the next revision!
next prev parent reply other threads:[~2018-08-01 17:18 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-03 23:46 [PATCH v5 00/12] Add throttler driver for non-thermal throttling Matthias Kaehlcke
2018-07-03 23:46 ` [PATCH v5 01/12] PM / devfreq: Init user limits from OPP limits, not viceversa Matthias Kaehlcke
2018-07-03 23:46 ` [PATCH v5 02/12] PM / devfreq: Fix handling of min/max_freq == 0 Matthias Kaehlcke
2018-07-04 2:20 ` Chanwoo Choi
2018-07-06 16:36 ` Matthias Kaehlcke
2018-07-12 8:34 ` Chanwoo Choi
2018-07-03 23:46 ` [PATCH v5 03/12] PM / devfreq: Don't adjust to user limits in governors Matthias Kaehlcke
2018-07-04 2:27 ` Chanwoo Choi
2018-08-02 23:36 ` Matthias Kaehlcke
2018-08-03 0:03 ` Chanwoo Choi
2018-08-03 0:24 ` Matthias Kaehlcke
2018-08-03 0:43 ` Chanwoo Choi
2018-07-03 23:46 ` [PATCH v5 04/12] PM / devfreq: Add struct devfreq_policy Matthias Kaehlcke
2018-07-04 2:51 ` Chanwoo Choi
2018-07-06 17:07 ` Matthias Kaehlcke
2018-07-12 8:38 ` Chanwoo Choi
2018-08-03 0:04 ` Chanwoo Choi
2018-07-03 23:46 ` [PATCH v5 05/12] PM / devfreq: Add support for policy notifiers Matthias Kaehlcke
2018-07-04 6:41 ` Chanwoo Choi
2018-07-06 17:53 ` Matthias Kaehlcke
2018-07-12 8:44 ` Chanwoo Choi
2018-07-16 17:50 ` Matthias Kaehlcke
2018-07-31 19:39 ` Matthias Kaehlcke
2018-08-01 1:22 ` Chanwoo Choi
2018-08-01 17:08 ` Matthias Kaehlcke
2018-08-02 1:58 ` Chanwoo Choi
2018-08-02 23:13 ` Matthias Kaehlcke
2018-08-02 23:48 ` Matthias Kaehlcke
2018-08-03 0:14 ` Chanwoo Choi
2018-08-06 19:21 ` Matthias Kaehlcke
2018-08-06 22:31 ` Chanwoo Choi
2018-08-06 22:50 ` Chanwoo Choi
2018-08-07 0:23 ` Matthias Kaehlcke
2018-08-07 1:35 ` Chanwoo Choi
2018-08-07 22:34 ` Matthias Kaehlcke
2018-08-02 23:56 ` Chanwoo Choi
2018-08-06 18:46 ` Matthias Kaehlcke
2018-08-06 22:16 ` Chanwoo Choi
2018-07-03 23:46 ` [PATCH v5 06/12] PM / devfreq: Make update_devfreq() public Matthias Kaehlcke
2018-08-01 8:32 ` Chanwoo Choi
2018-07-03 23:47 ` [PATCH v5 07/12] PM / devfreq: export devfreq_class Matthias Kaehlcke
2018-07-04 5:30 ` Chanwoo Choi
2018-07-06 18:09 ` Matthias Kaehlcke
2018-07-12 9:08 ` Chanwoo Choi
2018-07-16 19:41 ` Matthias Kaehlcke
2018-07-31 19:29 ` Matthias Kaehlcke
2018-08-01 8:18 ` Chanwoo Choi
2018-08-01 17:18 ` Matthias Kaehlcke [this message]
2018-07-03 23:47 ` [PATCH v5 08/12] cpufreq: Add stub for cpufreq_update_policy() Matthias Kaehlcke
2018-07-04 10:41 ` Rafael J. Wysocki
2018-07-10 22:24 ` Matthias Kaehlcke
2018-07-04 10:44 ` Viresh Kumar
2018-07-03 23:47 ` [PATCH v5 09/12] dt-bindings: misc: add bindings for throttler Matthias Kaehlcke
2018-07-04 10:00 ` Viresh Kumar
2018-08-01 8:27 ` Chanwoo Choi
2018-08-01 17:39 ` Matthias Kaehlcke
2018-07-03 23:47 ` [PATCH v5 10/12] misc: throttler: Add core support for non-thermal throttling Matthias Kaehlcke
2018-07-03 23:47 ` [PATCH v5 11/12] misc: throttler: Add Chrome OS EC throttler Matthias Kaehlcke
2018-07-03 23:47 ` [PATCH v5 12/12] mfd: cros_ec: Add throttler sub-device Matthias Kaehlcke
2018-07-04 7:59 ` Lee Jones
[not found] ` <CGME20180703234727epcas3p1b9f4a41b1f1714c8c059100d46b816dd@epcms1p5>
2018-07-04 2:24 ` [PATCH v5 01/12] PM / devfreq: Init user limits from OPP limits, not viceversa MyungJoo Ham
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180801171826.GK68975@google.com \
--to=mka@chromium.org \
--cc=arnd@arndb.de \
--cc=bleung@chromium.org \
--cc=briannorris@chromium.org \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=enric.balletbo@collabora.com \
--cc=gregkh@linuxfoundation.org \
--cc=kyungmin.park@samsung.com \
--cc=lee.jones@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=myungjoo.ham@samsung.com \
--cc=olof@lixom.net \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).