Messages in this thread | | | From | Enric Balletbo Serra <> | Date | Thu, 28 Feb 2019 13:33:09 +0100 | Subject | Re: [PATCH] cros_ec: instantiate properly Intel ISH MCU device |
| |
Hi,
Based on the discussion we had, only some few comments.
Missatge de Rushikesh S Kadam <rushikesh.s.kadam@intel.com> del dia dg., 24 de febr. 2019 a les 10:15: > > Intel Integrated Sensor Hub (ISH) is also a MCU running EC > having feature bit EC_FEATURE_ISH. Instantiate it as a special > CrOS EC device with device name 'cros_ish'. > > Signed-off-by: Rushikesh S Kadam <rushikesh.s.kadam@intel.com> > --- > drivers/mfd/cros_ec_dev.c | 10 ++++++++++ > include/linux/mfd/cros_ec.h | 1 + > include/linux/mfd/cros_ec_commands.h | 2 ++
Better if you use the "mfd: cros_ec:" prefix in the next version so it's clear that this should go through the MFD tree.
> 3 files changed, 13 insertions(+) > > diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c > index 2d0fee4..be499b8 100644 > --- a/drivers/mfd/cros_ec_dev.c > +++ b/drivers/mfd/cros_ec_dev.c > @@ -414,6 +414,16 @@ static int ec_device_probe(struct platform_device *pdev) > device_initialize(&ec->class_dev); > cdev_init(&ec->cdev, &fops); > > + /* check whether this is actually a Intel ISH rather than an EC */
"Check whether this is actually an Integrated Sensor Hub (ISH) rather than an EC"?
> + if (cros_ec_check_features(ec, EC_FEATURE_ISH)) { > + dev_info(dev, "Intel ISH MCU detected.\n");
dev_info(dev, "CrOS ISH MCU detected.\n"); ?
> + /* > + * Help userspace differentiating ECs from ISH MCU, > + * regardless of the probing order. > + */ > + ec_platform->ec_name = CROS_EC_DEV_ISH_NAME; > + } > + > /* > * Add the class device > * Link to the character device for creating the /dev entry > diff --git a/include/linux/mfd/cros_ec.h b/include/linux/mfd/cros_ec.h > index de8b588..00c5765 100644 > --- a/include/linux/mfd/cros_ec.h > +++ b/include/linux/mfd/cros_ec.h > @@ -24,6 +24,7 @@ > > #define CROS_EC_DEV_NAME "cros_ec" > #define CROS_EC_DEV_PD_NAME "cros_pd" > +#define CROS_EC_DEV_ISH_NAME "cros_ish" > > /* > * The EC is unresponsive for a time after a reboot command. Add a > diff --git a/include/linux/mfd/cros_ec_commands.h b/include/linux/mfd/cros_ec_commands.h > index fc91082..9276c3c 100644 > --- a/include/linux/mfd/cros_ec_commands.h > +++ b/include/linux/mfd/cros_ec_commands.h > @@ -856,6 +856,8 @@ enum ec_feature_code { > EC_FEATURE_RTC = 27, > /* EC supports CEC commands */ > EC_FEATURE_CEC = 35, > + /* The MCU is an Intel Integrated Sensor Hub */ > + EC_FEATURE_ISH = 40,
Just a note that we will have a trivial conflict to solve with https://lkml.org/lkml/2019/2/27/723
> }; > > #define EC_FEATURE_MASK_0(event_code) (1UL << (event_code % 32)) > -- > 1.9.1 >
Best regards, Enric
| |