Messages in this thread | | | Date | Sun, 21 Dec 2014 04:23:32 -0800 | From | Guenter Roeck <> | Subject | Re: [PATCH v3] i8k: Autodetect maximal fan speed and fan RPM multiplier |
| |
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
| |