Messages in this thread | | | Subject | Re: [PATCH v3] mfd: cros_ec: instantiate properly CrOS ISH MCU device | From | Enric Balletbo i Serra <> | Date | Fri, 1 Mar 2019 10:50:39 +0100 |
| |
Hi Rushikesh,
On 1/3/19 9:20, Rushikesh S Kadam wrote: > 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> > --- > v3 > - Dropped "Intel" in commments in cros_ec header file. CrOS EC ISH > device is a generic ISH. This was missed earlier. > v2 > - Addressed review comments to term the CrOS EC device as a generic > Integrated Sensor Hub. > v1 > - Initial version. > > drivers/mfd/cros_ec_dev.c | 13 +++++++++++++ > include/linux/mfd/cros_ec.h | 1 + > include/linux/mfd/cros_ec_commands.h | 2 ++ > 3 files changed, 16 insertions(+) > > diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c > index 2d0fee4..46963c2 100644 > --- a/drivers/mfd/cros_ec_dev.c > +++ b/drivers/mfd/cros_ec_dev.c > @@ -415,6 +415,19 @@ static int ec_device_probe(struct platform_device *pdev) > cdev_init(&ec->cdev, &fops); > > /* > + * 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, "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 > * in devtmpfs. > 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..43bee4f 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 Integrated Sensor Hub */ > + EC_FEATURE_ISH = 40, > }; > > #define EC_FEATURE_MASK_0(event_code) (1UL << (event_code % 32)) >
Acked-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
| |