All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi-l0cyMroinI0@public.gmane.org>
To: lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org
Cc: sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] mfd: twl6040: Optional clk32k clock handling
Date: Thu, 24 Apr 2014 12:15:33 +0300	[thread overview]
Message-ID: <5358D635.7010809@ti.com> (raw)
In-Reply-To: <1396522482-32036-1-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>

Lee,

On 04/03/2014 01:54 PM, Peter Ujfalusi wrote:
> In certain boards the source for the clk32k clock can be gated. In these
> boards the clk32k clock can be provided to the driver and it is going to be
> enabled/disabled when it is needed.
> If the clk32k clock is not provided the driver will assume that it is always
> running.

Do you want me to resend this patch, it seams to be missing from next still.

Thanks,
Péter

> 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi-l0cyMroinI0@public.gmane.org>
> ---
>  Documentation/devicetree/bindings/mfd/twl6040.txt |  2 ++
>  drivers/mfd/twl6040.c                             | 10 ++++++++++
>  include/linux/mfd/twl6040.h                       |  2 ++
>  3 files changed, 14 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/twl6040.txt b/Documentation/devicetree/bindings/mfd/twl6040.txt
> index 0f5dd709d752..a41157b5d930 100644
> --- a/Documentation/devicetree/bindings/mfd/twl6040.txt
> +++ b/Documentation/devicetree/bindings/mfd/twl6040.txt
> @@ -19,6 +19,8 @@ Required properties:
>  
>  Optional properties, nodes:
>  - enable-active-high: To power on the twl6040 during boot.
> +- clocks: phandle to the clk32k clock provider
> +- clock-names: Must be "clk32k"
>  
>  Vibra functionality
>  Required properties:
> diff --git a/drivers/mfd/twl6040.c b/drivers/mfd/twl6040.c
> index 2e6504a8e1e3..12b314ea48dc 100644
> --- a/drivers/mfd/twl6040.c
> +++ b/drivers/mfd/twl6040.c
> @@ -291,6 +291,8 @@ int twl6040_power(struct twl6040 *twl6040, int on)
>  		if (twl6040->power_count++)
>  			goto out;
>  
> +		clk_prepare_enable(twl6040->clk32k);
> +
>  		/* Allow writes to the chip */
>  		regcache_cache_only(twl6040->regmap, false);
>  
> @@ -346,6 +348,8 @@ int twl6040_power(struct twl6040 *twl6040, int on)
>  
>  		twl6040->sysclk = 0;
>  		twl6040->mclk = 0;
> +
> +		clk_disable_unprepare(twl6040->clk32k);
>  	}
>  
>  out:
> @@ -644,6 +648,12 @@ static int twl6040_probe(struct i2c_client *client,
>  
>  	i2c_set_clientdata(client, twl6040);
>  
> +	twl6040->clk32k = devm_clk_get(&client->dev, "clk32k");
> +	if (IS_ERR(twl6040->clk32k)) {
> +		dev_info(&client->dev, "clk32k is not handled\n");
> +		twl6040->clk32k = NULL;
> +	}
> +
>  	twl6040->supplies[0].supply = "vio";
>  	twl6040->supplies[1].supply = "v2v1";
>  	ret = devm_regulator_bulk_get(&client->dev, TWL6040_NUM_SUPPLIES,
> diff --git a/include/linux/mfd/twl6040.h b/include/linux/mfd/twl6040.h
> index a69d16b30c18..8f9fc3d26e6d 100644
> --- a/include/linux/mfd/twl6040.h
> +++ b/include/linux/mfd/twl6040.h
> @@ -28,6 +28,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/mfd/core.h>
>  #include <linux/regulator/consumer.h>
> +#include <linux/clk.h>
>  
>  #define TWL6040_REG_ASICID		0x01
>  #define TWL6040_REG_ASICREV		0x02
> @@ -223,6 +224,7 @@ struct twl6040 {
>  	struct regmap *regmap;
>  	struct regmap_irq_chip_data *irq_data;
>  	struct regulator_bulk_data supplies[2]; /* supplies for vio, v2v1 */
> +	struct clk *clk32k;
>  	struct mutex mutex;
>  	struct mutex irq_mutex;
>  	struct mfd_cell cells[TWL6040_CELLS];
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: <lee.jones@linaro.org>
Cc: <sameo@linux.intel.com>, <devicetree@vger.kernel.org>,
	<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mfd: twl6040: Optional clk32k clock handling
Date: Thu, 24 Apr 2014 12:15:33 +0300	[thread overview]
Message-ID: <5358D635.7010809@ti.com> (raw)
In-Reply-To: <1396522482-32036-1-git-send-email-peter.ujfalusi@ti.com>

Lee,

On 04/03/2014 01:54 PM, Peter Ujfalusi wrote:
> In certain boards the source for the clk32k clock can be gated. In these
> boards the clk32k clock can be provided to the driver and it is going to be
> enabled/disabled when it is needed.
> If the clk32k clock is not provided the driver will assume that it is always
> running.

Do you want me to resend this patch, it seams to be missing from next still.

Thanks,
Péter

> 
> Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> ---
>  Documentation/devicetree/bindings/mfd/twl6040.txt |  2 ++
>  drivers/mfd/twl6040.c                             | 10 ++++++++++
>  include/linux/mfd/twl6040.h                       |  2 ++
>  3 files changed, 14 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/twl6040.txt b/Documentation/devicetree/bindings/mfd/twl6040.txt
> index 0f5dd709d752..a41157b5d930 100644
> --- a/Documentation/devicetree/bindings/mfd/twl6040.txt
> +++ b/Documentation/devicetree/bindings/mfd/twl6040.txt
> @@ -19,6 +19,8 @@ Required properties:
>  
>  Optional properties, nodes:
>  - enable-active-high: To power on the twl6040 during boot.
> +- clocks: phandle to the clk32k clock provider
> +- clock-names: Must be "clk32k"
>  
>  Vibra functionality
>  Required properties:
> diff --git a/drivers/mfd/twl6040.c b/drivers/mfd/twl6040.c
> index 2e6504a8e1e3..12b314ea48dc 100644
> --- a/drivers/mfd/twl6040.c
> +++ b/drivers/mfd/twl6040.c
> @@ -291,6 +291,8 @@ int twl6040_power(struct twl6040 *twl6040, int on)
>  		if (twl6040->power_count++)
>  			goto out;
>  
> +		clk_prepare_enable(twl6040->clk32k);
> +
>  		/* Allow writes to the chip */
>  		regcache_cache_only(twl6040->regmap, false);
>  
> @@ -346,6 +348,8 @@ int twl6040_power(struct twl6040 *twl6040, int on)
>  
>  		twl6040->sysclk = 0;
>  		twl6040->mclk = 0;
> +
> +		clk_disable_unprepare(twl6040->clk32k);
>  	}
>  
>  out:
> @@ -644,6 +648,12 @@ static int twl6040_probe(struct i2c_client *client,
>  
>  	i2c_set_clientdata(client, twl6040);
>  
> +	twl6040->clk32k = devm_clk_get(&client->dev, "clk32k");
> +	if (IS_ERR(twl6040->clk32k)) {
> +		dev_info(&client->dev, "clk32k is not handled\n");
> +		twl6040->clk32k = NULL;
> +	}
> +
>  	twl6040->supplies[0].supply = "vio";
>  	twl6040->supplies[1].supply = "v2v1";
>  	ret = devm_regulator_bulk_get(&client->dev, TWL6040_NUM_SUPPLIES,
> diff --git a/include/linux/mfd/twl6040.h b/include/linux/mfd/twl6040.h
> index a69d16b30c18..8f9fc3d26e6d 100644
> --- a/include/linux/mfd/twl6040.h
> +++ b/include/linux/mfd/twl6040.h
> @@ -28,6 +28,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/mfd/core.h>
>  #include <linux/regulator/consumer.h>
> +#include <linux/clk.h>
>  
>  #define TWL6040_REG_ASICID		0x01
>  #define TWL6040_REG_ASICREV		0x02
> @@ -223,6 +224,7 @@ struct twl6040 {
>  	struct regmap *regmap;
>  	struct regmap_irq_chip_data *irq_data;
>  	struct regulator_bulk_data supplies[2]; /* supplies for vio, v2v1 */
> +	struct clk *clk32k;
>  	struct mutex mutex;
>  	struct mutex irq_mutex;
>  	struct mfd_cell cells[TWL6040_CELLS];
> 

  parent reply	other threads:[~2014-04-24  9:15 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-03 10:54 [PATCH] mfd: twl6040: Optional clk32k clock handling Peter Ujfalusi
2014-04-03 10:54 ` Peter Ujfalusi
     [not found] ` <1396522482-32036-1-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
2014-04-03 10:54   ` Peter Ujfalusi
2014-04-03 10:54     ` Peter Ujfalusi
2014-04-24  9:15   ` Peter Ujfalusi [this message]
2014-04-24  9:15     ` Peter Ujfalusi
2014-04-28 10:36 ` Lee Jones
2014-04-28 10:46   ` Peter Ujfalusi
2014-04-28 10:46     ` Peter Ujfalusi
2014-04-28 12:50     ` Lee Jones
2014-04-28 12:51 ` Lee Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5358D635.7010809@ti.com \
    --to=peter.ujfalusi-l0cymroini0@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=sameo-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.