hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/input/keyboard/cros_ec_keyb.c
....@@ -22,8 +22,8 @@
2222 #include <linux/slab.h>
2323 #include <linux/sysrq.h>
2424 #include <linux/input/matrix_keypad.h>
25
-#include <linux/mfd/cros_ec.h>
26
-#include <linux/mfd/cros_ec_commands.h>
25
+#include <linux/platform_data/cros_ec_commands.h>
26
+#include <linux/platform_data/cros_ec_proto.h>
2727
2828 #include <asm/unaligned.h>
2929
....@@ -348,18 +348,14 @@
348348 params->info_type = info_type;
349349 params->event_type = event_type;
350350
351
- ret = cros_ec_cmd_xfer(ec_dev, msg);
352
- if (ret < 0) {
353
- dev_warn(ec_dev->dev, "Transfer error %d/%d: %d\n",
354
- (int)info_type, (int)event_type, ret);
355
- } else if (msg->result == EC_RES_INVALID_VERSION) {
351
+ ret = cros_ec_cmd_xfer_status(ec_dev, msg);
352
+ if (ret == -ENOPROTOOPT) {
356353 /* With older ECs we just return 0 for everything */
357354 memset(result, 0, result_size);
358355 ret = 0;
359
- } else if (msg->result != EC_RES_SUCCESS) {
360
- dev_warn(ec_dev->dev, "Error getting info %d/%d: %d\n",
361
- (int)info_type, (int)event_type, msg->result);
362
- ret = -EPROTO;
356
+ } else if (ret < 0) {
357
+ dev_warn(ec_dev->dev, "Transfer error %d/%d: %d\n",
358
+ (int)info_type, (int)event_type, ret);
363359 } else if (ret != result_size) {
364360 dev_warn(ec_dev->dev, "Wrong size %d/%d: %d != %zu\n",
365361 (int)info_type, (int)event_type,