Messages in this thread | | | From | Gwendal Grignou <> | Date | Fri, 1 Mar 2019 08:19:43 -0800 | Subject | Re: [PATCH v3] mfd: cros_ec: instantiate properly CrOS ISH MCU device |
| |
On Fri, Mar 1, 2019 at 1:50 AM Enric Balletbo i Serra <enric.balletbo@collabora.com> wrote: > > 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> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>>
| |