|
@@ -377,6 +377,10 @@ error:
|
|
kfree(msg);
|
|
kfree(msg);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static const struct mfd_cell cros_ec_cec_cells[] = {
|
|
|
|
+ { .name = "cros-ec-cec" }
|
|
|
|
+};
|
|
|
|
+
|
|
static const struct mfd_cell cros_ec_rtc_cells[] = {
|
|
static const struct mfd_cell cros_ec_rtc_cells[] = {
|
|
{ .name = "cros-ec-rtc" }
|
|
{ .name = "cros-ec-rtc" }
|
|
};
|
|
};
|
|
@@ -419,6 +423,18 @@ static int ec_device_probe(struct platform_device *pdev)
|
|
if (cros_ec_check_features(ec, EC_FEATURE_MOTION_SENSE))
|
|
if (cros_ec_check_features(ec, EC_FEATURE_MOTION_SENSE))
|
|
cros_ec_sensors_register(ec);
|
|
cros_ec_sensors_register(ec);
|
|
|
|
|
|
|
|
+ /* Check whether this EC instance has CEC host command support */
|
|
|
|
+ if (cros_ec_check_features(ec, EC_FEATURE_CEC)) {
|
|
|
|
+ retval = mfd_add_devices(ec->dev, PLATFORM_DEVID_AUTO,
|
|
|
|
+ cros_ec_cec_cells,
|
|
|
|
+ ARRAY_SIZE(cros_ec_cec_cells),
|
|
|
|
+ NULL, 0, NULL);
|
|
|
|
+ if (retval)
|
|
|
|
+ dev_err(ec->dev,
|
|
|
|
+ "failed to add cros-ec-cec device: %d\n",
|
|
|
|
+ retval);
|
|
|
|
+ }
|
|
|
|
+
|
|
/* Check whether this EC instance has RTC host command support */
|
|
/* Check whether this EC instance has RTC host command support */
|
|
if (cros_ec_check_features(ec, EC_FEATURE_RTC)) {
|
|
if (cros_ec_check_features(ec, EC_FEATURE_RTC)) {
|
|
retval = mfd_add_devices(ec->dev, PLATFORM_DEVID_AUTO,
|
|
retval = mfd_add_devices(ec->dev, PLATFORM_DEVID_AUTO,
|