Commit 5cac62ac authored by Andy Shevchenko's avatar Andy Shevchenko

platform/x86: thinkpad_acpi: Join string literals back

There is no point to keep string literal split. It even makes slightly
harder to maintain and debug.

Join string literals back to be oneliners.

While here, print negative error without changing a sign as it is a
common pattern in the kernel.

Other than above there were no functional changes intended.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: default avatarHenrique de Moraes Holschuh <hmh@hmh.eng.br>
parent d9ca30b8
...@@ -590,8 +590,8 @@ static int acpi_evalf(acpi_handle handle, ...@@ -590,8 +590,8 @@ static int acpi_evalf(acpi_handle handle,
break; break;
/* add more types as needed */ /* add more types as needed */
default: default:
pr_err("acpi_evalf() called " pr_err("acpi_evalf() called with invalid format character '%c'\n",
"with invalid format character '%c'\n", c); c);
va_end(ap); va_end(ap);
return 0; return 0;
} }
...@@ -619,8 +619,8 @@ static int acpi_evalf(acpi_handle handle, ...@@ -619,8 +619,8 @@ static int acpi_evalf(acpi_handle handle,
break; break;
/* add more types as needed */ /* add more types as needed */
default: default:
pr_err("acpi_evalf() called " pr_err("acpi_evalf() called with invalid format character '%c'\n",
"with invalid format character '%c'\n", res_type); res_type);
return 0; return 0;
} }
...@@ -790,8 +790,8 @@ static int __init setup_acpi_notify(struct ibm_struct *ibm) ...@@ -790,8 +790,8 @@ static int __init setup_acpi_notify(struct ibm_struct *ibm)
ibm->acpi->type, dispatch_acpi_notify, ibm); ibm->acpi->type, dispatch_acpi_notify, ibm);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
if (status == AE_ALREADY_EXISTS) { if (status == AE_ALREADY_EXISTS) {
pr_notice("another device driver is already " pr_notice("another device driver is already handling %s events\n",
"handling %s events\n", ibm->name); ibm->name);
} else { } else {
pr_err("acpi_install_notify_handler(%s) failed: %s\n", pr_err("acpi_install_notify_handler(%s) failed: %s\n",
ibm->name, acpi_format_exception(status)); ibm->name, acpi_format_exception(status));
...@@ -1095,8 +1095,7 @@ static void printk_deprecated_attribute(const char * const what, ...@@ -1095,8 +1095,7 @@ static void printk_deprecated_attribute(const char * const what,
const char * const details) const char * const details)
{ {
tpacpi_log_usertask("deprecated sysfs attribute"); tpacpi_log_usertask("deprecated sysfs attribute");
pr_warn("WARNING: sysfs attribute %s is deprecated and " pr_warn("WARNING: sysfs attribute %s is deprecated and will be removed. %s\n",
"will be removed. %s\n",
what, details); what, details);
} }
...@@ -1828,8 +1827,7 @@ static void __init tpacpi_check_outdated_fw(void) ...@@ -1828,8 +1827,7 @@ static void __init tpacpi_check_outdated_fw(void)
* best if the user upgrades the firmware anyway. * best if the user upgrades the firmware anyway.
*/ */
pr_warn("WARNING: Outdated ThinkPad BIOS/EC firmware\n"); pr_warn("WARNING: Outdated ThinkPad BIOS/EC firmware\n");
pr_warn("WARNING: This firmware may be missing critical bug " pr_warn("WARNING: This firmware may be missing critical bug fixes and/or important features\n");
"fixes and/or important features\n");
} }
} }
...@@ -2198,8 +2196,7 @@ static int hotkey_mask_set(u32 mask) ...@@ -2198,8 +2196,7 @@ static int hotkey_mask_set(u32 mask)
* a given event. * a given event.
*/ */
if (!hotkey_mask_get() && !rc && (fwmask & ~hotkey_acpi_mask)) { if (!hotkey_mask_get() && !rc && (fwmask & ~hotkey_acpi_mask)) {
pr_notice("asked for hotkey mask 0x%08x, but " pr_notice("asked for hotkey mask 0x%08x, but firmware forced it to 0x%08x\n",
"firmware forced it to 0x%08x\n",
fwmask, hotkey_acpi_mask); fwmask, hotkey_acpi_mask);
} }
...@@ -2224,11 +2221,9 @@ static int hotkey_user_mask_set(const u32 mask) ...@@ -2224,11 +2221,9 @@ static int hotkey_user_mask_set(const u32 mask)
(mask == 0xffff || mask == 0xffffff || (mask == 0xffff || mask == 0xffffff ||
mask == 0xffffffff)) { mask == 0xffffffff)) {
tp_warned.hotkey_mask_ff = 1; tp_warned.hotkey_mask_ff = 1;
pr_notice("setting the hotkey mask to 0x%08x is likely " pr_notice("setting the hotkey mask to 0x%08x is likely not the best way to go about it\n",
"not the best way to go about it\n", mask); mask);
pr_notice("please consider using the driver defaults, " pr_notice("please consider using the driver defaults, and refer to up-to-date thinkpad-acpi documentation\n");
"and refer to up-to-date thinkpad-acpi "
"documentation\n");
} }
/* Try to enable what the user asked for, plus whatever we need. /* Try to enable what the user asked for, plus whatever we need.
...@@ -2603,17 +2598,14 @@ static void hotkey_poll_setup(const bool may_warn) ...@@ -2603,17 +2598,14 @@ static void hotkey_poll_setup(const bool may_warn)
NULL, TPACPI_NVRAM_KTHREAD_NAME); NULL, TPACPI_NVRAM_KTHREAD_NAME);
if (IS_ERR(tpacpi_hotkey_task)) { if (IS_ERR(tpacpi_hotkey_task)) {
tpacpi_hotkey_task = NULL; tpacpi_hotkey_task = NULL;
pr_err("could not create kernel thread " pr_err("could not create kernel thread for hotkey polling\n");
"for hotkey polling\n");
} }
} }
} else { } else {
hotkey_poll_stop_sync(); hotkey_poll_stop_sync();
if (may_warn && (poll_driver_mask || poll_user_mask) && if (may_warn && (poll_driver_mask || poll_user_mask) &&
hotkey_poll_freq == 0) { hotkey_poll_freq == 0) {
pr_notice("hot keys 0x%08x and/or events 0x%08x " pr_notice("hot keys 0x%08x and/or events 0x%08x require polling, which is currently disabled\n",
"require polling, which is currently "
"disabled\n",
poll_user_mask, poll_driver_mask); poll_user_mask, poll_driver_mask);
} }
} }
...@@ -2840,12 +2832,10 @@ static ssize_t hotkey_source_mask_store(struct device *dev, ...@@ -2840,12 +2832,10 @@ static ssize_t hotkey_source_mask_store(struct device *dev,
mutex_unlock(&hotkey_mutex); mutex_unlock(&hotkey_mutex);
if (rc < 0) if (rc < 0)
pr_err("hotkey_source_mask: " pr_err("hotkey_source_mask: failed to update the firmware event mask!\n");
"failed to update the firmware event mask!\n");
if (r_ev) if (r_ev)
pr_notice("hotkey_source_mask: " pr_notice("hotkey_source_mask: some important events were disabled: 0x%04x\n",
"some important events were disabled: 0x%04x\n",
r_ev); r_ev);
tpacpi_disclose_usertask("hotkey_source_mask", "set to 0x%08lx\n", t); tpacpi_disclose_usertask("hotkey_source_mask", "set to 0x%08lx\n", t);
...@@ -3106,8 +3096,7 @@ static void hotkey_exit(void) ...@@ -3106,8 +3096,7 @@ static void hotkey_exit(void)
if (((tp_features.hotkey_mask && if (((tp_features.hotkey_mask &&
hotkey_mask_set(hotkey_orig_mask)) | hotkey_mask_set(hotkey_orig_mask)) |
hotkey_status_set(false)) != 0) hotkey_status_set(false)) != 0)
pr_err("failed to restore hot key mask " pr_err("failed to restore hot key mask to BIOS defaults\n");
"to BIOS defaults\n");
} }
static void __init hotkey_unmap(const unsigned int scancode) static void __init hotkey_unmap(const unsigned int scancode)
...@@ -3619,11 +3608,8 @@ static int __init hotkey_init(struct ibm_init_struct *iibm) ...@@ -3619,11 +3608,8 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
* userspace. tpacpi_detect_brightness_capabilities() must have * userspace. tpacpi_detect_brightness_capabilities() must have
* been called before this point */ * been called before this point */
if (acpi_video_get_backlight_type() != acpi_backlight_vendor) { if (acpi_video_get_backlight_type() != acpi_backlight_vendor) {
pr_info("This ThinkPad has standard ACPI backlight " pr_info("This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver\n");
"brightness control, supported by the ACPI " pr_notice("Disabling thinkpad-acpi brightness events by default...\n");
"video driver\n");
pr_notice("Disabling thinkpad-acpi brightness events "
"by default...\n");
/* Disable brightness up/down on Lenovo thinkpads when /* Disable brightness up/down on Lenovo thinkpads when
* ACPI is handling them, otherwise it is plain impossible * ACPI is handling them, otherwise it is plain impossible
...@@ -3792,7 +3778,7 @@ static bool adaptive_keyboard_hotkey_notify_hotkey(unsigned int scancode) ...@@ -3792,7 +3778,7 @@ static bool adaptive_keyboard_hotkey_notify_hotkey(unsigned int scancode)
TP_ACPI_HOTKEYSCAN_EXTENDED_START - TP_ACPI_HOTKEYSCAN_EXTENDED_START -
TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) { TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
pr_info("Unhandled adaptive keyboard key: 0x%x\n", pr_info("Unhandled adaptive keyboard key: 0x%x\n",
scancode); scancode);
return false; return false;
} }
keycode = hotkey_keycode_map[scancode - FIRST_ADAPTIVE_KEY + keycode = hotkey_keycode_map[scancode - FIRST_ADAPTIVE_KEY +
...@@ -3989,14 +3975,12 @@ static bool hotkey_notify_6xxx(const u32 hkey, ...@@ -3989,14 +3975,12 @@ static bool hotkey_notify_6xxx(const u32 hkey,
/* recommended action: immediate sleep/hibernate */ /* recommended action: immediate sleep/hibernate */
break; break;
case TP_HKEY_EV_ALARM_SENSOR_HOT: case TP_HKEY_EV_ALARM_SENSOR_HOT:
pr_crit("THERMAL ALARM: " pr_crit("THERMAL ALARM: a sensor reports something is too hot!\n");
"a sensor reports something is too hot!\n");
/* recommended action: warn user through gui, that */ /* recommended action: warn user through gui, that */
/* some internal component is too hot */ /* some internal component is too hot */
break; break;
case TP_HKEY_EV_ALARM_SENSOR_XHOT: case TP_HKEY_EV_ALARM_SENSOR_XHOT:
pr_alert("THERMAL EMERGENCY: " pr_alert("THERMAL EMERGENCY: a sensor reports something is extremely hot!\n");
"a sensor reports something is extremely hot!\n");
/* recommended action: immediate sleep/hibernate */ /* recommended action: immediate sleep/hibernate */
break; break;
case TP_HKEY_EV_AC_CHANGED: case TP_HKEY_EV_AC_CHANGED:
...@@ -4121,8 +4105,8 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event) ...@@ -4121,8 +4105,8 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
} }
if (!known_ev) { if (!known_ev) {
pr_notice("unhandled HKEY event 0x%04x\n", hkey); pr_notice("unhandled HKEY event 0x%04x\n", hkey);
pr_notice("please report the conditions when this " pr_notice("please report the conditions when this event happened to %s\n",
"event happened to %s\n", TPACPI_MAIL); TPACPI_MAIL);
} }
/* netlink events */ /* netlink events */
...@@ -4156,8 +4140,7 @@ static void hotkey_resume(void) ...@@ -4156,8 +4140,7 @@ static void hotkey_resume(void)
if (hotkey_status_set(true) < 0 || if (hotkey_status_set(true) < 0 ||
hotkey_mask_set(hotkey_acpi_mask) < 0) hotkey_mask_set(hotkey_acpi_mask) < 0)
pr_err("error while attempting to reset the event " pr_err("error while attempting to reset the event firmware interface\n");
"firmware interface\n");
tpacpi_send_radiosw_update(); tpacpi_send_radiosw_update();
hotkey_tablet_mode_notify_change(); hotkey_tablet_mode_notify_change();
...@@ -4209,12 +4192,8 @@ static void hotkey_enabledisable_warn(bool enable) ...@@ -4209,12 +4192,8 @@ static void hotkey_enabledisable_warn(bool enable)
{ {
tpacpi_log_usertask("procfs hotkey enable/disable"); tpacpi_log_usertask("procfs hotkey enable/disable");
if (!WARN((tpacpi_lifecycle == TPACPI_LIFE_RUNNING || !enable), if (!WARN((tpacpi_lifecycle == TPACPI_LIFE_RUNNING || !enable),
pr_fmt("hotkey enable/disable functionality has been " pr_fmt("hotkey enable/disable functionality has been removed from the driver. Hotkeys are always enabled.\n")))
"removed from the driver. " pr_err("Please remove the hotkey=enable module parameter, it is deprecated. Hotkeys are always enabled.\n");
"Hotkeys are always enabled.\n")))
pr_err("Please remove the hotkey=enable module "
"parameter, it is deprecated. "
"Hotkeys are always enabled.\n");
} }
static int hotkey_write(char *buf) static int hotkey_write(char *buf)
...@@ -4872,8 +4851,7 @@ static void video_exit(void) ...@@ -4872,8 +4851,7 @@ static void video_exit(void)
dbg_printk(TPACPI_DBG_EXIT, dbg_printk(TPACPI_DBG_EXIT,
"restoring original video autoswitch mode\n"); "restoring original video autoswitch mode\n");
if (video_autosw_set(video_orig_autosw)) if (video_autosw_set(video_orig_autosw))
pr_err("error while trying to restore original " pr_err("error while trying to restore original video autoswitch mode\n");
"video autoswitch mode\n");
} }
static int video_outputsw_get(void) static int video_outputsw_get(void)
...@@ -5963,8 +5941,7 @@ static int __init led_init(struct ibm_init_struct *iibm) ...@@ -5963,8 +5941,7 @@ static int __init led_init(struct ibm_init_struct *iibm)
} }
#ifdef CONFIG_THINKPAD_ACPI_UNSAFE_LEDS #ifdef CONFIG_THINKPAD_ACPI_UNSAFE_LEDS
pr_notice("warning: userspace override of important " pr_notice("warning: userspace override of important firmware LEDs is enabled\n");
"firmware LEDs is enabled\n");
#endif #endif
return 0; return 0;
} }
...@@ -5993,8 +5970,7 @@ static int led_read(struct seq_file *m) ...@@ -5993,8 +5970,7 @@ static int led_read(struct seq_file *m)
} }
} }
seq_printf(m, "commands:\t" seq_printf(m, "commands:\t<led> on, <led> off, <led> blink (<led> is 0-15)\n");
"<led> on, <led> off, <led> blink (<led> is 0-15)\n");
return 0; return 0;
} }
...@@ -6367,13 +6343,10 @@ static int __init thermal_init(struct ibm_init_struct *iibm) ...@@ -6367,13 +6343,10 @@ static int __init thermal_init(struct ibm_init_struct *iibm)
if (ta1 == 0) { if (ta1 == 0) {
/* This is sheer paranoia, but we handle it anyway */ /* This is sheer paranoia, but we handle it anyway */
if (acpi_tmp7) { if (acpi_tmp7) {
pr_err("ThinkPad ACPI EC access misbehaving, " pr_err("ThinkPad ACPI EC access misbehaving, falling back to ACPI TMPx access mode\n");
"falling back to ACPI TMPx access "
"mode\n");
thermal_read_mode = TPACPI_THERMAL_ACPI_TMP07; thermal_read_mode = TPACPI_THERMAL_ACPI_TMP07;
} else { } else {
pr_err("ThinkPad ACPI EC access misbehaving, " pr_err("ThinkPad ACPI EC access misbehaving, disabling thermal sensors access\n");
"disabling thermal sensors access\n");
thermal_read_mode = TPACPI_THERMAL_NONE; thermal_read_mode = TPACPI_THERMAL_NONE;
} }
} else { } else {
...@@ -6852,26 +6825,20 @@ static int __init brightness_init(struct ibm_init_struct *iibm) ...@@ -6852,26 +6825,20 @@ static int __init brightness_init(struct ibm_init_struct *iibm)
if (!brightness_enable) { if (!brightness_enable) {
dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_BRGHT, dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_BRGHT,
"brightness support disabled by " "brightness support disabled by module parameter\n");
"module parameter\n");
return 1; return 1;
} }
if (acpi_video_get_backlight_type() != acpi_backlight_vendor) { if (acpi_video_get_backlight_type() != acpi_backlight_vendor) {
if (brightness_enable > 1) { if (brightness_enable > 1) {
pr_info("Standard ACPI backlight interface " pr_info("Standard ACPI backlight interface available, not loading native one\n");
"available, not loading native one\n");
return 1; return 1;
} else if (brightness_enable == 1) { } else if (brightness_enable == 1) {
pr_warn("Cannot enable backlight brightness support, " pr_warn("Cannot enable backlight brightness support, ACPI is already handling it. Refer to the acpi_backlight kernel parameter.\n");
"ACPI is already handling it. Refer to the "
"acpi_backlight kernel parameter.\n");
return 1; return 1;
} }
} else if (tp_features.bright_acpimode && brightness_enable > 1) { } else if (tp_features.bright_acpimode && brightness_enable > 1) {
pr_notice("Standard ACPI backlight interface not " pr_notice("Standard ACPI backlight interface not available, thinkpad_acpi native brightness control enabled\n");
"available, thinkpad_acpi native "
"brightness control enabled\n");
} }
/* /*
...@@ -6922,10 +6889,10 @@ static int __init brightness_init(struct ibm_init_struct *iibm) ...@@ -6922,10 +6889,10 @@ static int __init brightness_init(struct ibm_init_struct *iibm)
"brightness is supported\n"); "brightness is supported\n");
if (quirks & TPACPI_BRGHT_Q_ASK) { if (quirks & TPACPI_BRGHT_Q_ASK) {
pr_notice("brightness: will use unverified default: " pr_notice("brightness: will use unverified default: brightness_mode=%d\n",
"brightness_mode=%d\n", brightness_mode); brightness_mode);
pr_notice("brightness: please report to %s whether it works well " pr_notice("brightness: please report to %s whether it works well or not on your ThinkPad\n",
"or not on your ThinkPad\n", TPACPI_MAIL); TPACPI_MAIL);
} }
/* Added by mistake in early 2007. Probably useless, but it could /* Added by mistake in early 2007. Probably useless, but it could
...@@ -6935,8 +6902,7 @@ static int __init brightness_init(struct ibm_init_struct *iibm) ...@@ -6935,8 +6902,7 @@ static int __init brightness_init(struct ibm_init_struct *iibm)
backlight_update_status(ibm_backlight_device); backlight_update_status(ibm_backlight_device);
vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_BRGHT, vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_BRGHT,
"brightness: registering brightness hotkeys " "brightness: registering brightness hotkeys as change notification\n");
"as change notification\n");
tpacpi_hotkey_driver_mask_set(hotkey_driver_mask tpacpi_hotkey_driver_mask_set(hotkey_driver_mask
| TP_ACPI_HKEY_BRGHTUP_MASK | TP_ACPI_HKEY_BRGHTUP_MASK
| TP_ACPI_HKEY_BRGHTDWN_MASK); | TP_ACPI_HKEY_BRGHTDWN_MASK);
...@@ -7599,8 +7565,8 @@ static int __init volume_init(struct ibm_init_struct *iibm) ...@@ -7599,8 +7565,8 @@ static int __init volume_init(struct ibm_init_struct *iibm)
return -EINVAL; return -EINVAL;
if (volume_mode == TPACPI_VOL_MODE_UCMS_STEP) { if (volume_mode == TPACPI_VOL_MODE_UCMS_STEP) {
pr_err("UCMS step volume mode not implemented, " pr_err("UCMS step volume mode not implemented, please contact %s\n",
"please contact %s\n", TPACPI_MAIL); TPACPI_MAIL);
return 1; return 1;
} }
...@@ -7613,8 +7579,7 @@ static int __init volume_init(struct ibm_init_struct *iibm) ...@@ -7613,8 +7579,7 @@ static int __init volume_init(struct ibm_init_struct *iibm)
*/ */
if (!alsa_enable) { if (!alsa_enable) {
vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_MIXER, vdbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_MIXER,
"ALSA mixer disabled by parameter, " "ALSA mixer disabled by parameter, not loading volume subdriver...\n");
"not loading volume subdriver...\n");
return 1; return 1;
} }
...@@ -7706,12 +7671,9 @@ static int volume_read(struct seq_file *m) ...@@ -7706,12 +7671,9 @@ static int volume_read(struct seq_file *m)
if (volume_control_allowed) { if (volume_control_allowed) {
seq_printf(m, "commands:\tunmute, mute\n"); seq_printf(m, "commands:\tunmute, mute\n");
if (!tp_features.mixer_no_level_control) { if (!tp_features.mixer_no_level_control) {
seq_printf(m, seq_printf(m, "commands:\tup, down\n");
"commands:\tup, down\n"); seq_printf(m, "commands:\tlevel <level> (<level> is 0-%d)\n",
seq_printf(m, TP_EC_VOLUME_MAX);
"commands:\tlevel <level>"
" (<level> is 0-%d)\n",
TP_EC_VOLUME_MAX);
} }
} }
} }
...@@ -7734,10 +7696,8 @@ static int volume_write(char *buf) ...@@ -7734,10 +7696,8 @@ static int volume_write(char *buf)
if (!volume_control_allowed && tpacpi_lifecycle != TPACPI_LIFE_INIT) { if (!volume_control_allowed && tpacpi_lifecycle != TPACPI_LIFE_INIT) {
if (unlikely(!tp_warned.volume_ctrl_forbidden)) { if (unlikely(!tp_warned.volume_ctrl_forbidden)) {
tp_warned.volume_ctrl_forbidden = 1; tp_warned.volume_ctrl_forbidden = 1;
pr_notice("Console audio control in monitor mode, " pr_notice("Console audio control in monitor mode, changes are not allowed\n");
"changes are not allowed\n"); pr_notice("Use the volume_control=1 module parameter to enable volume control\n");
pr_notice("Use the volume_control=1 module parameter "
"to enable volume control\n");
} }
return -EPERM; return -EPERM;
} }
...@@ -8019,8 +7979,7 @@ TPACPI_HANDLE(sfan, ec, "SFAN", /* 570 */ ...@@ -8019,8 +7979,7 @@ TPACPI_HANDLE(sfan, ec, "SFAN", /* 570 */
static void fan_quirk1_setup(void) static void fan_quirk1_setup(void)
{ {
if (fan_control_initial_status == 0x07) { if (fan_control_initial_status == 0x07) {
pr_notice("fan_init: initial fan status is unknown, " pr_notice("fan_init: initial fan status is unknown, assuming it is in auto mode\n");
"assuming it is in auto mode\n");
tp_features.fan_ctrl_status_undef = 1; tp_features.fan_ctrl_status_undef = 1;
} }
} }
...@@ -8417,8 +8376,8 @@ static void fan_watchdog_fire(struct work_struct *ignored) ...@@ -8417,8 +8376,8 @@ static void fan_watchdog_fire(struct work_struct *ignored)
pr_notice("fan watchdog: enabling fan\n"); pr_notice("fan watchdog: enabling fan\n");
rc = fan_set_enable(); rc = fan_set_enable();
if (rc < 0) { if (rc < 0) {
pr_err("fan watchdog: error %d while enabling fan, " pr_err("fan watchdog: error %d while enabling fan, will try again later...\n",
"will try again later...\n", -rc); rc);
/* reschedule for later */ /* reschedule for later */
fan_watchdog_reset(); fan_watchdog_reset();
} }
...@@ -8715,8 +8674,7 @@ static int __init fan_init(struct ibm_init_struct *iibm) ...@@ -8715,8 +8674,7 @@ static int __init fan_init(struct ibm_init_struct *iibm)
"secondary fan support enabled\n"); "secondary fan support enabled\n");
} }
} else { } else {
pr_err("ThinkPad ACPI EC access misbehaving, " pr_err("ThinkPad ACPI EC access misbehaving, fan status and control unavailable\n");
"fan status and control unavailable\n");
return 1; return 1;
} }
} }
...@@ -8815,8 +8773,8 @@ static void fan_suspend(void) ...@@ -8815,8 +8773,8 @@ static void fan_suspend(void)
fan_control_resume_level = 0; fan_control_resume_level = 0;
rc = fan_get_status_safe(&fan_control_resume_level); rc = fan_get_status_safe(&fan_control_resume_level);
if (rc < 0) if (rc < 0)
pr_notice("failed to read fan level for later " pr_notice("failed to read fan level for later restore during resume: %d\n",
"restore during resume: %d\n", rc); rc);
/* if it is undefined, don't attempt to restore it. /* if it is undefined, don't attempt to restore it.
* KEEP THIS LAST */ * KEEP THIS LAST */
...@@ -8935,20 +8893,17 @@ static int fan_read(struct seq_file *m) ...@@ -8935,20 +8893,17 @@ static int fan_read(struct seq_file *m)
break; break;
default: default:
seq_printf(m, " (<level> is 0-7, " seq_printf(m, " (<level> is 0-7, auto, disengaged, full-speed)\n");
"auto, disengaged, full-speed)\n");
break; break;
} }
} }
if (fan_control_commands & TPACPI_FAN_CMD_ENABLE) if (fan_control_commands & TPACPI_FAN_CMD_ENABLE)
seq_printf(m, "commands:\tenable, disable\n" seq_printf(m, "commands:\tenable, disable\n"
"commands:\twatchdog <timeout> (<timeout> " "commands:\twatchdog <timeout> (<timeout> is 0 (off), 1-120 (seconds))\n");
"is 0 (off), 1-120 (seconds))\n");
if (fan_control_commands & TPACPI_FAN_CMD_SPEED) if (fan_control_commands & TPACPI_FAN_CMD_SPEED)
seq_printf(m, "commands:\tspeed <speed>" seq_printf(m, "commands:\tspeed <speed> (<speed> is 0-65535)\n");
" (<speed> is 0-65535)\n");
return 0; return 0;
} }
...@@ -9474,8 +9429,7 @@ static int __must_check __init get_thinkpad_model_data( ...@@ -9474,8 +9429,7 @@ static int __must_check __init get_thinkpad_model_data(
tp->ec_release = (ec_fw_string[4] << 8) tp->ec_release = (ec_fw_string[4] << 8)
| ec_fw_string[5]; | ec_fw_string[5];
} else { } else {
pr_notice("ThinkPad firmware release %s " pr_notice("ThinkPad firmware release %s doesn't match the known patterns\n",
"doesn't match the known patterns\n",
ec_fw_string); ec_fw_string);
pr_notice("please report this to %s\n", pr_notice("please report this to %s\n",
TPACPI_MAIL); TPACPI_MAIL);
...@@ -9670,8 +9624,7 @@ MODULE_PARM_DESC(debug, "Sets debug level bit-mask"); ...@@ -9670,8 +9624,7 @@ MODULE_PARM_DESC(debug, "Sets debug level bit-mask");
module_param(force_load, bool, 0444); module_param(force_load, bool, 0444);
MODULE_PARM_DESC(force_load, MODULE_PARM_DESC(force_load,
"Attempts to load the driver even on a " "Attempts to load the driver even on a mis-identified ThinkPad when true");
"mis-identified ThinkPad when true");
module_param_named(fan_control, fan_control_allowed, bool, 0444); module_param_named(fan_control, fan_control_allowed, bool, 0444);
MODULE_PARM_DESC(fan_control, MODULE_PARM_DESC(fan_control,
...@@ -9679,8 +9632,7 @@ MODULE_PARM_DESC(fan_control, ...@@ -9679,8 +9632,7 @@ MODULE_PARM_DESC(fan_control,
module_param_named(brightness_mode, brightness_mode, uint, 0444); module_param_named(brightness_mode, brightness_mode, uint, 0444);
MODULE_PARM_DESC(brightness_mode, MODULE_PARM_DESC(brightness_mode,
"Selects brightness control strategy: " "Selects brightness control strategy: 0=auto, 1=EC, 2=UCMS, 3=EC+NVRAM");
"0=auto, 1=EC, 2=UCMS, 3=EC+NVRAM");
module_param(brightness_enable, uint, 0444); module_param(brightness_enable, uint, 0444);
MODULE_PARM_DESC(brightness_enable, MODULE_PARM_DESC(brightness_enable,
...@@ -9689,18 +9641,15 @@ MODULE_PARM_DESC(brightness_enable, ...@@ -9689,18 +9641,15 @@ MODULE_PARM_DESC(brightness_enable,
#ifdef CONFIG_THINKPAD_ACPI_ALSA_SUPPORT #ifdef CONFIG_THINKPAD_ACPI_ALSA_SUPPORT
module_param_named(volume_mode, volume_mode, uint, 0444); module_param_named(volume_mode, volume_mode, uint, 0444);
MODULE_PARM_DESC(volume_mode, MODULE_PARM_DESC(volume_mode,
"Selects volume control strategy: " "Selects volume control strategy: 0=auto, 1=EC, 2=N/A, 3=EC+NVRAM");
"0=auto, 1=EC, 2=N/A, 3=EC+NVRAM");
module_param_named(volume_capabilities, volume_capabilities, uint, 0444); module_param_named(volume_capabilities, volume_capabilities, uint, 0444);
MODULE_PARM_DESC(volume_capabilities, MODULE_PARM_DESC(volume_capabilities,
"Selects the mixer capabilites: " "Selects the mixer capabilites: 0=auto, 1=volume and mute, 2=mute only");
"0=auto, 1=volume and mute, 2=mute only");
module_param_named(volume_control, volume_control_allowed, bool, 0444); module_param_named(volume_control, volume_control_allowed, bool, 0444);
MODULE_PARM_DESC(volume_control, MODULE_PARM_DESC(volume_control,
"Enables software override for the console audio " "Enables software override for the console audio control when true");
"control when true");
module_param_named(software_mute, software_mute_requested, bool, 0444); module_param_named(software_mute, software_mute_requested, bool, 0444);
MODULE_PARM_DESC(software_mute, MODULE_PARM_DESC(software_mute,
...@@ -9717,8 +9666,7 @@ MODULE_PARM_DESC(enable, "Enable the ALSA interface for the ACPI EC Mixer"); ...@@ -9717,8 +9666,7 @@ MODULE_PARM_DESC(enable, "Enable the ALSA interface for the ACPI EC Mixer");
#define TPACPI_PARAM(feature) \ #define TPACPI_PARAM(feature) \
module_param_call(feature, set_ibm_param, NULL, NULL, 0); \ module_param_call(feature, set_ibm_param, NULL, NULL, 0); \
MODULE_PARM_DESC(feature, "Simulates thinkpad-acpi procfs command " \ MODULE_PARM_DESC(feature, "Simulates thinkpad-acpi procfs command at module load, see documentation")
"at module load, see documentation")
TPACPI_PARAM(hotkey); TPACPI_PARAM(hotkey);
TPACPI_PARAM(bluetooth); TPACPI_PARAM(bluetooth);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment