Re: [PATCH 4/4] mfd: cros_ec: add RTC as mfd subdevice
From: Lee Jones
Date: Wed Jan 18 2017 - 04:10:17 EST
On Wed, 18 Jan 2017, Alexandre Belloni wrote:
> I don't think that one has your ack, is it ok for me to take it?
This set looks MFD heavy, so it's probably best that the set goes
through MFD. Once the RTC patch has been fixed of course.
Unless you want to take the whole set, in which case I'll need a
signed immutable branch from you.
> On 11/01/2017 at 17:52:21 +0100, Enric Balletbo i Serra wrote :
> > From: Stephen Barber <smbarber@xxxxxxxxxxxx>
> >
> > If the EC supports RTC host commands, expose an RTC device.
> >
> > Signed-off-by: Stephen Barber <smbarber@xxxxxxxxxxxx>
> > Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx>
> > ---
> > drivers/platform/chrome/cros_ec_dev.c | 22 ++++++++++++++++++++++
> > 1 file changed, 22 insertions(+)
> >
> > diff --git a/drivers/platform/chrome/cros_ec_dev.c b/drivers/platform/chrome/cros_ec_dev.c
> > index 47268ec..ebe029d 100644
> > --- a/drivers/platform/chrome/cros_ec_dev.c
> > +++ b/drivers/platform/chrome/cros_ec_dev.c
> > @@ -383,6 +383,24 @@ static void cros_ec_sensors_register(struct cros_ec_dev *ec)
> > kfree(msg);
> > }
> >
> > +static const struct mfd_cell cros_ec_rtc_devs[] = {
> > + {
> > + .name = "cros-ec-rtc",
> > + .id = -1,
> > + },
> > +};
> > +
> > +static void cros_ec_rtc_register(struct cros_ec_dev *ec)
> > +{
> > + int ret;
> > +
> > + ret = mfd_add_devices(ec->dev, 0, cros_ec_rtc_devs,
> > + ARRAY_SIZE(cros_ec_rtc_devs),
> > + NULL, 0, NULL);
> > + if (ret)
> > + dev_err(ec->dev, "failed to add cros-ec-rtc device: %d\n", ret);
> > +}
> > +
> > static int ec_device_probe(struct platform_device *pdev)
> > {
> > int retval = -ENOMEM;
> > @@ -441,6 +459,10 @@ static int ec_device_probe(struct platform_device *pdev)
> > if (cros_ec_check_features(ec, EC_FEATURE_MOTION_SENSE))
> > cros_ec_sensors_register(ec);
> >
> > + /* check whether this EC instance has RTC host command support */
> > + if (cros_ec_check_features(ec, EC_FEATURE_RTC))
> > + cros_ec_rtc_register(ec);
> > +
> > return 0;
> >
> > dev_reg_failed:
>
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog