From: Guenter Roeck <linux@roeck-us.net>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-hwmon@vger.kernel.org, samsagax@gmail.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] hwmon: (oxp-sensors): remove static board variable
Date: Tue, 4 Jul 2023 07:14:54 -0700 [thread overview]
Message-ID: <cb71b00e-0225-ea24-b30e-4d615af026f0@roeck-us.net> (raw)
In-Reply-To: <2023070402-festive-rind-9274@gregkh>
On 7/4/23 06:44, Greg Kroah-Hartman wrote:
> On Tue, Jul 04, 2023 at 06:39:07AM -0700, Guenter Roeck wrote:
>> On 7/4/23 06:17, Greg Kroah-Hartman wrote:
>>> Drivers should not have a single static variable for the type of device
>>> they are bound to. While this driver is really going to only have one
>>> device at a time in the system, remove the static variable and instead,
>>> look up the device type when needed.
>>>
>>
>> This is expensive. I think it would be much better to just move
>> the board type detection into the init code and not instantiate
>> the driver in the fist place if the board type is unknown.
>
> The board type detection is all over the place in the driver, it's not
> just for "unknown" types, so how about just saving the board type at
> probe time and using it then for all other places?
>
I must be missing something. The current code detects the board type
only once, in the probe function. Otherwise the static variable is used.
You are replacing it with repeated calls to get_board_type().
The whole point of the static variable is to avoid the cost of repeated
calls to dmi_first_match().
>> We can handle the static variable separately if it really bothers
>> you that much.
>
> I did this change to make patch 2/3 more "obvious" what is happening
> when the in_visible() callback happens, so that you don't have to worry
> about the saved value or not. But this whole patch isn't really needed
> if you don't mind the lookup just happening in the in_visible() callback
> for the first time.
>
That would at least be a minimal change, and just add one extra lookup
which is only called once (or zero, if it is used to save the board type).
As I said, my solution would be to move the board type detection
into the init function and not instantiate the driver in the first
place if the probe function would bail out anyway. Personally I'd keep
the static variable for simplicity, but if you really dislike it
that much, we could pass it around in platform and later driver data.
But it seems to me that this could (and should) be a separate patch
that doesn't have to be hurried in.
Thanks,
Guenter
next prev parent reply other threads:[~2023-07-04 14:15 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-04 13:17 [PATCH 0/3] driver core: remove final user of devm_device_add_groups() Greg Kroah-Hartman
2023-07-04 13:17 ` [PATCH 1/3] hwmon: (oxp-sensors): remove static board variable Greg Kroah-Hartman
2023-07-04 13:39 ` Guenter Roeck
2023-07-04 13:44 ` Greg Kroah-Hartman
2023-07-04 14:14 ` Guenter Roeck [this message]
2023-07-04 16:14 ` Greg Kroah-Hartman
2023-07-04 16:43 ` Guenter Roeck
2023-07-04 16:52 ` Greg Kroah-Hartman
2023-07-04 19:44 ` Joaquin Aramendia
2023-07-04 13:17 ` [PATCH 2/3] hwmon: (oxp-sensors): move to use dev_groups from platform device Greg Kroah-Hartman
2023-07-04 13:17 ` [PATCH 3/3] driver core: remove devm_device_add_groups() Greg Kroah-Hartman
2023-07-04 16:05 ` Rafael J. Wysocki
2023-07-05 18:50 ` Dmitry Torokhov
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=cb71b00e-0225-ea24-b30e-4d615af026f0@roeck-us.net \
--to=linux@roeck-us.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=samsagax@gmail.com \
/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