Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1615245 > unrolled thread

Re: [PATCH 7/7] mfd: cros_ec: add RTC as mfd subdevice

Started byLee Jones <lee.jones@linaro.org>
First post2017-04-03 16:30 +0200
Last post2017-04-04 10:40 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 7/7] mfd: cros_ec: add RTC as mfd subdevice Lee Jones <lee.jones@linaro.org> - 2017-04-03 16:30 +0200
    Re: [PATCH 7/7] mfd: cros_ec: add RTC as mfd subdevice Enric Balletbo i Serra <enric.balletbo@collabora.com> - 2017-04-03 17:10 +0200
      Re: [PATCH 7/7] mfd: cros_ec: add RTC as mfd subdevice Lee Jones <lee.jones@linaro.org> - 2017-04-04 10:40 +0200

#1615245 — Re: [PATCH 7/7] mfd: cros_ec: add RTC as mfd subdevice

FromLee Jones <lee.jones@linaro.org>
Date2017-04-03 16:30 +0200
SubjectRe: [PATCH 7/7] mfd: cros_ec: add RTC as mfd subdevice
Message-ID<tsb9w-80W-19@gated-at.bofh.it>
On Fri, 24 Mar 2017, Enric Balletbo i Serra wrote:

> From: Stephen Barber <smbarber@chromium.org>
> 
> If the EC supports RTC host commands, expose an RTC device.
> 
> Signed-off-by: Stephen Barber <smbarber@chromium.org>
> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> ---
>  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, &ec_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

[toc] | [next] | [standalone]


#1615308

FromEnric Balletbo i Serra <enric.balletbo@collabora.com>
Date2017-04-03 17:10 +0200
Message-ID<tsbMe-8vF-23@gated-at.bofh.it>
In reply to#1615245

On 03/04/17 16:25, Lee Jones wrote:
> On Fri, 24 Mar 2017, Enric Balletbo i Serra wrote:
> 
>> From: Stephen Barber <smbarber@chromium.org>
>>
>> If the EC supports RTC host commands, expose an RTC device.
>>
>> Signed-off-by: Stephen Barber <smbarber@chromium.org>
>> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
>> ---
>>  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, &ec_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.
> 

[toc] | [prev] | [next] | [standalone]


#1615787

FromLee Jones <lee.jones@linaro.org>
Date2017-04-04 10:40 +0200
Message-ID<tssan-2oD-23@gated-at.bofh.it>
In reply to#1615308
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 <smbarber@chromium.org>
> >>
> >> If the EC supports RTC host commands, expose an RTC device.
> >>
> >> Signed-off-by: Stephen Barber <smbarber@chromium.org>
> >> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
> >> ---
> >>  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, &ec_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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web