Re: [PATCH v3] i8k: Autodetect maximal fan speed and fan RPM multiplier

From: Guenter Roeck
Date: Sun Dec 21 2014 - 07:24:04 EST


On 12/21/2014 04:09 AM, Pali RohÃr wrote:
On Sunday 21 December 2014 12:57:08 Guenter Roeck wrote:
-#define I8K_FAN_MULT 30
+#define I8K_FAN_MAX_RPM 30000

#define I8K_MAX_TEMP 127

#define I8K_FN_NONE 0x00

@@ -64,7 +66,7 @@ static DEFINE_MUTEX(i8k_mutex);

static char bios_version[4];
static struct device *i8k_hwmon_dev;
static u32 i8k_hwmon_flags;

-static int i8k_fan_mult;
+static int i8k_fan_mult = 30;

Why did you drop I8K_FAN_MULT ?


Because I think it is not needed anymore... It is used only in
one place (there ^). But if you want I can revert it back.

That is not a reason to drop a define.

static int __init i8k_probe(void)
{

+ const struct i8k_config_data *conf;

Why did you move this variable declaration ?


Comes from previous version of patches where I moved all
variables to start of function. I will revert this change.


- const struct i8k_config_data *conf = id->driver_data;
+ conf = id->driver_data;
+ if (fan_mult <= 0 && conf->fan_mult > 0)

I still don't see the value in accepting fan_mult < 0
(compeared to == 0).


Ok. What kernel driver should do if user load it with negative
parameter? We should not propagate negative value to functions.

You have multiple options: Ignore it (bad idea ;-), abort loading
the module with -EINVAL, or make the module parameter an unsigned.

I would prefer the latter. Either case, that should be a separate patch
(different logical change).

Thanks,
Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/