Commit cd1245d7 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'platform-drivers-x86-v5.13-3' of...

Merge tag 'platform-drivers-x86-v5.13-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver fixes from Hans de Goede:
 "Assorted pdx86 bug-fixes and some hardware-id additions for 5.13.

  The mlxreg-hotplug revert is a regression-fix"

* tag 'platform-drivers-x86-v5.13-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
  platform/mellanox: mlxreg-hotplug: Revert "move to use request_irq by IRQF_NO_AUTOEN flag"
  platform/surface: dtx: Add missing mutex_destroy() call in failure path
  platform/surface: aggregator: Fix event disable function
  platform/x86: thinkpad_acpi: Add X1 Carbon Gen 9 second fan support
  platform/surface: aggregator_registry: Add support for 13" Intel Surface Laptop 4
  platform/surface: aggregator_registry: Update comments for 15" AMD Surface Laptop 4
parents a4c30b86 701b54bc
...@@ -683,13 +683,13 @@ static int mlxreg_hotplug_probe(struct platform_device *pdev) ...@@ -683,13 +683,13 @@ static int mlxreg_hotplug_probe(struct platform_device *pdev)
err = devm_request_irq(&pdev->dev, priv->irq, err = devm_request_irq(&pdev->dev, priv->irq,
mlxreg_hotplug_irq_handler, IRQF_TRIGGER_FALLING mlxreg_hotplug_irq_handler, IRQF_TRIGGER_FALLING
| IRQF_SHARED | IRQF_NO_AUTOEN, | IRQF_SHARED, "mlxreg-hotplug", priv);
"mlxreg-hotplug", priv);
if (err) { if (err) {
dev_err(&pdev->dev, "Failed to request irq: %d\n", err); dev_err(&pdev->dev, "Failed to request irq: %d\n", err);
return err; return err;
} }
disable_irq(priv->irq);
spin_lock_init(&priv->lock); spin_lock_init(&priv->lock);
INIT_DELAYED_WORK(&priv->dwork_irq, mlxreg_hotplug_work_handler); INIT_DELAYED_WORK(&priv->dwork_irq, mlxreg_hotplug_work_handler);
dev_set_drvdata(&pdev->dev, priv); dev_set_drvdata(&pdev->dev, priv);
......
...@@ -1907,7 +1907,7 @@ static int ssam_ssh_event_disable(struct ssam_controller *ctrl, ...@@ -1907,7 +1907,7 @@ static int ssam_ssh_event_disable(struct ssam_controller *ctrl,
{ {
int status; int status;
status = __ssam_ssh_event_request(ctrl, reg, reg.cid_enable, id, flags); status = __ssam_ssh_event_request(ctrl, reg, reg.cid_disable, id, flags);
if (status < 0 && status != -EINVAL) { if (status < 0 && status != -EINVAL) {
ssam_err(ctrl, ssam_err(ctrl,
......
...@@ -156,7 +156,7 @@ static const struct software_node *ssam_node_group_sl2[] = { ...@@ -156,7 +156,7 @@ static const struct software_node *ssam_node_group_sl2[] = {
NULL, NULL,
}; };
/* Devices for Surface Laptop 3. */ /* Devices for Surface Laptop 3 and 4. */
static const struct software_node *ssam_node_group_sl3[] = { static const struct software_node *ssam_node_group_sl3[] = {
&ssam_node_root, &ssam_node_root,
&ssam_node_bat_ac, &ssam_node_bat_ac,
...@@ -521,9 +521,12 @@ static const struct acpi_device_id ssam_platform_hub_match[] = { ...@@ -521,9 +521,12 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
/* Surface Laptop 3 (13", Intel) */ /* Surface Laptop 3 (13", Intel) */
{ "MSHW0114", (unsigned long)ssam_node_group_sl3 }, { "MSHW0114", (unsigned long)ssam_node_group_sl3 },
/* Surface Laptop 3 (15", AMD) */ /* Surface Laptop 3 (15", AMD) and 4 (15", AMD) */
{ "MSHW0110", (unsigned long)ssam_node_group_sl3 }, { "MSHW0110", (unsigned long)ssam_node_group_sl3 },
/* Surface Laptop 4 (13", Intel) */
{ "MSHW0250", (unsigned long)ssam_node_group_sl3 },
/* Surface Laptop Go 1 */ /* Surface Laptop Go 1 */
{ "MSHW0118", (unsigned long)ssam_node_group_slg1 }, { "MSHW0118", (unsigned long)ssam_node_group_slg1 },
......
...@@ -427,6 +427,7 @@ static int surface_dtx_open(struct inode *inode, struct file *file) ...@@ -427,6 +427,7 @@ static int surface_dtx_open(struct inode *inode, struct file *file)
*/ */
if (test_bit(SDTX_DEVICE_SHUTDOWN_BIT, &ddev->flags)) { if (test_bit(SDTX_DEVICE_SHUTDOWN_BIT, &ddev->flags)) {
up_write(&ddev->client_lock); up_write(&ddev->client_lock);
mutex_destroy(&client->read_lock);
sdtx_device_put(client->ddev); sdtx_device_put(client->ddev);
kfree(client); kfree(client);
return -ENODEV; return -ENODEV;
......
...@@ -8853,6 +8853,7 @@ static const struct tpacpi_quirk fan_quirk_table[] __initconst = { ...@@ -8853,6 +8853,7 @@ static const struct tpacpi_quirk fan_quirk_table[] __initconst = {
TPACPI_Q_LNV3('N', '2', 'O', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (2nd 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', '2', 'V', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (3nd gen) */
TPACPI_Q_LNV3('N', '3', '0', TPACPI_FAN_2CTL), /* P15 (1st gen) / P15v (1st 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) */
}; };
static int __init fan_init(struct ibm_init_struct *iibm) static int __init fan_init(struct ibm_init_struct *iibm)
......
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