platform-drivers-x86 for v5.16-2
Various build- and bug-fixes as well as 1 hardware-id addition. The following is an automated git shortlog grouped by driver: amd-pmc: - Make CONFIG_AMD_PMC depend on RTC_CLASS dell-wmi-descriptor: - disable by default hp_accel: - Fix an error handling path in 'lis3lv02d_probe()' platform/mellanox: - mlxreg-lc: fix error code in mlxreg_lc_create_static_devices() samsung-laptop: - Fix typo in a comment think-lmi: - Abort probe on analyze failure thinkpad_acpi: - fix documentation for adaptive keyboard - Fix WWAN device disabled issue after S3 deep - Add support for dual fan control -----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEEuvA7XScYQRpenhd+kuxHeUQDJ9wFAmGWHnoUHGhkZWdvZWRl QHJlZGhhdC5jb20ACgkQkuxHeUQDJ9wwfwf9Hrv9vdzWDnwdeGh5BiWqeTq37/YT FqYB9HzKIaZKe5MYvibZD7sQQa86Up9/fTNF+TlIj+uMjgvzLkAXWR3841aGM7Mh z4OhCCx9aJLtpBUWyzsXRmO1ArLfkUIbHMBWMpcrPbeNGIwZMRfuq3ms5wPXWgfu QzNaDJEBHQlM4aNScb1K3a2HCXJIWcFw78/A8oq7LD0iKxd11ZmOuvKR9MIeUq5s hH/UEZqeJ8MCG+lNGShYvSCYAG1UIV6qF35XLR8VSlY/FZ48AcT6bgMyrhwJPrCW yJF6GBd8YnaAJqWWwqeaQMhIi8OKIMthFBbRd4epWAYmgP00w0ROJ+4SLQ== =siB2 -----END PGP SIGNATURE----- Merge tag 'platform-drivers-x86-v5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 Pull x86 platform driver fixes from Hans de Goede: "Various build- and bug-fixes as well as one hardware-id addition" * tag 'platform-drivers-x86-v5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: platform/x86: thinkpad_acpi: fix documentation for adaptive keyboard platform/x86: thinkpad_acpi: Fix WWAN device disabled issue after S3 deep platform/x86: thinkpad_acpi: Add support for dual fan control platform/x86: think-lmi: Abort probe on analyze failure platform/x86: dell-wmi-descriptor: disable by default platform/x86: samsung-laptop: Fix typo in a comment platform/x86: hp_accel: Fix an error handling path in 'lis3lv02d_probe()' platform/x86: amd-pmc: Make CONFIG_AMD_PMC depend on RTC_CLASS platform/mellanox: mlxreg-lc: fix error code in mlxreg_lc_create_static_devices()
This commit is contained in:
commit
d1c2b55d84
|
@ -1520,15 +1520,15 @@ This sysfs attribute controls the keyboard "face" that will be shown on the
|
|||
Lenovo X1 Carbon 2nd gen (2014)'s adaptive keyboard. The value can be read
|
||||
and set.
|
||||
|
||||
- 1 = Home mode
|
||||
- 2 = Web-browser mode
|
||||
- 3 = Web-conference mode
|
||||
- 4 = Function mode
|
||||
- 5 = Layflat mode
|
||||
- 0 = Home mode
|
||||
- 1 = Web-browser mode
|
||||
- 2 = Web-conference mode
|
||||
- 3 = Function mode
|
||||
- 4 = Layflat mode
|
||||
|
||||
For more details about which buttons will appear depending on the mode, please
|
||||
review the laptop's user guide:
|
||||
http://www.lenovo.com/shop/americas/content/user_guides/x1carbon_2_ug_en.pdf
|
||||
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/x1carbon_2_ug_en.pdf
|
||||
|
||||
Battery charge control
|
||||
----------------------
|
||||
|
|
|
@ -413,7 +413,7 @@ mlxreg_lc_create_static_devices(struct mlxreg_lc *mlxreg_lc, struct mlxreg_hotpl
|
|||
int size)
|
||||
{
|
||||
struct mlxreg_hotplug_device *dev = devs;
|
||||
int i;
|
||||
int i, ret;
|
||||
|
||||
/* Create static I2C device feeding by auxiliary or main power. */
|
||||
for (i = 0; i < size; i++, dev++) {
|
||||
|
@ -423,6 +423,7 @@ mlxreg_lc_create_static_devices(struct mlxreg_lc *mlxreg_lc, struct mlxreg_hotpl
|
|||
dev->brdinfo->type, dev->nr, dev->brdinfo->addr);
|
||||
|
||||
dev->adapter = NULL;
|
||||
ret = PTR_ERR(dev->client);
|
||||
goto fail_create_static_devices;
|
||||
}
|
||||
}
|
||||
|
@ -435,7 +436,7 @@ fail_create_static_devices:
|
|||
i2c_unregister_device(dev->client);
|
||||
dev->client = NULL;
|
||||
}
|
||||
return IS_ERR(dev->client);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -185,7 +185,7 @@ config ACER_WMI
|
|||
|
||||
config AMD_PMC
|
||||
tristate "AMD SoC PMC driver"
|
||||
depends on ACPI && PCI
|
||||
depends on ACPI && PCI && RTC_CLASS
|
||||
help
|
||||
The driver provides support for AMD Power Management Controller
|
||||
primarily responsible for S2Idle transactions that are driven from
|
||||
|
|
|
@ -187,7 +187,7 @@ config DELL_WMI_AIO
|
|||
|
||||
config DELL_WMI_DESCRIPTOR
|
||||
tristate
|
||||
default m
|
||||
default n
|
||||
depends on ACPI_WMI
|
||||
|
||||
config DELL_WMI_LED
|
||||
|
|
|
@ -331,9 +331,11 @@ static int lis3lv02d_probe(struct platform_device *device)
|
|||
INIT_WORK(&hpled_led.work, delayed_set_status_worker);
|
||||
ret = led_classdev_register(NULL, &hpled_led.led_classdev);
|
||||
if (ret) {
|
||||
i8042_remove_filter(hp_accel_i8042_filter);
|
||||
lis3lv02d_joystick_disable(&lis3_dev);
|
||||
lis3lv02d_poweroff(&lis3_dev);
|
||||
flush_work(&hpled_led.work);
|
||||
lis3lv02d_remove_fs(&lis3_dev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -152,7 +152,7 @@ struct sabi_config {
|
|||
|
||||
static const struct sabi_config sabi_configs[] = {
|
||||
{
|
||||
/* I don't know if it is really 2, but it it is
|
||||
/* I don't know if it is really 2, but it is
|
||||
* less than 3 anyway */
|
||||
.sabi_version = 2,
|
||||
|
||||
|
|
|
@ -888,8 +888,10 @@ static int tlmi_analyze(void)
|
|||
break;
|
||||
if (!item)
|
||||
break;
|
||||
if (!*item)
|
||||
if (!*item) {
|
||||
kfree(item);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* It is not allowed to have '/' for file name. Convert it into '\'. */
|
||||
strreplace(item, '/', '\\');
|
||||
|
@ -902,6 +904,7 @@ static int tlmi_analyze(void)
|
|||
setting = kzalloc(sizeof(*setting), GFP_KERNEL);
|
||||
if (!setting) {
|
||||
ret = -ENOMEM;
|
||||
kfree(item);
|
||||
goto fail_clear_attr;
|
||||
}
|
||||
setting->index = i;
|
||||
|
@ -916,7 +919,6 @@ static int tlmi_analyze(void)
|
|||
}
|
||||
kobject_init(&setting->kobj, &tlmi_attr_setting_ktype);
|
||||
tlmi_priv.setting[i] = setting;
|
||||
tlmi_priv.settings_count++;
|
||||
kfree(item);
|
||||
}
|
||||
|
||||
|
@ -983,7 +985,12 @@ static void tlmi_remove(struct wmi_device *wdev)
|
|||
|
||||
static int tlmi_probe(struct wmi_device *wdev, const void *context)
|
||||
{
|
||||
tlmi_analyze();
|
||||
int ret;
|
||||
|
||||
ret = tlmi_analyze();
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return tlmi_sysfs_init();
|
||||
}
|
||||
|
||||
|
|
|
@ -55,7 +55,6 @@ struct tlmi_attr_setting {
|
|||
struct think_lmi {
|
||||
struct wmi_device *wmi_device;
|
||||
|
||||
int settings_count;
|
||||
bool can_set_bios_settings;
|
||||
bool can_get_bios_selections;
|
||||
bool can_set_bios_password;
|
||||
|
|
|
@ -1105,15 +1105,6 @@ static int tpacpi_rfk_update_swstate(const struct tpacpi_rfk *tp_rfk)
|
|||
return status;
|
||||
}
|
||||
|
||||
/* Query FW and update rfkill sw state for all rfkill switches */
|
||||
static void tpacpi_rfk_update_swstate_all(void)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < TPACPI_RFK_SW_MAX; i++)
|
||||
tpacpi_rfk_update_swstate(tpacpi_rfkill_switches[i]);
|
||||
}
|
||||
|
||||
/*
|
||||
* Sync the HW-blocking state of all rfkill switches,
|
||||
* do notice it causes the rfkill core to schedule uevents
|
||||
|
@ -3074,9 +3065,6 @@ static void tpacpi_send_radiosw_update(void)
|
|||
if (wlsw == TPACPI_RFK_RADIO_OFF)
|
||||
tpacpi_rfk_update_hwblock_state(true);
|
||||
|
||||
/* Sync sw blocking state */
|
||||
tpacpi_rfk_update_swstate_all();
|
||||
|
||||
/* Sync hw blocking state last if it is hw-unblocked */
|
||||
if (wlsw == TPACPI_RFK_RADIO_ON)
|
||||
tpacpi_rfk_update_hwblock_state(false);
|
||||
|
@ -8766,6 +8754,7 @@ static const struct tpacpi_quirk fan_quirk_table[] __initconst = {
|
|||
TPACPI_Q_LNV3('N', '2', 'E', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (1st gen) */
|
||||
TPACPI_Q_LNV3('N', '2', 'O', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (2nd gen) */
|
||||
TPACPI_Q_LNV3('N', '2', 'V', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (3nd gen) */
|
||||
TPACPI_Q_LNV3('N', '4', '0', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (4nd gen) */
|
||||
TPACPI_Q_LNV3('N', '3', '0', TPACPI_FAN_2CTL), /* P15 (1st gen) / P15v (1st gen) */
|
||||
TPACPI_Q_LNV3('N', '3', '2', TPACPI_FAN_2CTL), /* X1 Carbon (9th gen) */
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue