On Sun, Nov 24, 2019 at 4:07 PM Leonid Maksymchuk <leonmaxx@xxxxxxxxx> wrote: > > Throttle thermal policy ACPI device is used to control CPU cooling and > throttling. This patch adds sysfs entry for setting current mode and > Fn+F5 hotkey that switches to next. sysfs means ABI. ABI must be documented. > Policy modes: > * 0x00 - default > * 0x01 - overboost > * 0x02 - silent > +static int throttle_thermal_policy_check_present(struct asus_wmi *asus) > +{ > + u32 result; > + int err; > + > + asus->throttle_thermal_policy_available = false; > + > + err = asus_wmi_get_devstate(asus, > + ASUS_WMI_DEVID_THROTTLE_THERMAL_POLICY, > + &result); > + if (err) { > + if (err == -ENODEV) > + return 0; > + else Redundant. > + return err; > + } > + > + if ((result & ASUS_WMI_DSTS_PRESENCE_BIT)) Too many parentheses. > + asus->throttle_thermal_policy_available = true; > + > + return 0; > +} > + pr_info("Set throttle thermal policy: %u\n", value); Do we really need this message? > + return scnprintf(buf, PAGE_SIZE, "%d\n", > + asus->throttle_thermal_policy_mode); Can it be one line? > + result = kstrtou8(buf, 10, &new_mode); > + if (result < 0) { > + pr_warn("Trying to store invalid value\n"); Redundant. By error code user space will get a message. > + return result; > + } -- With Best Regards, Andy Shevchenko