Re: [PATCH] hwmon: (asus-ec-sensors) do not print from .probe()

From: Guenter Roeck
Date: Thu Feb 17 2022 - 13:27:01 EST


On 2/16/22 23:23, Eugene Shalygin wrote:
Remove the call to dev_info() from the board detection function, which
is called from probe(), not only to be in line with hwmon driver rules, but
also because the message duplicates the error code returned from probe()
for that case (ENODEV).

Signed-off-by: Eugene Shalygin <eugene.shalygin@xxxxxxxxx>
---
drivers/hwmon/asus-ec-sensors.c | 17 +++++------------
1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/drivers/hwmon/asus-ec-sensors.c b/drivers/hwmon/asus-ec-sensors.c
index 0701ade16227..cbe1b987144a 100644
--- a/drivers/hwmon/asus-ec-sensors.c
+++ b/drivers/hwmon/asus-ec-sensors.c
@@ -597,18 +597,11 @@ static struct hwmon_chip_info asus_ec_chip_info = {
.ops = &asus_ec_hwmon_ops,
};
-static unsigned long __init
-get_board_sensors(const struct device *dev)
+static unsigned long __init get_board_sensors(void)
{
- const struct dmi_system_id *dmi_entry;
-
- dmi_entry = dmi_first_match(asus_ec_dmi_table);
- if (!dmi_entry) {
- dev_info(dev, "Unsupported board");
- return 0;
- }
-
- return (unsigned long)dmi_entry->driver_data;
+ const struct dmi_system_id *dmi_entry =
+ dmi_first_match(asus_ec_dmi_table);
+ return dmi_entry ? (unsigned long)dmi_entry->driver_data : 0;

Looks like you did not run checkpatch.

Either case, I think you should just drop this function In probe:

const struct dmi_system_id *dmi_entry = dmi_first_match(asus_ec_dmi_table);

...
if (!dmi_entry)
return -ENODEV;
...
ec_data->board_sensors = (unsigned long)dmi_entry->driver_data;

Guenter

}
static int __init asus_ec_probe(struct platform_device *pdev)
@@ -625,7 +618,7 @@ static int __init asus_ec_probe(struct platform_device *pdev)
struct device *hwdev;
unsigned int i;
- board_sensors = get_board_sensors(dev);
+ board_sensors = get_board_sensors();
if (!board_sensors)
return -ENODEV;