RE: [PATCH 1/3] Input: elan_i2c - Do no operation for elan_smbus_set_mode function
From: Dave.Wang <hidden>
Date: 2020-07-22 02:29:42
Also in:
lkml
Dear Dmitry, Are there devices that do not trigger errors? => Yes, there exist devices that would act normally. However, our team cannot organize the rule to recognize which devices could trigger this command without error. What I sure about is that some devices would get TP no function while triggering this command. Besides, ABS mode had been set in P/S2 protocol, so there is no need to set ABS mode again in SMBUS driver. How do we put SMbus devices into low power mode? => As far as I am concerned, core.c only set the mode into ABS mode or ENABLE_CALIBRATE mode after updating firmware. I don't know what or when to set SMbus devices into low power mode. Best regards, Dave -----Original Message----- From: Dmitry Torokhov [mailto:dmitry.torokhov@gmail.com] Sent: Wednesday, July 22, 2020 12:13 AM To: Dave Wang <redacted> Cc: Linux-input@vger.kernel.org; Linux-kernel@vger.kernel.org; phoenix@emc.com.tw; josh.chen@emc.com.tw; jingle.wu@emc.com.tw; kai.heng.feng@canonical.com Subject: Re: [PATCH 1/3] Input: elan_i2c - Do no operation for elan_smbus_set_mode function Hi Dave, On Mon, Dec 09, 2019 at 06:11:07AM -0500, Dave Wang wrote:
Some touchpads might get error while triggerring the set_mode command in SMBus interface. Do no operation for elan_smbus_set_mode function.
Are there devices that do not trigger errors? How do we put SMbus devices into low power mode?
quoted hunk ↗ jump to hunk
Signed-off-by: Dave Wang <redacted> --- drivers/input/mouse/elan_i2c_smbus.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)diff --git a/drivers/input/mouse/elan_i2c_smbus.cb/drivers/input/mouse/elan_i2c_smbus.c index 8c3185d54c73..bcb9ec4a7a6b 100644--- a/drivers/input/mouse/elan_i2c_smbus.c +++ b/drivers/input/mouse/elan_i2c_smbus.c@@ -84,10 +84,7 @@ static int elan_smbus_initialize(struct i2c_client*client) static int elan_smbus_set_mode(struct i2c_client *client, u8 mode) { - u8 cmd[4] = { 0x00, 0x07, 0x00, mode }; - - return i2c_smbus_write_block_data(client, ETP_SMBUS_IAP_CMD, - sizeof(cmd), cmd); + return 0; /* A no-op */ } static int elan_smbus_sleep_control(struct i2c_client *client, bool sleep) -- 2.17.1
Thanks. -- Dmitry