All of lore.kernel.org
 help / color / mirror / Atom feed
From: amit daniel kachhap <amit.daniel@samsung.com>
To: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Cc: Lee Jones <lee.jones@linaro.org>,
	Alessandro Zummo <a.zummo@towertech.it>,
	Krzysztof Kozlowski <k.kozlowski@samsung.com>,
	Kukjin Kim <kgene.kim@samsung.com>,
	Mike Turquette <mturquette@linaro.org>,
	Tomeu Vizoso <tomeu.vizoso@collabora.com>,
	devicetree@vger.kernel.org,
	Yadwinder Singh Brar <yadi.brar01@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Doug Anderson <dianders@chromium.org>,
	Tushar Behera <trblinux@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	"linux-samsung-soc@vger.kernel.org" 
	<linux-samsung-soc@vger.kernel.org>,
	Olof Johansson <olof@lixom.net>,
	Andreas Farber <afaerber@suse.de>,
	LAK <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v7 08/24] mfd: max77686: Add Dynamic Voltage Scaling (DVS) support
Date: Thu, 10 Jul 2014 15:29:54 +0530	[thread overview]
Message-ID: <CADGdYn6tyTBZOjZH8JBUVMJ1kh-tht=tkU4tA+oM=PbfTYkqGw@mail.gmail.com> (raw)
In-Reply-To: <1404505467-26526-9-git-send-email-javier.martinez@collabora.co.uk>

On Sat, Jul 5, 2014 at 1:54 AM, Javier Martinez Canillas
<javier.martinez@collabora.co.uk> wrote:
> Some regulators on the MAX77686 PMIC have Dynamic Voltage Scaling
> (DVS) support that allows output voltage to change dynamically.
>
> For MAX77686, these regulators are Buck regulators 2, 3 and 4.
>
> Each Buck output voltage is selected using a set of external
> inputs: DVS1-3 and SELB2-4.
>
> DVS registers can be used to configure the output voltages for each
> Buck regulator and which one is active is controled by DVSx lines.
>
> SELBx lines are used to control if individual Buck lines are ON or OFF.
>
> This patch adds support to configure the DVSx and SELBx lines
> from DT and to setup and read the GPIO lines connected to them.

The entire series looks nice. Few minor comments from my side. I guess
still one more version in needed as per other ppls comment.
You may add,
Reviewed-by: Amit Daniel Kachhap <amit.daniel@samsung.com>

>
> Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>
> Changes since v6:
>  - Add a comment that max77686_read_gpios() function can sleep.
>    Sugggested by Krzysztof Kozlowski
> ---
>  drivers/mfd/max77686.c       | 119 +++++++++++++++++++++++++++++++++++++++++++
>  include/linux/mfd/max77686.h |  18 ++++---
>  2 files changed, 129 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/mfd/max77686.c b/drivers/mfd/max77686.c
> index 8650832..d193873 100644
> --- a/drivers/mfd/max77686.c
> +++ b/drivers/mfd/max77686.c
> @@ -32,8 +32,10 @@
>  #include <linux/mfd/core.h>
>  #include <linux/mfd/max77686.h>
>  #include <linux/mfd/max77686-private.h>
> +#include <linux/gpio/consumer.h>
>  #include <linux/err.h>
>  #include <linux/of.h>
> +#include <linux/export.h>
>
>  #define I2C_ADDR_RTC   (0x0C >> 1)
>
> @@ -101,9 +103,119 @@ static const struct of_device_id max77686_pmic_dt_match[] = {
>         {},
>  };
>
> +static void max77686_dt_parse_dvs_gpio(struct device *dev)
> +{
> +       struct max77686_platform_data *pd = dev_get_platdata(dev);
> +       int i;
> +
> +       /*
> +        * NOTE: we don't consider GPIO errors fatal; board may have some lines
> +        * directly pulled high or low and thus doesn't specify them.
> +        */
> +       for (i = 0; i < ARRAY_SIZE(pd->buck_gpio_dvs); i++)
> +               pd->buck_gpio_dvs[i] =
> +                       devm_gpiod_get_index(dev, "max77686,pmic-buck-dvs", i);
> +
> +       for (i = 0; i < ARRAY_SIZE(pd->buck_gpio_selb); i++)
> +               pd->buck_gpio_selb[i] =
> +                       devm_gpiod_get_index(dev, "max77686,pmic-buck-selb", i);
> +}
> +
> +/**
> + * max77686_setup_gpios() - init DVS-related GPIOs
> + * @dev: device whose platform data contains the dvs GPIOs information
> + *
> + * This function claims / initalizations GPIOs related to DVS if they are
> + * defined. This may have the effect of switching voltages if the
> + * pdata->buck_default_idx does not match the boot time state of pins.
> + */
> +int max77686_setup_gpios(struct device *dev)
> +{
> +       struct max77686_platform_data *pd = dev_get_platdata(dev);
> +       int buck_default_idx = pd->buck_default_idx;
> +       int ret;
> +       int i;
> +
> +       /* Set all SELB high to avoid glitching while DVS is changing */
> +       for (i = 0; i < ARRAY_SIZE(pd->buck_gpio_selb); i++) {
> +               struct gpio_desc *gpio = pd->buck_gpio_selb[i];
> +
> +               /* OK if some GPIOs aren't defined */
> +               if (IS_ERR(gpio))
> +                       continue;
> +
> +               ret = gpiod_direction_output_raw(gpio, 1);
> +               if (ret) {
> +                       dev_err(dev, "can't set gpio[%d] dir: %d\n", i, ret);
> +                       return ret;
> +               }
> +       }
> +
> +       /* Set our initial setting */
> +       for (i = 0; i < ARRAY_SIZE(pd->buck_gpio_dvs); i++) {
> +               struct gpio_desc *gpio = pd->buck_gpio_dvs[i];
> +
> +               /* OK if some GPIOs aren't defined */
> +               if (IS_ERR(gpio))
> +                       continue;
> +
> +               /* If a GPIO is valid, set it */
> +               gpiod_direction_output(gpio, (buck_default_idx >> i) & 1);
> +               if (ret) {
> +                       dev_err(dev, "can't set gpio[%d]: dir %d\n", i, ret);
> +                       return ret;
> +               }
> +       }
> +
> +       /* Now set SELB low to take effect */
> +       for (i = 0; i < ARRAY_SIZE(pd->buck_gpio_selb); i++) {
> +               struct gpio_desc *gpio = pd->buck_gpio_selb[i];
> +
> +               if (!IS_ERR(gpio))
> +                       gpiod_set_value(gpio, 0);
> +       }
> +
> +       return 0;
> +}
> +EXPORT_SYMBOL_GPL(max77686_setup_gpios);
> +
> +/**
> + * max77686_read_gpios() - read the current state of the dvs GPIOs
> + * @pdata: platform data that contains the dvs GPIOs information
> + *
> + * We call this function at bootup to detect what slot the firmware was
> + * using for the DVS GPIOs.  That way we can properly preserve the firmware's
> + * voltage settings
> + *
> + * This function can sleep so must not be called from atomic context.
> + */
> +int max77686_read_gpios(struct max77686_platform_data *pdata)
> +{
> +       int buck_default_idx = pdata->buck_default_idx;
> +       int result = 0;
> +       int i;
> +
> +       for (i = 0; i < ARRAY_SIZE(pdata->buck_gpio_dvs); i++) {
> +               struct gpio_desc *gpio = pdata->buck_gpio_dvs[i];
> +
> +               /* OK if some GPIOs aren't defined; we'll use default */
> +               if (IS_ERR(gpio)) {
> +                       result |= buck_default_idx & (1 << i);
> +                       continue;
> +               }
> +
> +               if (gpiod_get_value_cansleep(gpio))
> +                       result |= 1 << i;
> +       }
> +
> +       return result;
> +}
> +EXPORT_SYMBOL_GPL(max77686_read_gpios);
> +
>  static struct max77686_platform_data *max77686_i2c_parse_dt_pdata(struct device
>                                                                   *dev)
>  {
> +       struct device_node *np = dev->of_node;
>         struct max77686_platform_data *pd;
>
>         pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
> @@ -111,6 +223,13 @@ static struct max77686_platform_data *max77686_i2c_parse_dt_pdata(struct device
>                 return NULL;
>
>         dev->platform_data = pd;
> +
> +       /* Read default index and ignore errors, since default is 0 */
> +       of_property_read_u32(np, "max77686,pmic-buck-default-dvs-idx",
> +                            &pd->buck_default_idx);
Any error checking code here. Say if pmic-buck-default-dvs-idx exceed 8?
> +
> +       max77686_dt_parse_dvs_gpio(dev);
> +
>         return pd;
>  }
>
> diff --git a/include/linux/mfd/max77686.h b/include/linux/mfd/max77686.h
> index 4cbcc13..46a736b 100644
> --- a/include/linux/mfd/max77686.h
> +++ b/include/linux/mfd/max77686.h
> @@ -99,15 +99,17 @@ struct max77686_platform_data {
>         struct max77686_opmode_data *opmode_data;
>
>         /*
> -        * GPIO-DVS feature is not enabled with the current version of
> -        * MAX77686 driver. Buck2/3/4_voltages[0] is used as the default
> -        * voltage at probe. DVS/SELB gpios are set as OUTPUT-LOW.
> +        * GPIO-DVS feature is not fully enabled with the current version of
> +        * MAX77686 driver, but the driver does support using a DVS index other
> +        * than the default of 0.
>          */
> -       int buck234_gpio_dvs[3]; /* GPIO of [0]DVS1, [1]DVS2, [2]DVS3 */
> -       int buck234_gpio_selb[3]; /* [0]SELB2, [1]SELB3, [2]SELB4 */
> -       unsigned int buck2_voltage[8]; /* buckx_voltage in uV */
> -       unsigned int buck3_voltage[8];
> -       unsigned int buck4_voltage[8];
I think when DVS gpio is used all the 8 voltage levels are fetched
from DT during booting and the registers are programmed accordingly.
Any further set/get_voltage just changes the GPIO lines.
Any reason why this method is not used?
> +       struct gpio_desc *buck_gpio_dvs[3]; /* GPIO of [0]DVS1, [1]DVS2, [2]DVS3 */
> +       int buck_default_idx; /* Default value of DVS1, 2, 3 */
> +
> +       struct gpio_desc *buck_gpio_selb[3]; /* Buck regulators 2, 3, 4 */
>  };
>
> +extern int max77686_setup_gpios(struct device *dev);
> +extern int max77686_read_gpios(struct max77686_platform_data *pdata);
> +
>  #endif /* __LINUX_MFD_MAX77686_H */
> --
> 2.0.0.rc2
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: amit.daniel@samsung.com (amit daniel kachhap)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 08/24] mfd: max77686: Add Dynamic Voltage Scaling (DVS) support
Date: Thu, 10 Jul 2014 15:29:54 +0530	[thread overview]
Message-ID: <CADGdYn6tyTBZOjZH8JBUVMJ1kh-tht=tkU4tA+oM=PbfTYkqGw@mail.gmail.com> (raw)
In-Reply-To: <1404505467-26526-9-git-send-email-javier.martinez@collabora.co.uk>

