History

mfd: cros_ec: Instantiate properly CrOS Touchpad MCU device

Support Touchpad MCU as a special of CrOS EC devices. The current Touchpad MCU is used on Eve Chromebook and used the same protocol as other CrOS EC devices. When a MCU has touchpad support (aka EC_FEATURE_TOUCHPAD), it is instantiated as a special CrOS EC device with device name 'cros_tp'. So regardless of the probing order between the actual cros_ec and cros_tp, the userspace and other kernel drivers should not confuse them.

Enric Balletbo i Serra committed 7 years ago

Commit 4f8f2bb1 parent 90486af2 files · +11 −0Browse files

Unified · Split

2 files
  1. drivers/mfd/cros_ec_dev.c +10 −0
  2. include/linux/mfd/cros_ec.h +1 −0
drivers/mfd/cros_ec_dev.c+10−0
@@ -442,6 +442,16 @@ static int ec_device_probe(struct platform_device *pdev) · 441 unmodified lines
442 ec_platform->ec_name = CROS_EC_DEV_ISH_NAME;442 ec_platform->ec_name = CROS_EC_DEV_ISH_NAME;
443 }443 }
444 444
445 /* Check whether this is actually a Touchpad MCU rather than an EC */
446 if (cros_ec_check_features(ec, EC_FEATURE_TOUCHPAD)) {
447 dev_info(dev, "CrOS Touchpad MCU detected.\n");
448 /*
449 * Help userspace differentiating ECs from TP MCU,
450 * regardless of the probing order.
451 */
452 ec_platform->ec_name = CROS_EC_DEV_TP_NAME;
453 }
454
445 /*455 /*
446 * Add the class device456 * Add the class device
447 * Link to the character device for creating the /dev entry457 * Link to the character device for creating the /dev entry
include/linux/mfd/cros_ec.h+1−0
@@ -25,6 +25,7 @@ · 24 unmodified lines
25#define CROS_EC_DEV_NAME "cros_ec"25#define CROS_EC_DEV_NAME "cros_ec"
26#define CROS_EC_DEV_FP_NAME "cros_fp"26#define CROS_EC_DEV_FP_NAME "cros_fp"
27#define CROS_EC_DEV_PD_NAME "cros_pd"27#define CROS_EC_DEV_PD_NAME "cros_pd"
28#define CROS_EC_DEV_TP_NAME "cros_tp"
28#define CROS_EC_DEV_ISH_NAME "cros_ish"29#define CROS_EC_DEV_ISH_NAME "cros_ish"
29 30
30/*31/*

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t