From: "Pali Rohár" <pali@kernel.org>
To: Lyndon Sanche <lsanche@lyndeno.ca>
Cc: "Matthew Garrett" <mjg59@srcf.ucam.org>,
"Hans de Goede" <hdegoede@redhat.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org, Dell.Client.Kernel@dell.com
Subject: Re: [PATCH] platform/x86: dell-laptop: Implement platform_profile
Date: Thu, 25 Apr 2024 22:31:13 +0200 [thread overview]
Message-ID: <20240425203113.eokpgdjj6hmxhdj3@pali> (raw)
In-Reply-To: <d31486b6-d71d-4985-adb1-2425f19b0b5c@app.fastmail.com>
On Thursday 25 April 2024 14:27:32 Lyndon Sanche wrote:
> On Thu, Apr 25, 2024, at 2:12 PM, Pali Rohár wrote:
> > On Thursday 25 April 2024 11:27:57 Lyndon Sanche wrote:
> >> +int thermal_init(void)
> >> +{
> >> + int ret;
> >> + int supported_modes;
> >> +
> >> + ret = thermal_get_supported_modes(&supported_modes);
> >> +
> >> + if (ret != 0 || supported_modes == 0)
> >> + return -ENXIO;
> >> +
> >> + thermal_handler = kzalloc(sizeof(*thermal_handler), GFP_KERNEL);
> >> + if (!thermal_handler)
> >> + return -ENOMEM;
> >> + thermal_handler->profile_get = thermal_platform_profile_get;
> >> + thermal_handler->profile_set = thermal_platform_profile_set;
> >> +
> >> + if ((supported_modes >> DELL_QUIET) & 1)
> >> + set_bit(PLATFORM_PROFILE_QUIET, thermal_handler->choices);
> >> + if ((supported_modes >> DELL_COOL_BOTTOM) & 1)
> >> + set_bit(PLATFORM_PROFILE_COOL, thermal_handler->choices);
> >> + if ((supported_modes >> DELL_BALANCED) & 1)
> >> + set_bit(PLATFORM_PROFILE_BALANCED, thermal_handler->choices);
> >> + if ((supported_modes >> DELL_PERFORMANCE) & 1)
> >> + set_bit(PLATFORM_PROFILE_PERFORMANCE, thermal_handler->choices);
> >> +
> >> + platform_profile_register(thermal_handler);
> >> +
> >> + return 0;
> >> +}
> >> +
> >> +void thermal_cleanup(void)
> >> +{
> >> + platform_profile_remove();
> >> + kfree(thermal_handler);
> >> +}
> >> +
> >> static struct led_classdev mute_led_cdev = {
> >> .name = "platform::mute",
> >> .max_brightness = 1,
> >> @@ -2266,6 +2480,11 @@ static int __init dell_init(void)
> >> mute_led_registered = true;
> >> }
> >>
> >> + // Do not fail module if thermal modes not supported,
> >> + // just skip
> >> + if (thermal_init() != 0)
> >> + pr_warn("Unable to setup platform_profile, skipping");
> >
> > I think that -ENOMEM error should be failure of the loading the driver.
> > It does not make sense to continue of memory allocation failed.
> >
> > On the other hand when the thermal modes are not support (e.g. old
> > Latitude models) then there should not be a warning message. It is
> > expected that on systems without thermal modes the setup fails.
>
> Thank you for your feedback.
>
> I agree with your suggestion. -ENOMEM would indicate something bigger is amiss. I can add a check:
>
> If -ENOMEM, fail driver.
> If anything other error, skip, but do not show a message.
>
> Lyndon
Maybe you can simplify it more. thermal_init() could return 0 also for
the case when thermal modes are not supported. And dell_init() then can
unconditionally fail when thermal_init() returns non-zero value. It has
benefit that in case thermal_init() is extended in future for some other
fatal error, it would not be required to update also caller to handle
another error (and not just ENOMEM).
next prev parent reply other threads:[~2024-04-25 20:31 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-25 17:27 Lyndon Sanche
2024-04-25 20:07 ` Mario Limonciello
2024-04-25 20:24 ` Lyndon Sanche
2024-04-25 20:28 ` Mario Limonciello
2024-04-25 21:51 ` Srinivas Pandruvada
2024-04-26 0:38 ` Lyndon Sanche
2024-04-26 16:14 ` srinivas pandruvada
2024-04-26 18:23 ` Lyndon Sanche
2024-04-26 18:24 ` srinivas pandruvada
2024-04-25 20:12 ` Pali Rohár
2024-04-25 20:27 ` Lyndon Sanche
2024-04-25 20:31 ` Pali Rohár [this message]
2024-04-25 21:07 ` Armin Wolf
2024-04-26 0:54 ` Lyndon Sanche
2024-04-26 2:04 ` [PATCH v2] " Lyndon Sanche
2024-04-26 9:23 ` Ilpo Järvinen
2024-04-26 18:05 ` Lyndon Sanche
2024-05-13 20:09 ` kernel test robot
2024-04-26 6:57 ` [PATCH] " Ilpo Järvinen
2024-04-29 16:48 ` [PATCH v3] " Lyndon Sanche
2024-04-29 17:45 ` Mario Limonciello
2024-04-29 17:51 ` Mario Limonciello
2024-04-29 21:25 ` Lyndon Sanche
2024-04-29 21:21 ` Lyndon Sanche
2024-04-30 10:31 ` Ilpo Järvinen
2024-04-30 18:38 ` Lyndon Sanche
2024-04-30 15:36 ` kernel test robot
2024-05-01 8:16 ` kernel test robot
2024-05-01 16:35 ` kernel test robot
2024-05-01 17:07 ` kernel test robot
2024-05-01 1:14 ` [PATCH v4] " Lyndon Sanche
2024-05-01 1:36 ` Pali Rohár
2024-05-01 1:42 ` Lyndon Sanche
2024-05-01 21:58 ` [PATCH v5] " Lyndon Sanche
2024-05-03 10:19 ` kernel test robot
2024-05-04 1:03 ` Lyndon Sanche
2024-05-06 10:18 ` Hans de Goede
2024-05-07 16:00 ` Lyndon Sanche
2024-05-03 21:19 ` Armin Wolf
2024-05-04 0:59 ` Lyndon Sanche
2024-05-08 14:24 ` Shen, Yijun
2024-05-08 15:53 ` Mario Limonciello
2024-05-11 15:05 ` Shen, Yijun
2024-05-11 15:12 ` Limonciello, Mario
2024-05-11 15:56 ` Shen, Yijun
2024-05-12 17:53 ` Armin Wolf
2024-05-12 17:58 ` Limonciello, Mario
2024-05-12 18:47 ` Armin Wolf
2024-05-12 22:14 ` Limonciello, Mario
2024-05-11 16:02 ` Lyndon Sanche
2024-05-09 15:10 ` Lyndon Sanche
2024-05-11 1:49 ` Lyndon Sanche
2024-05-11 15:22 ` Shen, Yijun
2024-05-11 15:54 ` Lyndon Sanche
2024-05-11 16:12 ` Shen, Yijun
2024-05-11 2:36 ` [PATCH v6 0/2] " Lyndon Sanche
2024-05-11 2:36 ` [PATCH v6 1/2] platform/x86: dell-smbios: Add helper for checking supported commands Lyndon Sanche
2024-05-11 15:13 ` Limonciello, Mario
2024-05-12 18:00 ` Armin Wolf
2024-05-11 2:36 ` [PATCH v6 2/2] platform/x86: dell-laptop: Implement platform_profile Lyndon Sanche
2024-05-11 15:16 ` Limonciello, Mario
2024-05-11 15:59 ` Lyndon Sanche
[not found] ` <48JCDS.E4RT1F9DTKFU1@lyndeno.ca>
2024-05-12 1:43 ` Limonciello, Mario
2024-05-12 15:25 ` Hans de Goede
2024-05-12 0:14 ` Lyndon Sanche
2024-05-12 18:05 ` Armin Wolf
2024-05-15 17:06 ` Lyndon Sanche
2024-05-17 22:42 ` [PATCH v7 0/3] platform/x86: dell: " Lyndon Sanche
2024-05-17 22:42 ` [PATCH v7 1/3] platform/x86: dell-smbios: Add helper for checking supported class Lyndon Sanche
2024-05-17 22:42 ` [PATCH v7 2/3] platform/x86: dell-smbios: Move request functions for reuse Lyndon Sanche
2024-05-17 22:42 ` [PATCH v7 3/3] platform/x86: dell-pc: Implement platform_profile Lyndon Sanche
2024-05-27 9:39 ` Ilpo Järvinen
2024-05-28 16:16 ` Lyndon Sanche
2024-05-21 20:50 ` [PATCH v7 0/3] platform/x86: dell: " Mario Limonciello
2024-05-29 17:47 ` [PATCH v8 " Lyndon Sanche
2024-05-29 17:47 ` [PATCH v8 1/3] platform/x86: dell-smbios: Add helper for checking supported class Lyndon Sanche
2024-05-29 17:47 ` [PATCH v8 2/3] platform/x86: dell-smbios: Move request functions for reuse Lyndon Sanche
2024-05-29 17:47 ` [PATCH v8 3/3] platform/x86: dell-pc: Implement platform_profile Lyndon Sanche
2024-05-30 8:39 ` Ilpo Järvinen
2024-05-31 1:19 ` Lyndon Sanche
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=20240425203113.eokpgdjj6hmxhdj3@pali \
--to=pali@kernel.org \
--cc=Dell.Client.Kernel@dell.com \
--cc=hdegoede@redhat.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lsanche@lyndeno.ca \
--cc=mjg59@srcf.ucam.org \
--cc=platform-driver-x86@vger.kernel.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
all inboxes | Powered by JetHome®