Lines Matching +full:1 +full:- +full:v0

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * acerhdf - A driver which monitors the temperature
7 * (C) 2009 - Peter Kaestle peter (a) piie.net
12 * o acerfand - Rachel Greenham
13 * o acer_ec.pl - Michael Kurz michi.kurz (at) googlemail.com
14 * - Petr Tomasek tomasek (#) etf,cuni,cz
15 * - Carlos Corbacho cathectic (at) gmail.com
16 * o lkml - Matthew Garrett
17 * - Borislav Petkov
18 * - Andreas Mohr
46 * measured by the on-die thermal monitor are within 0 <= Tj <= 90. So,
51 #define ACERHDF_FAN_AUTO 1
67 static int kernelmode = 1;
123 /* BIOS settings - only used during probe */
147 {"Acer", "AOA110", "v0.3109", 0x55, 0x58, {0x1f, 0x00}, 0},
148 {"Acer", "AOA110", "v0.3114", 0x55, 0x58, {0x1f, 0x00}, 0},
149 {"Acer", "AOA110", "v0.3301", 0x55, 0x58, {0xaf, 0x00}, 0},
150 {"Acer", "AOA110", "v0.3304", 0x55, 0x58, {0xaf, 0x00}, 0},
151 {"Acer", "AOA110", "v0.3305", 0x55, 0x58, {0xaf, 0x00}, 0},
152 {"Acer", "AOA110", "v0.3307", 0x55, 0x58, {0xaf, 0x00}, 0},
153 {"Acer", "AOA110", "v0.3308", 0x55, 0x58, {0x21, 0x00}, 0},
154 {"Acer", "AOA110", "v0.3309", 0x55, 0x58, {0x21, 0x00}, 0},
155 {"Acer", "AOA110", "v0.3310", 0x55, 0x58, {0x21, 0x00}, 0},
157 {"Acer", "AOA150", "v0.3114", 0x55, 0x58, {0x1f, 0x00}, 0},
158 {"Acer", "AOA150", "v0.3301", 0x55, 0x58, {0x20, 0x00}, 0},
159 {"Acer", "AOA150", "v0.3304", 0x55, 0x58, {0x20, 0x00}, 0},
160 {"Acer", "AOA150", "v0.3305", 0x55, 0x58, {0x20, 0x00}, 0},
161 {"Acer", "AOA150", "v0.3307", 0x55, 0x58, {0x20, 0x00}, 0},
162 {"Acer", "AOA150", "v0.3308", 0x55, 0x58, {0x20, 0x00}, 0},
163 {"Acer", "AOA150", "v0.3309", 0x55, 0x58, {0x20, 0x00}, 0},
164 {"Acer", "AOA150", "v0.3310", 0x55, 0x58, {0x20, 0x00}, 0},
166 {"Acer", "LT-10Q", "v0.3310", 0x55, 0x58, {0x20, 0x00}, 0},
168 {"Acer", "Aspire 1410", "v0.3108", 0x55, 0x58, {0x9e, 0x00}, 0},
169 {"Acer", "Aspire 1410", "v0.3113", 0x55, 0x58, {0x9e, 0x00}, 0},
170 {"Acer", "Aspire 1410", "v0.3115", 0x55, 0x58, {0x9e, 0x00}, 0},
171 {"Acer", "Aspire 1410", "v0.3117", 0x55, 0x58, {0x9e, 0x00}, 0},
172 {"Acer", "Aspire 1410", "v0.3119", 0x55, 0x58, {0x9e, 0x00}, 0},
173 {"Acer", "Aspire 1410", "v0.3120", 0x55, 0x58, {0x9e, 0x00}, 0},
180 {"Acer", "Aspire 1810TZ", "v0.3108", 0x55, 0x58, {0x9e, 0x00}, 0},
181 {"Acer", "Aspire 1810T", "v0.3108", 0x55, 0x58, {0x9e, 0x00}, 0},
182 {"Acer", "Aspire 1810TZ", "v0.3113", 0x55, 0x58, {0x9e, 0x00}, 0},
183 {"Acer", "Aspire 1810T", "v0.3113", 0x55, 0x58, {0x9e, 0x00}, 0},
184 {"Acer", "Aspire 1810TZ", "v0.3115", 0x55, 0x58, {0x9e, 0x00}, 0},
185 {"Acer", "Aspire 1810T", "v0.3115", 0x55, 0x58, {0x9e, 0x00}, 0},
186 {"Acer", "Aspire 1810TZ", "v0.3117", 0x55, 0x58, {0x9e, 0x00}, 0},
187 {"Acer", "Aspire 1810T", "v0.3117", 0x55, 0x58, {0x9e, 0x00}, 0},
188 {"Acer", "Aspire 1810TZ", "v0.3119", 0x55, 0x58, {0x9e, 0x00}, 0},
189 {"Acer", "Aspire 1810T", "v0.3119", 0x55, 0x58, {0x9e, 0x00}, 0},
190 {"Acer", "Aspire 1810TZ", "v0.3120", 0x55, 0x58, {0x9e, 0x00}, 0},
191 {"Acer", "Aspire 1810T", "v0.3120", 0x55, 0x58, {0x9e, 0x00}, 0},
208 {"Acer", "AO531h", "v0.3104", 0x55, 0x58, {0x20, 0x00}, 0},
209 {"Acer", "AO531h", "v0.3201", 0x55, 0x58, {0x20, 0x00}, 0},
210 {"Acer", "AO531h", "v0.3304", 0x55, 0x58, {0x20, 0x00}, 0},
212 {"Acer", "AO751h", "V0.3206", 0x55, 0x58, {0x21, 0x00}, 0},
213 {"Acer", "AO751h", "V0.3212", 0x55, 0x58, {0x21, 0x00}, 0},
215 {"Acer", "Aspire One 753", "V1.24", 0x93, 0xac, {0x14, 0x04}, 1},
220 {"Acer", "Extensa 5420", "V1.17", 0x93, 0xac, {0x14, 0x04}, 1},
222 {"Acer", "Aspire 5315", "V1.19", 0x93, 0xac, {0x14, 0x04}, 1},
226 {"Acer", "TravelMate 7730G", "v0.3509", 0x55, 0x58, {0xaf, 0x00}, 0},
228 {"Acer", "Aspire 7551", "V1.18", 0x93, 0xa8, {0x14, 0x04}, 1},
230 {"Acer", "TM8573T", "V1.13", 0x93, 0xa8, {0x14, 0x04}, 1},
232 {"Gateway", "AOA110", "v0.3103", 0x55, 0x58, {0x21, 0x00}, 0},
233 {"Gateway", "AOA150", "v0.3103", 0x55, 0x58, {0x20, 0x00}, 0},
240 {"Packard Bell", "DOA150", "v0.3104", 0x55, 0x58, {0x21, 0x00}, 0},
241 {"Packard Bell", "DOA150", "v0.3105", 0x55, 0x58, {0x20, 0x00}, 0},
242 {"Packard Bell", "AOA110", "v0.3105", 0x55, 0x58, {0x21, 0x00}, 0},
243 {"Packard Bell", "AOA150", "v0.3105", 0x55, 0x58, {0x20, 0x00}, 0},
247 {"Packard Bell", "DOTMU", "v0.3120", 0x55, 0x58, {0x9e, 0x00}, 0},
248 {"Packard Bell", "DOTMU", "v0.3108", 0x55, 0x58, {0x9e, 0x00}, 0},
249 {"Packard Bell", "DOTMU", "v0.3113", 0x55, 0x58, {0x9e, 0x00}, 0},
250 {"Packard Bell", "DOTMU", "v0.3115", 0x55, 0x58, {0x9e, 0x00}, 0},
251 {"Packard Bell", "DOTMU", "v0.3117", 0x55, 0x58, {0x9e, 0x00}, 0},
252 {"Packard Bell", "DOTMU", "v0.3119", 0x55, 0x58, {0x9e, 0x00}, 0},
258 /* pewpew-terminator */
275 return -EINVAL; in acerhdf_get_temp()
287 return -EINVAL; in acerhdf_get_fanstate()
339 thermal->polling_delay = interval*1000; in acerhdf_check_param()
346 * state. We do check /sysfs-originating settings here in acerhdf_check_param()
378 return -EINVAL; in acerhdf_bind()
391 return -EINVAL; in acerhdf_unbind()
405 kernelmode = 1; in acerhdf_enable_kernelmode()
432 else if (trip == 1) in acerhdf_get_trip_type()
435 return -EINVAL; in acerhdf_get_trip_type()
444 return -EINVAL; in acerhdf_get_trip_hyst()
446 *temp = fanon - fanoff; in acerhdf_get_trip_hyst()
456 else if (trip == 1) in acerhdf_get_trip_temp()
459 return -EINVAL; in acerhdf_get_trip_temp()
491 *state = 1; in acerhdf_get_max_state()
505 *state = (tmp == ACERHDF_FAN_AUTO) ? 1 : 0; in acerhdf_get_cur_state()
509 /* change current fan state - is overwritten when running in kernel mode */
541 return -EINVAL; in acerhdf_set_cur_state()
597 return 1; in str_starts_with()
616 return -EINVAL; in acerhdf_check_hardware()
623 pr_info("---------------------------------------------------\n"); in acerhdf_check_hardware()
624 for (bt = bios_tbl; bt->vendor[0]; bt++) { in acerhdf_check_hardware()
625 pr_info("%-13s | %-17s | %-10s\n", bt->vendor, in acerhdf_check_hardware()
626 bt->product, bt->version); in acerhdf_check_hardware()
628 pr_info("---------------------------------------------------\n"); in acerhdf_check_hardware()
629 return -ECANCELED; in acerhdf_check_hardware()
649 for (bt = bios_tbl; bt->vendor[0]; bt++) { in acerhdf_check_hardware()
654 if (str_starts_with(vendor, bt->vendor) && in acerhdf_check_hardware()
655 str_starts_with(product, bt->product) && in acerhdf_check_hardware()
656 str_starts_with(version, bt->version)) { in acerhdf_check_hardware()
657 found = 1; in acerhdf_check_hardware()
665 return -EINVAL; in acerhdf_check_hardware()
669 ctrl_cfg.fanreg = bt->fanreg; in acerhdf_check_hardware()
670 ctrl_cfg.tempreg = bt->tempreg; in acerhdf_check_hardware()
671 memcpy(&ctrl_cfg.cmd, &bt->cmd, sizeof(struct fancmd)); in acerhdf_check_hardware()
672 ctrl_cfg.mcmd_enable = bt->mcmd_enable; in acerhdf_check_hardware()
680 pr_notice("echo -n \"enabled\" > /sys/class/thermal/thermal_zoneN/mode # N=0,1,2...\n"); in acerhdf_check_hardware()
694 acerhdf_dev = platform_device_alloc("acerhdf", -1); in acerhdf_register_platform()
696 err = -ENOMEM; in acerhdf_register_platform()
722 cl_dev = thermal_cooling_device_register("acerhdf-fan", NULL, in acerhdf_register_thermal()
726 return -EINVAL; in acerhdf_register_thermal()
733 return -EINVAL; in acerhdf_register_thermal()
742 if (strcmp(thz_dev->governor->name, in acerhdf_register_thermal()
746 return -EINVAL; in acerhdf_register_thermal()