[rtc-linux] Re: [PATCH 7/7] mfd: cros_ec: add RTC as mfd subdevice
On Mon, 03 Apr 2017, Enric Balletbo i Serra wrote: > > > On 03/04/17 16:25, Lee Jones wrote: > > On Fri, 24 Mar 2017, Enric Balletbo i Serra wrote: > > > >> From: Stephen Barber> >> > >> If the EC supports RTC host commands, expose an RTC device. > >> > >> Signed-off-by: Stephen Barber > >> Signed-off-by: Enric Balletbo i Serra > >> --- > >> drivers/mfd/cros_ec.c | 18 ++ > >> 1 file changed, 18 insertions(+) > >> > >> diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c > >> index bbc17ab..1ff88b1 100644 > >> --- a/drivers/mfd/cros_ec.c > >> +++ b/drivers/mfd/cros_ec.c > >> @@ -51,6 +51,11 @@ static const struct mfd_cell ec_pd_cell = { > >>.pdata_size = sizeof(pd_p), > >> }; > >> > >> +static const struct mfd_cell ec_rtc_cell = { > >> + .name = "cros-ec-rtc", > >> + .id = -1, > > > > Why -1? > > > >> +}; > >> + > >> static irqreturn_t ec_irq_thread(int irq, void *data) > >> { > >>struct cros_ec_device *ec_dev = data; > >> @@ -238,6 +243,15 @@ static void cros_ec_sensors_register(struct > >> cros_ec_device *ec_dev) > >>kfree(msg); > >> } > >> > >> +static void cros_ec_rtc_register(struct cros_ec_device *ec_dev) > >> +{ > >> + int ret; > >> + > >> + ret = mfd_add_devices(ec_dev->dev, 0, _rtc_cell, 1, NULL, 0, NULL); > > > > Why 0? > > > > Right, just maintained the one in the original. I think I can use > PLATFORM_DEVID_AUTO here? Yes, and don't set the .id to -1 in the cell. > >> + if (ret) > >> + dev_err(ec_dev->dev, "failed to add EC RTC\n"); > >> +} > >> + > >> int cros_ec_register(struct cros_ec_device *ec_dev) > >> { > >>struct device *dev = ec_dev->dev; > >> @@ -287,6 +301,10 @@ int cros_ec_register(struct cros_ec_device *ec_dev) > >>if (cros_ec_check_features(ec_dev, EC_FEATURE_MOTION_SENSE)) > >>cros_ec_sensors_register(ec_dev); > >> > >> + /* Check whether this EC has RTC support */ > >> + if (cros_ec_check_features(ec_dev, EC_FEATURE_RTC)) > >> + cros_ec_rtc_register(ec_dev); > >> + > >>if (ec_dev->max_passthru) { > >>/* > >> * Register a PD device as well on top of this device. > > -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[rtc-linux] Re: [PATCH 7/7] mfd: cros_ec: add RTC as mfd subdevice
On 03/04/17 16:25, Lee Jones wrote: > On Fri, 24 Mar 2017, Enric Balletbo i Serra wrote: > >> From: Stephen Barber>> >> If the EC supports RTC host commands, expose an RTC device. >> >> Signed-off-by: Stephen Barber >> Signed-off-by: Enric Balletbo i Serra >> --- >> drivers/mfd/cros_ec.c | 18 ++ >> 1 file changed, 18 insertions(+) >> >> diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c >> index bbc17ab..1ff88b1 100644 >> --- a/drivers/mfd/cros_ec.c >> +++ b/drivers/mfd/cros_ec.c >> @@ -51,6 +51,11 @@ static const struct mfd_cell ec_pd_cell = { >> .pdata_size = sizeof(pd_p), >> }; >> >> +static const struct mfd_cell ec_rtc_cell = { >> +.name = "cros-ec-rtc", >> +.id = -1, > > Why -1? > >> +}; >> + >> static irqreturn_t ec_irq_thread(int irq, void *data) >> { >> struct cros_ec_device *ec_dev = data; >> @@ -238,6 +243,15 @@ static void cros_ec_sensors_register(struct >> cros_ec_device *ec_dev) >> kfree(msg); >> } >> >> +static void cros_ec_rtc_register(struct cros_ec_device *ec_dev) >> +{ >> +int ret; >> + >> +ret = mfd_add_devices(ec_dev->dev, 0, _rtc_cell, 1, NULL, 0, NULL); > > Why 0? > Right, just maintained the one in the original. I think I can use PLATFORM_DEVID_AUTO here? >> +if (ret) >> +dev_err(ec_dev->dev, "failed to add EC RTC\n"); >> +} >> + >> int cros_ec_register(struct cros_ec_device *ec_dev) >> { >> struct device *dev = ec_dev->dev; >> @@ -287,6 +301,10 @@ int cros_ec_register(struct cros_ec_device *ec_dev) >> if (cros_ec_check_features(ec_dev, EC_FEATURE_MOTION_SENSE)) >> cros_ec_sensors_register(ec_dev); >> >> +/* Check whether this EC has RTC support */ >> +if (cros_ec_check_features(ec_dev, EC_FEATURE_RTC)) >> +cros_ec_rtc_register(ec_dev); >> + >> if (ec_dev->max_passthru) { >> /* >> * Register a PD device as well on top of this device. > -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[rtc-linux] Re: [PATCH 7/7] mfd: cros_ec: add RTC as mfd subdevice
On Fri, 24 Mar 2017, Enric Balletbo i Serra wrote: > From: Stephen Barber> > If the EC supports RTC host commands, expose an RTC device. > > Signed-off-by: Stephen Barber > Signed-off-by: Enric Balletbo i Serra > --- > drivers/mfd/cros_ec.c | 18 ++ > 1 file changed, 18 insertions(+) > > diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c > index bbc17ab..1ff88b1 100644 > --- a/drivers/mfd/cros_ec.c > +++ b/drivers/mfd/cros_ec.c > @@ -51,6 +51,11 @@ static const struct mfd_cell ec_pd_cell = { > .pdata_size = sizeof(pd_p), > }; > > +static const struct mfd_cell ec_rtc_cell = { > + .name = "cros-ec-rtc", > + .id = -1, Why -1? > +}; > + > static irqreturn_t ec_irq_thread(int irq, void *data) > { > struct cros_ec_device *ec_dev = data; > @@ -238,6 +243,15 @@ static void cros_ec_sensors_register(struct > cros_ec_device *ec_dev) > kfree(msg); > } > > +static void cros_ec_rtc_register(struct cros_ec_device *ec_dev) > +{ > + int ret; > + > + ret = mfd_add_devices(ec_dev->dev, 0, _rtc_cell, 1, NULL, 0, NULL); Why 0? > + if (ret) > + dev_err(ec_dev->dev, "failed to add EC RTC\n"); > +} > + > int cros_ec_register(struct cros_ec_device *ec_dev) > { > struct device *dev = ec_dev->dev; > @@ -287,6 +301,10 @@ int cros_ec_register(struct cros_ec_device *ec_dev) > if (cros_ec_check_features(ec_dev, EC_FEATURE_MOTION_SENSE)) > cros_ec_sensors_register(ec_dev); > > + /* Check whether this EC has RTC support */ > + if (cros_ec_check_features(ec_dev, EC_FEATURE_RTC)) > + cros_ec_rtc_register(ec_dev); > + > if (ec_dev->max_passthru) { > /* >* Register a PD device as well on top of this device. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.