On Sat, Jul 5, 2014 at 1:54 AM, Javier Martinez Canillas
<javier.martinez@collabora.co.uk> wrote:
> Some regulators on the MAX77686 PMIC have Dynamic Voltage Scaling
> (DVS) support that allows output voltage to change dynamically.
>
> For MAX77686, these regulators are Buck regulators 2, 3 and 4.
>
> Each Buck output voltage is selected using a set of external
> inputs: DVS1-3 and SELB2-4.
>
> DVS registers can be used to configure the output voltages for each
> Buck regulator and which one is active is controled by DVSx lines.
>
> SELBx lines are used to control if individual Buck lines are ON or OFF.
>
> This patch adds support to configure the DVSx and SELBx lines
> from DT and to setup and read the GPIO lines connected to them.

The entire series looks nice. Few minor comments from my side. I guess
still one more version in needed as per other ppls comment.
You may add,
Reviewed-by: Amit Daniel Kachhap <amit.daniel@samsung.com>

>
> Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> ---
>
> Changes since v6:
>  - Add a comment that max77686_read_gpios() function can sleep.
>    Sugggested by Krzysztof Kozlowski
> ---
>  drivers/mfd/max77686.c       | 119 +++++++++++++++++++++++++++++++++++++++++++
>  include/linux/mfd/max77686.h |  18 ++++---
>  2 files changed, 129 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/mfd/max77686.c b/drivers/mfd/max77686.c
> index 8650832..d193873 100644
> --- a/drivers/mfd/max77686.c
> +++ b/drivers/mfd/max77686.c
> @@ -32,8 +32,10 @@
>  #include <linux/mfd/core.h>
>  #include <linux/mfd/max77686.h>
>  #include <linux/mfd/max77686-private.h>
> +#include <linux/gpio/consumer.h>
>  #include <linux/err.h>
>  #include <linux/of.h>
> +#include <linux/export.h>
>
>  #define I2C_ADDR_RTC   (0x0C >> 1)
>
> @@ -101,9 +103,119 @@ static const struct of_device_id max77686_pmic_dt_match[] = {
>         {},
>  };
>
> +static void max77686_dt_parse_dvs_gpio(struct device *dev)
> +{
> +       struct max77686_platform_data *pd = dev_get_platdata(dev);
> +       int i;
> +
> +       /*
> +        * NOTE: we don't consider GPIO errors fatal; board may have some lines
> +        * directly pulled high or low and thus doesn't specify them.
> +        */
> +       for (i = 0; i < ARRAY_SIZE(pd->buck_gpio_dvs); i++)
> +               pd->buck_gpio_dvs[i] =
> +                       devm_gpiod_get_index(dev, "max77686,pmic-buck-dvs", i);
> +
> +       for (i = 0; i < ARRAY_SIZE(pd->buck_gpio_selb); i++)
> +               pd->buck_gpio_selb[i] =
> +                       devm_gpiod_get_index(dev, "max77686,pmic-buck-selb", i);
> +}
> +
> +/**
> + * max77686_setup_gpios() - init DVS-related GPIOs
> + * @dev: device whose platform data contains the dvs GPIOs information
> + *
> + * This function claims / initalizations GPIOs related to DVS if they are
> + * defined. This may have the effect of switching voltages if the
> + * pdata->buck_default_idx does not match the boot time state of pins.
> + */
> +int max77686_setup_gpios(struct device *dev)
> +{
> +       struct max77686_platform_data *pd = dev_get_platdata(dev);
> +       int buck_default_idx = pd->buck_default_idx;
> +       int ret;
> +       int i;
> +
> +       /* Set all SELB high to avoid glitching while DVS is changing */
> +       for (i = 0; i < ARRAY_SIZE(pd->buck_gpio_selb); i++) {
> +               struct gpio_desc *gpio = pd->buck_gpio_selb[i];
> +
> +               /* OK if some GPIOs aren't defined */
> +               if (IS_ERR(gpio))
> +                       continue;
> +
> +               ret = gpiod_direction_output_raw(gpio, 1);
> +               if (ret) {
> +                       dev_err(dev, "can't set gpio[%d] dir: %d\n", i, ret);
> +                       return ret;
> +               }
> +       }
> +
> +       /* Set our initial setting */
> +       for (i = 0; i < ARRAY_SIZE(pd->buck_gpio_dvs); i++) {
> +               struct gpio_desc *gpio = pd->buck_gpio_dvs[i];
> +
> +               /* OK if some GPIOs aren't defined */
> +               if (IS_ERR(gpio))
> +                       continue;
> +
> +               /* If a GPIO is valid, set it */
> +               gpiod_direction_output(gpio, (buck_default_idx >> i) & 1);
> +               if (ret) {
> +                       dev_err(dev, "can't set gpio[%d]: dir %d\n", i, ret);
> +                       return ret;
> +               }
> +       }
> +
> +       /* Now set SELB low to take effect */
> +       for (i = 0; i < ARRAY_SIZE(pd->buck_gpio_selb); i++) {
> +               struct gpio_desc *gpio = pd->buck_gpio_selb[i];
> +
> +               if (!IS_ERR(gpio))
> +                       gpiod_set_value(gpio, 0);
> +       }
> +
> +       return 0;
> +}
> +EXPORT_SYMBOL_GPL(max77686_setup_gpios);
> +
> +/**
> + * max77686_read_gpios() - read the current state of the dvs GPIOs
> + * @pdata: platform data that contains the dvs GPIOs information
> + *
> + * We call this function at bootup to detect what slot the firmware was
> + * using for the DVS GPIOs.  That way we can properly preserve the firmware's
> + * voltage settings
> + *
> + * This function can sleep so must not be called from atomic context.
> + */
> +int max77686_read_gpios(struct max77686_platform_data *pdata)
> +{
> +       int buck_default_idx = pdata->buck_default_idx;
> +       int result = 0;
> +       int i;
> +
> +       for (i = 0; i < ARRAY_SIZE(pdata->buck_gpio_dvs); i++) {
> +               struct gpio_desc *gpio = pdata->buck_gpio_dvs[i];
> +
> +               /* OK if some GPIOs aren't defined; we'll use default */
> +               if (IS_ERR(gpio)) {
> +                       result |= buck_default_idx & (1 << i);
> +                       continue;
> +               }
> +
> +               if (gpiod_get_value_cansleep(gpio))
> +                       result |= 1 << i;
> +       }
> +
> +       return result;
> +}
> +EXPORT_SYMBOL_GPL(max77686_read_gpios);
> +
>  static struct max77686_platform_data *max77686_i2c_parse_dt_pdata(struct device
>                                                                   *dev)
>  {
> +       struct device_node *np = dev->of_node;
>         struct max77686_platform_data *pd;
>
>         pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
> @@ -111,6 +223,13 @@ static struct max77686_platform_data *max77686_i2c_parse_dt_pdata(struct device
>                 return NULL;
>
>         dev->platform_data = pd;
> +
> +       /* Read default index and ignore errors, since default is 0 */
> +       of_property_read_u32(np, "max77686,pmic-buck-default-dvs-idx",
> +                            &pd->buck_default_idx);
Any error checking code here. Say if pmic-buck-default-dvs-idx exceed 8?
> +
> +       max77686_dt_parse_dvs_gpio(dev);
> +
>         return pd;
>  }
>
> diff --git a/include/linux/mfd/max77686.h b/include/linux/mfd/max77686.h
> index 4cbcc13..46a736b 100644
> --- a/include/linux/mfd/max77686.h
> +++ b/include/linux/mfd/max77686.h
> @@ -99,15 +99,17 @@ struct max77686_platform_data {
>         struct max77686_opmode_data *opmode_data;
>
>         /*
> -        * GPIO-DVS feature is not enabled with the current version of
> -        * MAX77686 driver. Buck2/3/4_voltages[0] is used as the default
> -        * voltage at probe. DVS/SELB gpios are set as OUTPUT-LOW.
> +        * GPIO-DVS feature is not fully enabled with the current version of
> +        * MAX77686 driver, but the driver does support using a DVS index other
> +        * than the default of 0.
>          */
> -       int buck234_gpio_dvs[3]; /* GPIO of [0]DVS1, [1]DVS2, [2]DVS3 */
> -       int buck234_gpio_selb[3]; /* [0]SELB2, [1]SELB3, [2]SELB4 */
> -       unsigned int buck2_voltage[8]; /* buckx_voltage in uV */
> -       unsigned int buck3_voltage[8];
> -       unsigned int buck4_voltage[8];
I think when DVS gpio is used all the 8 voltage levels are fetched
from DT during booting and the registers are programmed accordingly.
Any further set/get_voltage just changes the GPIO lines.
Any reason why this method is not used?
> +       struct gpio_desc *buck_gpio_dvs[3]; /* GPIO of [0]DVS1, [1]DVS2, [2]DVS3 */
> +       int buck_default_idx; /* Default value of DVS1, 2, 3 */
> +
> +       struct gpio_desc *buck_gpio_selb[3]; /* Buck regulators 2, 3, 4 */
>  };
>
> +extern int max77686_setup_gpios(struct device *dev);
> +extern int max77686_read_gpios(struct max77686_platform_data *pdata);
> +
>  #endif /* __LINUX_MFD_MAX77686_H */
> --
> 2.0.0.rc2
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2014-07-10  9:59 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-04 20:24 [PATCH v7 00/24] Add Maxim 77802 PMIC support Javier Martinez Canillas
2014-07-04 20:24 ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 01/24] mfd: max77686: Convert to use regmap_irq Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-18  8:17   ` Lee Jones
2014-07-18  8:17     ` Lee Jones
2014-07-04 20:24 ` [PATCH v7 02/24] mfd: max77686: Add power management support Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-09 14:44   ` Lee Jones
2014-07-09 14:44     ` Lee Jones
2014-07-18  8:17   ` Lee Jones
2014-07-18  8:17     ` Lee Jones
2014-07-04 20:24 ` [PATCH v7 03/24] mfd: max77686: Don't define dummy function if OF isn't enabled Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-09 14:50   ` Lee Jones
2014-07-09 14:50     ` Lee Jones
2014-07-18  8:17   ` Lee Jones
2014-07-18  8:17     ` Lee Jones
2014-07-18  8:17     ` Lee Jones
2014-07-04 20:24 ` [PATCH v7 04/24] mfd: max77686: Make platform data over-rule DT Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-09 14:52   ` Lee Jones
2014-07-09 14:52     ` Lee Jones
2014-07-09 18:15     ` Javier Martinez Canillas
2014-07-09 18:15       ` Javier Martinez Canillas
2014-07-18  8:17   ` Lee Jones
2014-07-18  8:17     ` Lee Jones
2014-07-18  8:17     ` Lee Jones
2014-07-04 20:24 ` [PATCH v7 05/24] mfd: max77686: Return correct error when pdata isn't found Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-09 14:53   ` Lee Jones
2014-07-09 14:53     ` Lee Jones
2014-07-18  8:18   ` Lee Jones
2014-07-18  8:18     ` Lee Jones
2014-07-18  8:18     ` Lee Jones
2014-07-04 20:24 ` [PATCH v7 06/24] mfd: max77686: Make error checking consistent Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-09 14:54   ` Lee Jones
2014-07-09 14:54     ` Lee Jones
2014-07-18  8:18   ` Lee Jones
2014-07-18  8:18     ` Lee Jones
2014-07-04 20:24 ` [PATCH v7 07/24] mfd: max77686: Remove unneeded OOM error message Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-18  8:18   ` Lee Jones
2014-07-18  8:18     ` Lee Jones
2014-07-18  8:18     ` Lee Jones
2014-07-04 20:24 ` [PATCH v7 08/24] mfd: max77686: Add Dynamic Voltage Scaling (DVS) support Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-09 15:13   ` Lee Jones
2014-07-09 15:13     ` Lee Jones
2014-07-09 18:40     ` Javier Martinez Canillas
2014-07-09 18:40       ` Javier Martinez Canillas
2014-07-10  9:46   ` Linus Walleij
2014-07-10  9:46     ` Linus Walleij
2014-07-11  0:51     ` Javier Martinez Canillas
2014-07-10  9:59   ` amit daniel kachhap [this message]
2014-07-10  9:59     ` amit daniel kachhap
2014-07-10  9:59     ` amit daniel kachhap
2014-07-11  1:45     ` Javier Martinez Canillas
2014-07-11  1:45       ` Javier Martinez Canillas
2014-07-11  1:45       ` Javier Martinez Canillas
2014-07-11  4:02       ` Doug Anderson
2014-07-11  4:02         ` Doug Anderson
2014-07-11  4:02         ` Doug Anderson
2014-07-11  9:37       ` amit daniel kachhap
2014-07-11  9:37         ` amit daniel kachhap
2014-07-11  9:37         ` amit daniel kachhap
2014-07-11  9:43       ` Tomasz Figa
2014-07-11  9:43         ` Tomasz Figa
2014-07-11  9:43         ` Tomasz Figa
2014-07-11 10:15         ` Javier Martinez Canillas
2014-07-11 10:15           ` Javier Martinez Canillas
2014-07-11 10:15           ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 09/24] rtc: max77686: Allow the max77686 rtc to wakeup the system Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 10/24] rtc: max77686: Remove dead code for SMPL and WTSR Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-07  6:09   ` Krzysztof Kozlowski
2014-07-07  6:09     ` Krzysztof Kozlowski
2014-07-04 20:24 ` [PATCH v7 11/24] clk: max77686: Add DT include for MAX77686 PMIC clock Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 12/24] clk: Add generic driver for Maxim PMIC clocks Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 13/24] clk: max77686: Convert to the generic max clock driver Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 14/24] clk: max77686: Improve Maxim 77686 PMIC clocks binding Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 15/24] regmap: Add regmap_reg_copy function Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 16/24] regulator: max77686: Setup DVS-related GPIOs on probe Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 17/24] mfd: max77686: Add documentation for DVS bindings Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 18/24] mfd: max77686: Add Maxim 77802 PMIC support Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-09 15:31   ` Lee Jones
2014-07-09 15:31     ` Lee Jones
2014-07-09 18:43     ` Javier Martinez Canillas
2014-07-09 18:43       ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 19/24] mfd: max77802: Add DT binding documentation Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 20/24] regulator: Add driver for Maxim 77802 PMIC regulators Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 21/24] clk: Add driver for Maxim 77802 PMIC clocks Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 22/24] clk: max77802: Add DT binding documentation Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 23/24] rtc: Add driver for Maxim 77802 PMIC Real-Time-Clock Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas
2014-07-07  6:06   ` Krzysztof Kozlowski
2014-07-07  6:06     ` Krzysztof Kozlowski
2014-07-07  6:57     ` Javier Martinez Canillas
2014-07-07  6:57       ` Javier Martinez Canillas
2014-07-07  6:57       ` Javier Martinez Canillas
2014-07-04 20:24 ` [PATCH v7 24/24] ARM: dts: Add max77802 to exynos5420-peach-pit and exynos5800-peach-pi Javier Martinez Canillas
2014-07-04 20:24   ` Javier Martinez Canillas

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='CADGdYn6tyTBZOjZH8JBUVMJ1kh-tht=tkU4tA+oM=PbfTYkqGw@mail.gmail.com' \
    --to=amit.daniel@samsung.com \
    --cc=a.zummo@towertech.it \
    --cc=afaerber@suse.de \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=javier.martinez@collabora.co.uk \
    --cc=k.kozlowski@samsung.com \
    --cc=kgene.kim@samsung.com \
    --cc=lee.jones@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=mturquette@linaro.org \
    --cc=olof@lixom.net \
    --cc=tomeu.vizoso@collabora.com \
    --cc=trblinux@gmail.com \
    --cc=yadi.brar01@gmail.com \
    /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.