Re: [PATCH v4 4/8] mfd: cros_ec_dev: Register cros-ec-rtc driver as a subdevice.
From: Lee Jones
Date: Wed Mar 28 2018 - 06:54:25 EST
On Tue, 20 Mar 2018, Enric Balletbo i Serra wrote:
> Check whether this EC instance has RTC host command support and instatiate
> the RTC driver as a subdevice in such case.
>
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@xxxxxxxxxxxxx>
> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx>
> Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> ---
>
> Changes in v4:
> - [4/8] Nit: check -> Check (Lee Jones)
> - [4/8] Use ARRAY_SIZE() instead of hardcoded number (Lee Jones)
>
> Changes in v3:
> - [4/8] Add the Reviewed-by Andy Shevchenko.
>
> Changes in v2:
> - [4/8] Add the Reviewed-by Gwendal.
>
> drivers/mfd/cros_ec_dev.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/drivers/mfd/cros_ec_dev.c b/drivers/mfd/cros_ec_dev.c
> index f98e5beffca6..f60a53f11942 100644
> --- a/drivers/mfd/cros_ec_dev.c
> +++ b/drivers/mfd/cros_ec_dev.c
> @@ -389,6 +389,12 @@ static void cros_ec_sensors_register(struct cros_ec_dev *ec)
> kfree(msg);
> }
>
> +static const struct mfd_cell cros_ec_rtc_cells[] = {
> + {
> + .name = "cros-ec-rtc",
> + }
You're going to hate me, but ...
One line and no need for the comma.
{ .name = "cros-ec-rtc" }
> +};
> +
> static int ec_device_probe(struct platform_device *pdev)
> {
> int retval = -ENOMEM;
> @@ -437,6 +443,18 @@ 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)) {
> + retval = mfd_add_devices(ec->dev, PLATFORM_DEVID_AUTO,
> + cros_ec_rtc_cells,
> + ARRAY_SIZE(cros_ec_rtc_cells),
> + NULL, 0, NULL);
> + if (retval)
> + dev_err(ec->dev,
> + "failed to add cros-ec-rtc device: %d\n",
> + retval);
> + }
> +
> /* Take control of the lightbar from the EC. */
> lb_manual_suspend_ctrl(ec, 1);
>
--
Lee Jones [æçæ]
Linaro Services Technical Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog