diff options
| author | Borislav Petkov <bp@suse.de> | 2022-03-21 10:34:57 +0100 |
|---|---|---|
| committer | Borislav Petkov <bp@suse.de> | 2022-03-21 10:34:57 +0100 |
| commit | 1422df58e5eb83dca131dc64e0f307a1f9e56078 (patch) | |
| tree | f54bb7952a406cd783cbdbfe1b5ac4f80de02d68 /drivers/input/mouse/psmouse-smbus.c | |
| parent | e1bca853dddcb57cbf084acbf35e3654cef6fc75 (diff) | |
| parent | 2151c84ece920dc55942495004a823cbecb921e5 (diff) | |
Merge branch 'edac-amd64' into edac-updates-for-v5.18
Signed-off-by: Borislav Petkov <bp@suse.de>
Diffstat (limited to 'drivers/input/mouse/psmouse-smbus.c')
| -rw-r--r-- | drivers/input/mouse/psmouse-smbus.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/input/mouse/psmouse-smbus.c b/drivers/input/mouse/psmouse-smbus.c index a472489ccbad..164f6c757f6b 100644 --- a/drivers/input/mouse/psmouse-smbus.c +++ b/drivers/input/mouse/psmouse-smbus.c @@ -75,6 +75,8 @@ static void psmouse_smbus_detach_i2c_client(struct i2c_client *client) "Marking SMBus companion %s as gone\n", dev_name(&smbdev->client->dev)); smbdev->dead = true; + device_link_remove(&smbdev->client->dev, + &smbdev->psmouse->ps2dev.serio->dev); serio_rescan(smbdev->psmouse->ps2dev.serio); } else { list_del(&smbdev->node); @@ -174,6 +176,8 @@ static void psmouse_smbus_disconnect(struct psmouse *psmouse) kfree(smbdev); } else { smbdev->dead = true; + device_link_remove(&smbdev->client->dev, + &psmouse->ps2dev.serio->dev); psmouse_dbg(smbdev->psmouse, "posting removal request for SMBus companion %s\n", dev_name(&smbdev->client->dev)); @@ -270,6 +274,12 @@ int psmouse_smbus_init(struct psmouse *psmouse, if (smbdev->client) { /* We have our companion device */ + if (!device_link_add(&smbdev->client->dev, + &psmouse->ps2dev.serio->dev, + DL_FLAG_STATELESS)) + psmouse_warn(psmouse, + "failed to set up link with iSMBus companion %s\n", + dev_name(&smbdev->client->dev)); return 0; } |
