All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20160608141735.GE14888@dell>

diff --git a/a/1.txt b/N1/1.txt
index 415e5dc..0f92ae8 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -24,7 +24,7 @@ Battery support
 
 Swap '.' for ','.
 
-> Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
+> Signed-off-by: Wadim Egorov <w.egorov-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org>
 > ---
 >  drivers/mfd/Kconfig       |   4 +-
 >  drivers/mfd/rk808.c       | 231 ++++++++++++++++++++++++++++++++++++++--------
@@ -65,12 +65,12 @@ Swap '.' for ','.
 >   *
 >   * Copyright (c) 2014, Fuzhou Rockchip Electronics Co., Ltd
 >   *
->   * Author: Chris Zhong <zyw@rock-chips.com>
->   * Author: Zhang Qing <zhangqing@rock-chips.com>
+>   * Author: Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
+>   * Author: Zhang Qing <zhangqing-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
 >   *
 > + * Copyright (C) 2016 PHYTEC Messtechnik GmbH
 > + *
-> + * Author: Wadim Egorov <w.egorov@phytec.de>
+> + * Author: Wadim Egorov <w.egorov-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org>
 > + *
 >   * This program is free software; you can redistribute it and/or modify it
 >   * under the terms and conditions of the GNU General Public License,
@@ -403,10 +403,10 @@ read directly from the silicon?
 >  MODULE_DEVICE_TABLE(i2c, rk808_ids);
 > @@ -272,4 +430,5 @@ module_i2c_driver(rk808_i2c_driver);
 >  MODULE_LICENSE("GPL");
->  MODULE_AUTHOR("Chris Zhong <zyw@rock-chips.com>");
->  MODULE_AUTHOR("Zhang Qing <zhangqing@rock-chips.com>");
+>  MODULE_AUTHOR("Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org>");
+>  MODULE_AUTHOR("Zhang Qing <zhangqing-TNX95d0MmH7DzftRWevZcw@public.gmane.org>");
 > -MODULE_DESCRIPTION("RK808 PMIC driver");
-> +MODULE_AUTHOR("Wadim Egorov <w.egorov@phytec.de>");
+> +MODULE_AUTHOR("Wadim Egorov <w.egorov-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org>");
 > +MODULE_DESCRIPTION("RK808/RK818 PMIC driver");
 > diff --git a/include/linux/mfd/rk808.h b/include/linux/mfd/rk808.h
 > index 441b6ee..5ce810c 100644
@@ -419,12 +419,12 @@ read directly from the silicon?
 >   *
 >   * Copyright (c) 2014, Fuzhou Rockchip Electronics Co., Ltd
 >   *
->   * Author: Chris Zhong <zyw@rock-chips.com>
->   * Author: Zhang Qing <zhangqing@rock-chips.com>
+>   * Author: Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
+>   * Author: Zhang Qing <zhangqing-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
 >   *
 > + * Copyright (C) 2016 PHYTEC Messtechnik GmbH
 > + *
-> + * Author: Wadim Egorov <w.egorov@phytec.de>
+> + * Author: Wadim Egorov <w.egorov-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org>
 > + *
 >   * This program is free software; you can redistribute it and/or modify it
 >   * under the terms and conditions of the GNU General Public License,
@@ -625,3 +625,13 @@ 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+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
+For more options, visit https://groups.google.com/d/optout.
diff --git a/a/content_digest b/N1/content_digest
index e6e7775..4864569 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,26 +1,27 @@
  "ref\01464850228-17244-1-git-send-email-w.egorov@phytec.de\0"
- "From\0Lee Jones <lee.jones@linaro.org>\0"
+ "ref\01464850228-17244-1-git-send-email-w.egorov-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org\0"
+ "From\0Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>\0"
  "Subject\0Re: [RESEND PATCH v5 1/5] mfd: RK808: Add RK818 support\0"
  "Date\0Wed, 8 Jun 2016 15:17:35 +0100\0"
- "To\0Wadim Egorov <w.egorov@phytec.de>\0"
- "Cc\0linux-kernel@vger.kernel.org"
-  linux-clk@vger.kernel.org
-  rtc-linux@googlegroups.com
-  devicetree@vger.kernel.org
-  linux-rockchip@lists.infradead.org
-  robh+dt@kernel.org
-  pawel.moll@arm.com
-  mark.rutland@arm.com
-  ijc+devicetree@hellion.org.uk
-  galak@codeaurora.org
-  mturquette@baylibre.com
-  sboyd@codeaurora.org
-  lgirdwood@gmail.com
-  broonie@kernel.org
-  a.zummo@towertech.it
-  alexandre.belloni@free-electrons.com
-  dianders@chromium.org
- " zyw@rock-chips.com\0"
+ "To\0Wadim Egorov <w.egorov-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org>\0"
+ "Cc\0linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
+  linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
+  rtc-linux-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
+  devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
+  linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
+  robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
+  pawel.moll-5wv7dgnIgG8@public.gmane.org
+  mark.rutland-5wv7dgnIgG8@public.gmane.org
+  ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org
+  galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org
+  mturquette-rdvid1DuHRBWk0Htik3J/w@public.gmane.org
+  sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org
+  lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
+  broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
+  a.zummo-BfzFCNDTiLLj+vYz1yj4TQ@public.gmane.org
+  alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org
+  dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org
+ " zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org\0"
  "\00:1\0"
  "b\0"
  "On Thu, 02 Jun 2016, Wadim Egorov wrote:\n"
@@ -49,7 +50,7 @@
  "\n"
  "Swap '.' for ','.\n"
  "\n"
- "> Signed-off-by: Wadim Egorov <w.egorov@phytec.de>\n"
+ "> Signed-off-by: Wadim Egorov <w.egorov-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org>\n"
  "> ---\n"
  ">  drivers/mfd/Kconfig       |   4 +-\n"
  ">  drivers/mfd/rk808.c       | 231 ++++++++++++++++++++++++++++++++++++++--------\n"
@@ -90,12 +91,12 @@
  ">   *\n"
  ">   * Copyright (c) 2014, Fuzhou Rockchip Electronics Co., Ltd\n"
  ">   *\n"
- ">   * Author: Chris Zhong <zyw@rock-chips.com>\n"
- ">   * Author: Zhang Qing <zhangqing@rock-chips.com>\n"
+ ">   * Author: Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org>\n"
+ ">   * Author: Zhang Qing <zhangqing-TNX95d0MmH7DzftRWevZcw@public.gmane.org>\n"
  ">   *\n"
  "> + * Copyright (C) 2016 PHYTEC Messtechnik GmbH\n"
  "> + *\n"
- "> + * Author: Wadim Egorov <w.egorov@phytec.de>\n"
+ "> + * Author: Wadim Egorov <w.egorov-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org>\n"
  "> + *\n"
  ">   * This program is free software; you can redistribute it and/or modify it\n"
  ">   * under the terms and conditions of the GNU General Public License,\n"
@@ -428,10 +429,10 @@
  ">  MODULE_DEVICE_TABLE(i2c, rk808_ids);\n"
  "> @@ -272,4 +430,5 @@ module_i2c_driver(rk808_i2c_driver);\n"
  ">  MODULE_LICENSE(\"GPL\");\n"
- ">  MODULE_AUTHOR(\"Chris Zhong <zyw@rock-chips.com>\");\n"
- ">  MODULE_AUTHOR(\"Zhang Qing <zhangqing@rock-chips.com>\");\n"
+ ">  MODULE_AUTHOR(\"Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org>\");\n"
+ ">  MODULE_AUTHOR(\"Zhang Qing <zhangqing-TNX95d0MmH7DzftRWevZcw@public.gmane.org>\");\n"
  "> -MODULE_DESCRIPTION(\"RK808 PMIC driver\");\n"
- "> +MODULE_AUTHOR(\"Wadim Egorov <w.egorov@phytec.de>\");\n"
+ "> +MODULE_AUTHOR(\"Wadim Egorov <w.egorov-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org>\");\n"
  "> +MODULE_DESCRIPTION(\"RK808/RK818 PMIC driver\");\n"
  "> diff --git a/include/linux/mfd/rk808.h b/include/linux/mfd/rk808.h\n"
  "> index 441b6ee..5ce810c 100644\n"
@@ -444,12 +445,12 @@
  ">   *\n"
  ">   * Copyright (c) 2014, Fuzhou Rockchip Electronics Co., Ltd\n"
  ">   *\n"
- ">   * Author: Chris Zhong <zyw@rock-chips.com>\n"
- ">   * Author: Zhang Qing <zhangqing@rock-chips.com>\n"
+ ">   * Author: Chris Zhong <zyw-TNX95d0MmH7DzftRWevZcw@public.gmane.org>\n"
+ ">   * Author: Zhang Qing <zhangqing-TNX95d0MmH7DzftRWevZcw@public.gmane.org>\n"
  ">   *\n"
  "> + * Copyright (C) 2016 PHYTEC Messtechnik GmbH\n"
  "> + *\n"
- "> + * Author: Wadim Egorov <w.egorov@phytec.de>\n"
+ "> + * Author: Wadim Egorov <w.egorov-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org>\n"
  "> + *\n"
  ">   * This program is free software; you can redistribute it and/or modify it\n"
  ">   * under the terms and conditions of the GNU General Public License,\n"
@@ -649,6 +650,16 @@
  "Lee Jones\n"
  "Linaro STMicroelectronics Landing Team Lead\n"
  "Linaro.org \342\224\202 Open source software for ARM SoCs\n"
- Follow Linaro: Facebook | Twitter | Blog
+ "Follow Linaro: Facebook | Twitter | Blog\n"
+ "\n"
+ "-- \n"
+ "You received this message because you are subscribed to \"rtc-linux\".\n"
+ "Membership options at http://groups.google.com/group/rtc-linux .\n"
+ "Please read http://groups.google.com/group/rtc-linux/web/checklist\n"
+ "before submitting a driver.\n"
+ "--- \n"
+ "You received this message because you are subscribed to the Google Groups \"rtc-linux\" group.\n"
+ "To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org\n"
+ For more options, visit https://groups.google.com/d/optout.
 
-680e5463964f863b7f900f53b28504ae99f68b7246e311f6895e4b012355b665
+a922f14eca6bc833da2b83f7a66b080304baf70dae19a85aabb520f38f971739

diff --git a/a/1.txt b/N2/1.txt
index 415e5dc..2c833ad 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -5,7 +5,7 @@ On Thu, 02 Jun 2016, Wadim Egorov wrote:
 "Power Management IC (PMIC)"
 
 > devices. It contains the following components:
-> 
+>=20
 > - Regulators
 > - RTC
 > - Clkout
@@ -27,17 +27,18 @@ Swap '.' for ','.
 > Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
 > ---
 >  drivers/mfd/Kconfig       |   4 +-
->  drivers/mfd/rk808.c       | 231 ++++++++++++++++++++++++++++++++++++++--------
+>  drivers/mfd/rk808.c       | 231 ++++++++++++++++++++++++++++++++++++++--=
+------
 >  include/linux/mfd/rk808.h | 162 ++++++++++++++++++++++++++++++--
 >  3 files changed, 350 insertions(+), 47 deletions(-)
-> 
+>=20
 > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
 > index 1bcf601..7ba464b 100644
 > --- a/drivers/mfd/Kconfig
 > +++ b/drivers/mfd/Kconfig
 > @@ -839,13 +839,13 @@ config MFD_RC5T583
 >  	  different functionality of the device.
->  
+> =20
 >  config MFD_RK808
 > -	tristate "Rockchip RK808 Power Management chip"
 > +	tristate "Rockchip RK808/RK818 Power Management chip"
@@ -72,7 +73,8 @@ Swap '.' for ','.
 > + *
 > + * Author: Wadim Egorov <w.egorov@phytec.de>
 > + *
->   * This program is free software; you can redistribute it and/or modify it
+>   * This program is free software; you can redistribute it and/or modify =
+it
 >   * under the terms and conditions of the GNU General Public License,
 >   * version 2, as published by the Free Software Foundation.
 > @@ -22,12 +26,7 @@
@@ -89,54 +91,56 @@ Swap '.' for ','.
 Why are you moving this to the header?
 
 > +#include <linux/of_device.h>
->  
+> =20
 >  static bool rk808_is_volatile_reg(struct device *dev, unsigned int reg)
 >  {
-> @@ -57,6 +56,14 @@ static bool rk808_is_volatile_reg(struct device *dev, unsigned int reg)
+> @@ -57,6 +56,14 @@ static bool rk808_is_volatile_reg(struct device *dev, =
+unsigned int reg)
 >  	return false;
 >  }
->  
-> +static const struct regmap_config rk818_regmap_config = {
-> +	.reg_bits = 8,
-> +	.val_bits = 8,
-> +	.max_register = RK818_USB_CTRL_REG,
-> +	.cache_type = REGCACHE_RBTREE,
-> +	.volatile_reg = rk808_is_volatile_reg,
+> =20
+> +static const struct regmap_config rk818_regmap_config =3D {
+> +	.reg_bits =3D 8,
+> +	.val_bits =3D 8,
+> +	.max_register =3D RK818_USB_CTRL_REG,
+> +	.cache_type =3D REGCACHE_RBTREE,
+> +	.volatile_reg =3D rk808_is_volatile_reg,
 > +};
 > +
->  static const struct regmap_config rk808_regmap_config = {
->  	.reg_bits = 8,
->  	.val_bits = 8,
-> @@ -83,7 +90,17 @@ static const struct mfd_cell rk808s[] = {
+>  static const struct regmap_config rk808_regmap_config =3D {
+>  	.reg_bits =3D 8,
+>  	.val_bits =3D 8,
+> @@ -83,7 +90,17 @@ static const struct mfd_cell rk808s[] =3D {
 >  	},
 >  };
->  
-> -static const struct rk808_reg_data pre_init_reg[] = {
-> +static const struct mfd_cell rk818s[] = {
-> +	{ .name = "rk808-clkout", },
+> =20
+> -static const struct rk808_reg_data pre_init_reg[] =3D {
+> +static const struct mfd_cell rk818s[] =3D {
+> +	{ .name =3D "rk808-clkout", },
 
 How does this differ to a normal -clock driver?
 
-> +	{ .name = "rk808-regulator", },
+> +	{ .name =3D "rk808-regulator", },
 > +	{
-> +		.name = "rk808-rtc",
-> +		.num_resources = ARRAY_SIZE(rtc_resources),
-> +		.resources = &rtc_resources[0],
+> +		.name =3D "rk808-rtc",
+> +		.num_resources =3D ARRAY_SIZE(rtc_resources),
+> +		.resources =3D &rtc_resources[0],
 
-.resources = rtc_resources,  ?
+.resources =3D rtc_resources,  ?
 
 > +	},
 > +};
 > +
-> +static const struct rk8xx_reg_data rk808_pre_init_reg[] = {
+> +static const struct rk8xx_reg_data rk808_pre_init_reg[] =3D {
 >  	{ RK808_BUCK3_CONFIG_REG, BUCK_ILMIN_MASK,  BUCK_ILMIN_150MA },
 >  	{ RK808_BUCK4_CONFIG_REG, BUCK_ILMIN_MASK,  BUCK_ILMIN_200MA },
 >  	{ RK808_BOOST_CONFIG_REG, BOOST_ILMIN_MASK, BOOST_ILMIN_100MA },
-> @@ -94,6 +111,22 @@ static const struct rk808_reg_data pre_init_reg[] = {
+> @@ -94,6 +111,22 @@ static const struct rk808_reg_data pre_init_reg[] =3D=
+ {
 >  						    VB_LO_SEL_3500MV },
 >  };
->  
-> +static const struct rk8xx_reg_data rk818_pre_init_reg[] = {
+> =20
+> +static const struct rk8xx_reg_data rk818_pre_init_reg[] =3D {
 > +	{ RK818_USB_CTRL_REG,	RK818_USB_ILIM_SEL_MASK,
 > +						RK818_USB_ILMIN_2000MA },
 > +	/* close charger when usb lower then 3.4V */
@@ -154,100 +158,100 @@ How does this differ to a normal -clock driver?
 
 The alignment here looks odd.
 
->  static const struct regmap_irq rk808_irqs[] = {
+>  static const struct regmap_irq rk808_irqs[] =3D {
 >  	/* INT_STS */
->  	[RK808_IRQ_VOUT_LO] = {
-> @@ -136,6 +169,76 @@ static const struct regmap_irq rk808_irqs[] = {
+>  	[RK808_IRQ_VOUT_LO] =3D {
+> @@ -136,6 +169,76 @@ static const struct regmap_irq rk808_irqs[] =3D {
 >  	},
 >  };
->  
-> +static const struct regmap_irq rk818_irqs[] = {
+> =20
+> +static const struct regmap_irq rk818_irqs[] =3D {
 > +	/* INT_STS */
-> +	[RK818_IRQ_VOUT_LO] = {
-> +		.mask = RK818_IRQ_VOUT_LO_MSK,
-> +		.reg_offset = 0,
+> +	[RK818_IRQ_VOUT_LO] =3D {
+> +		.mask =3D RK818_IRQ_VOUT_LO_MSK,
+> +		.reg_offset =3D 0,
 > +	},
-> +	[RK818_IRQ_VB_LO] = {
-> +		.mask = RK818_IRQ_VB_LO_MSK,
-> +		.reg_offset = 0,
+> +	[RK818_IRQ_VB_LO] =3D {
+> +		.mask =3D RK818_IRQ_VB_LO_MSK,
+> +		.reg_offset =3D 0,
 > +	},
-> +	[RK818_IRQ_PWRON] = {
-> +		.mask = RK818_IRQ_PWRON_MSK,
-> +		.reg_offset = 0,
+> +	[RK818_IRQ_PWRON] =3D {
+> +		.mask =3D RK818_IRQ_PWRON_MSK,
+> +		.reg_offset =3D 0,
 > +	},
-> +	[RK818_IRQ_PWRON_LP] = {
-> +		.mask = RK818_IRQ_PWRON_LP_MSK,
-> +		.reg_offset = 0,
+> +	[RK818_IRQ_PWRON_LP] =3D {
+> +		.mask =3D RK818_IRQ_PWRON_LP_MSK,
+> +		.reg_offset =3D 0,
 > +	},
-> +	[RK818_IRQ_HOTDIE] = {
-> +		.mask = RK818_IRQ_HOTDIE_MSK,
-> +		.reg_offset = 0,
+> +	[RK818_IRQ_HOTDIE] =3D {
+> +		.mask =3D RK818_IRQ_HOTDIE_MSK,
+> +		.reg_offset =3D 0,
 > +	},
-> +	[RK818_IRQ_RTC_ALARM] = {
-> +		.mask = RK818_IRQ_RTC_ALARM_MSK,
-> +		.reg_offset = 0,
+> +	[RK818_IRQ_RTC_ALARM] =3D {
+> +		.mask =3D RK818_IRQ_RTC_ALARM_MSK,
+> +		.reg_offset =3D 0,
 > +	},
-> +	[RK818_IRQ_RTC_PERIOD] = {
-> +		.mask = RK818_IRQ_RTC_PERIOD_MSK,
-> +		.reg_offset = 0,
+> +	[RK818_IRQ_RTC_PERIOD] =3D {
+> +		.mask =3D RK818_IRQ_RTC_PERIOD_MSK,
+> +		.reg_offset =3D 0,
 > +	},
-> +	[RK818_IRQ_USB_OV] = {
-> +		.mask = RK818_IRQ_USB_OV_MSK,
-> +		.reg_offset = 0,
+> +	[RK818_IRQ_USB_OV] =3D {
+> +		.mask =3D RK818_IRQ_USB_OV_MSK,
+> +		.reg_offset =3D 0,
 > +	},
 > +
 > +	/* INT_STS2 */
-> +	[RK818_IRQ_PLUG_IN] = {
-> +		.mask = RK818_IRQ_PLUG_IN_MSK,
-> +		.reg_offset = 1,
+> +	[RK818_IRQ_PLUG_IN] =3D {
+> +		.mask =3D RK818_IRQ_PLUG_IN_MSK,
+> +		.reg_offset =3D 1,
 > +	},
-> +	[RK818_IRQ_PLUG_OUT] = {
-> +		.mask = RK818_IRQ_PLUG_OUT_MSK,
-> +		.reg_offset = 1,
+> +	[RK818_IRQ_PLUG_OUT] =3D {
+> +		.mask =3D RK818_IRQ_PLUG_OUT_MSK,
+> +		.reg_offset =3D 1,
 > +	},
-> +	[RK818_IRQ_CHG_OK] = {
-> +		.mask = RK818_IRQ_CHG_OK_MSK,
-> +		.reg_offset = 1,
+> +	[RK818_IRQ_CHG_OK] =3D {
+> +		.mask =3D RK818_IRQ_CHG_OK_MSK,
+> +		.reg_offset =3D 1,
 > +	},
-> +	[RK818_IRQ_CHG_TE] = {
-> +		.mask = RK818_IRQ_CHG_TE_MSK,
-> +		.reg_offset = 1,
+> +	[RK818_IRQ_CHG_TE] =3D {
+> +		.mask =3D RK818_IRQ_CHG_TE_MSK,
+> +		.reg_offset =3D 1,
 > +	},
-> +	[RK818_IRQ_CHG_TS1] = {
-> +		.mask = RK818_IRQ_CHG_TS1_MSK,
-> +		.reg_offset = 1,
+> +	[RK818_IRQ_CHG_TS1] =3D {
+> +		.mask =3D RK818_IRQ_CHG_TS1_MSK,
+> +		.reg_offset =3D 1,
 > +	},
-> +	[RK818_IRQ_TS2] = {
-> +		.mask = RK818_IRQ_TS2_MSK,
-> +		.reg_offset = 1,
+> +	[RK818_IRQ_TS2] =3D {
+> +		.mask =3D RK818_IRQ_TS2_MSK,
+> +		.reg_offset =3D 1,
 > +	},
-> +	[RK818_IRQ_CHG_CVTLIM] = {
-> +		.mask = RK818_IRQ_CHG_CVTLIM_MSK,
-> +		.reg_offset = 1,
+> +	[RK818_IRQ_CHG_CVTLIM] =3D {
+> +		.mask =3D RK818_IRQ_CHG_CVTLIM_MSK,
+> +		.reg_offset =3D 1,
 > +	},
-> +	[RK818_IRQ_DISCHG_ILIM] = {
-> +		.mask = RK818_IRQ_DISCHG_ILIM_MSK,
-> +		.reg_offset = 1,
+> +	[RK818_IRQ_DISCHG_ILIM] =3D {
+> +		.mask =3D RK818_IRQ_DISCHG_ILIM_MSK,
+> +		.reg_offset =3D 1,
 > +	},
 > +};
 > +
->  static struct regmap_irq_chip rk808_irq_chip = {
->  	.name = "rk808",
->  	.irqs = rk808_irqs,
-> @@ -148,6 +251,18 @@ static struct regmap_irq_chip rk808_irq_chip = {
->  	.init_ack_masked = true,
+>  static struct regmap_irq_chip rk808_irq_chip =3D {
+>  	.name =3D "rk808",
+>  	.irqs =3D rk808_irqs,
+> @@ -148,6 +251,18 @@ static struct regmap_irq_chip rk808_irq_chip =3D {
+>  	.init_ack_masked =3D true,
 >  };
->  
-> +static struct regmap_irq_chip rk818_irq_chip = {
-> +	.name = "rk818",
-> +	.irqs = rk818_irqs,
-> +	.num_irqs = ARRAY_SIZE(rk818_irqs),
-> +	.num_regs = 2,
-> +	.irq_reg_stride = 2,
-> +	.status_base = RK818_INT_STS_REG1,
-> +	.mask_base = RK818_INT_STS_MSK_REG1,
-> +	.ack_base = RK818_INT_STS_REG1,
-> +	.init_ack_masked = true,
+> =20
+> +static struct regmap_irq_chip rk818_irq_chip =3D {
+> +	.name =3D "rk818",
+> +	.irqs =3D rk818_irqs,
+> +	.num_irqs =3D ARRAY_SIZE(rk818_irqs),
+> +	.num_regs =3D 2,
+> +	.irq_reg_stride =3D 2,
+> +	.status_base =3D RK818_INT_STS_REG1,
+> +	.mask_base =3D RK818_INT_STS_MSK_REG1,
+> +	.ack_base =3D RK818_INT_STS_REG1,
+> +	.init_ack_masked =3D true,
 > +};
 > +
 >  static struct i2c_client *rk808_i2c_client;
@@ -256,10 +260,10 @@ The alignment here looks odd.
 > @@ -167,6 +282,48 @@ static void rk808_device_shutdown(void)
 >  		dev_err(&rk808_i2c_client->dev, "power off error!\n");
 >  }
->  
-> +static const struct of_device_id rk808_of_match[] = {
-> +	{ .compatible = "rockchip,rk808", .data = (void *) RK808_ID },
-> +	{ .compatible = "rockchip,rk818", .data = (void *) RK818_ID },
+> =20
+> +static const struct of_device_id rk808_of_match[] =3D {
+> +	{ .compatible =3D "rockchip,rk808", .data =3D (void *) RK808_ID },
+> +	{ .compatible =3D "rockchip,rk818", .data =3D (void *) RK818_ID },
 > +	{ },
 > +};
 > +MODULE_DEVICE_TABLE(of, rk808_of_match);
@@ -273,29 +277,29 @@ It's more common to return the pointer however.
 > +{
 > +	const struct of_device_id *of_id;
 > +
-> +	of_id = of_match_device(rk808_of_match, dev);
+> +	of_id =3D of_match_device(rk808_of_match, dev);
 > +	if (!of_id) {
 > +		dev_err(dev, "Unable to match OF ID\n");
 > +		return -ENODEV;
 > +	}
-> +	rk808->variant = (long) of_id->data;
+> +	rk808->variant =3D (long) of_id->data;
 > +
 > +	switch (rk808->variant) {
 > +	case RK808_ID:
-> +		rk808->nr_cells = ARRAY_SIZE(rk808s);
-> +		rk808->cells = rk808s;
-> +		rk808->regmap_cfg = &rk808_regmap_config;
-> +		rk808->regmap_irq_chip = &rk808_irq_chip;
-> +		rk808->pre_init_reg = rk808_pre_init_reg;
-> +		rk808->nr_pre_init_regs = ARRAY_SIZE(rk808_pre_init_reg);
+> +		rk808->nr_cells =3D ARRAY_SIZE(rk808s);
+> +		rk808->cells =3D rk808s;
+> +		rk808->regmap_cfg =3D &rk808_regmap_config;
+> +		rk808->regmap_irq_chip =3D &rk808_irq_chip;
+> +		rk808->pre_init_reg =3D rk808_pre_init_reg;
+> +		rk808->nr_pre_init_regs =3D ARRAY_SIZE(rk808_pre_init_reg);
 > +		break;
 > +	case RK818_ID:
-> +		rk808->nr_cells = ARRAY_SIZE(rk818s);
-> +		rk808->cells = rk818s;
-> +		rk808->regmap_cfg = &rk818_regmap_config;
-> +		rk808->regmap_irq_chip = &rk818_irq_chip;
-> +		rk808->pre_init_reg = rk818_pre_init_reg;
-> +		rk808->nr_pre_init_regs = ARRAY_SIZE(rk818_pre_init_reg);
+> +		rk808->nr_cells =3D ARRAY_SIZE(rk818s);
+> +		rk808->cells =3D rk818s;
+> +		rk808->regmap_cfg =3D &rk818_regmap_config;
+> +		rk808->regmap_irq_chip =3D &rk818_irq_chip;
+> +		rk808->pre_init_reg =3D rk818_pre_init_reg;
+> +		rk808->nr_pre_init_regs =3D ARRAY_SIZE(rk818_pre_init_reg);
 > +		break;
 > +	default:
 > +		dev_err(dev, "unsupported RK8XX ID %lu\n", rk808->variant);
@@ -310,18 +314,18 @@ It's more common to return the pointer however.
 > @@ -176,46 +333,52 @@ static int rk808_probe(struct i2c_client *client,
 >  	int ret;
 >  	int i;
->  
+> =20
 > -	if (!client->irq) {
 > -		dev_err(&client->dev, "No interrupt support, no core IRQ\n");
 > -		return -EINVAL;
 > -	}
 > -
->  	rk808 = devm_kzalloc(&client->dev, sizeof(*rk808), GFP_KERNEL);
+>  	rk808 =3D devm_kzalloc(&client->dev, sizeof(*rk808), GFP_KERNEL);
 >  	if (!rk808)
 >  		return -ENOMEM;
->  
-> -	rk808->regmap = devm_regmap_init_i2c(client, &rk808_regmap_config);
-> +	ret = rk8xx_match_device(rk808, &client->dev);
+> =20
+> -	rk808->regmap =3D devm_regmap_init_i2c(client, &rk808_regmap_config);
+> +	ret =3D rk8xx_match_device(rk808, &client->dev);
 
 Is there a way to dynamically probe the device?  No device ID you can
 read directly from the silicon?
@@ -329,17 +333,17 @@ read directly from the silicon?
 > +	if (ret)
 > +		return ret;
 > +
-> +	rk808->i2c = client;
+> +	rk808->i2c =3D client;
 > +	i2c_set_clientdata(client, rk808);
 > +
-> +	rk808->regmap = devm_regmap_init_i2c(client, rk808->regmap_cfg);
+> +	rk808->regmap =3D devm_regmap_init_i2c(client, rk808->regmap_cfg);
 >  	if (IS_ERR(rk808->regmap)) {
 >  		dev_err(&client->dev, "regmap initialization failed\n");
 >  		return PTR_ERR(rk808->regmap);
 >  	}
->  
-> -	for (i = 0; i < ARRAY_SIZE(pre_init_reg); i++) {
-> -		ret = regmap_update_bits(rk808->regmap, pre_init_reg[i].addr,
+> =20
+> -	for (i =3D 0; i < ARRAY_SIZE(pre_init_reg); i++) {
+> -		ret =3D regmap_update_bits(rk808->regmap, pre_init_reg[i].addr,
 > -					 pre_init_reg[i].mask,
 > -					 pre_init_reg[i].value);
 > -		if (ret) {
@@ -351,8 +355,8 @@ read directly from the silicon?
 > +		dev_err(&client->dev, "No interrupt support, no core IRQ\n");
 > +		return -EINVAL;
 >  	}
->  
->  	ret = regmap_add_irq_chip(rk808->regmap, client->irq,
+> =20
+>  	ret =3D regmap_add_irq_chip(rk808->regmap, client->irq,
 >  				  IRQF_ONESHOT, -1,
 > -				  &rk808_irq_chip, &rk808->irq_data);
 > +				  rk808->regmap_irq_chip, &rk808->irq_data);
@@ -360,11 +364,11 @@ read directly from the silicon?
 >  		dev_err(&client->dev, "Failed to add irq_chip %d\n", ret);
 >  		return ret;
 >  	}
->  
-> -	rk808->i2c = client;
+> =20
+> -	rk808->i2c =3D client;
 > -	i2c_set_clientdata(client, rk808);
-> +	for (i = 0; i < rk808->nr_pre_init_regs; i++) {
-> +		ret = regmap_update_bits(rk808->regmap,
+> +	for (i =3D 0; i < rk808->nr_pre_init_regs; i++) {
+> +		ret =3D regmap_update_bits(rk808->regmap,
 > +					rk808->pre_init_reg[i].addr,
 > +					rk808->pre_init_reg[i].mask,
 > +					rk808->pre_init_reg[i].value);
@@ -375,11 +379,11 @@ read directly from the silicon?
 > +			return ret;
 > +		}
 > +	}
->  
-> -	ret = devm_mfd_add_devices(&client->dev, -1,
+> =20
+> -	ret =3D devm_mfd_add_devices(&client->dev, -1,
 > -				   rk808s, ARRAY_SIZE(rk808s), NULL, 0,
 > -				   regmap_irq_get_domain(rk808->irq_data));
-> +	ret = devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_NONE,
+> +	ret =3D devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_NONE,
 > +			      rk808->cells, rk808->nr_cells, NULL, 0,
 > +			      regmap_irq_get_domain(rk808->irq_data));
 >  	if (ret) {
@@ -388,14 +392,14 @@ read directly from the silicon?
 > @@ -245,14 +408,9 @@ static int rk808_remove(struct i2c_client *client)
 >  	return 0;
 >  }
->  
-> -static const struct of_device_id rk808_of_match[] = {
-> -	{ .compatible = "rockchip,rk808" },
+> =20
+> -static const struct of_device_id rk808_of_match[] =3D {
+> -	{ .compatible =3D "rockchip,rk808" },
 > -	{ },
 > -};
 > -MODULE_DEVICE_TABLE(of, rk808_of_match);
 > -
->  static const struct i2c_device_id rk808_ids[] = {
+>  static const struct i2c_device_id rk808_ids[] =3D {
 >  	{ "rk808" },
 > +	{ "rk818" },
 >  	{ },
@@ -426,33 +430,34 @@ read directly from the silicon?
 > + *
 > + * Author: Wadim Egorov <w.egorov@phytec.de>
 > + *
->   * This program is free software; you can redistribute it and/or modify it
+>   * This program is free software; you can redistribute it and/or modify =
+it
 >   * under the terms and conditions of the GNU General Public License,
 >   * version 2, as published by the Free Software Foundation.
 > @@ -16,8 +20,8 @@
 >   * more details.
 >   */
->  
+> =20
 > -#ifndef __LINUX_REGULATOR_rk808_H
 > -#define __LINUX_REGULATOR_rk808_H
 > +#ifndef __LINUX_REGULATOR_RK808_H
 > +#define __LINUX_REGULATOR_RK808_H
->  
+> =20
 >  #include <linux/regulator/machine.h>
 >  #include <linux/regmap.h>
 > @@ -28,7 +32,7 @@
->  
+> =20
 >  #define RK808_DCDC1	0 /* (0+RK808_START) */
 >  #define RK808_LDO1	4 /* (4+RK808_START) */
 > -#define RK808_NUM_REGULATORS   14
 > +#define RK808_NUM_REGULATORS	14
->  
+> =20
 >  enum rk808_reg {
 >  	RK808_ID_DCDC1,
 > @@ -115,7 +119,92 @@ enum rk808_reg {
 >  #define RK808_INT_STS_MSK_REG2	0x4f
 >  #define RK808_IO_POL_REG	0x50
->  
+> =20
 > -/* IRQ Definitions */
 > +/* RK818 */
 > +#define RK818_DCDC1			0
@@ -546,7 +551,7 @@ read directly from the silicon?
 > @@ -137,6 +226,43 @@ enum rk808_reg {
 >  #define RK808_IRQ_PLUG_IN_INT_MSK	BIT(0)
 >  #define RK808_IRQ_PLUG_OUT_INT_MSK	BIT(1)
->  
+> =20
 > +/* RK818 IRQ Definitions */
 > +#define RK818_IRQ_VOUT_LO	0
 > +#define RK818_IRQ_VB_LO		1
@@ -590,7 +595,7 @@ read directly from the silicon?
 > @@ -191,9 +317,27 @@ enum {
 >  	BOOST_ILMIN_250MA,
 >  };
->  
+> =20
 > +enum {
 > +	RK808_ID,
 > +	RK818_ID,
@@ -620,8 +625,20 @@ read directly from the silicon?
 > -#endif /* __LINUX_REGULATOR_rk808_H */
 > +#endif /* __LINUX_REGULATOR_RK808_H */
 
--- 
+--=20
 Lee Jones
 Linaro STMicroelectronics Landing Team Lead
-Linaro.org │ Open source software for ARM SoCs
+Linaro.org =E2=94=82 Open source software for ARM SoCs
 Follow Linaro: Facebook | Twitter | Blog
+
+--=20
+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.
+---=20
+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 e=
+mail to rtc-linux+unsubscribe@googlegroups.com.
+For more options, visit https://groups.google.com/d/optout.
diff --git a/a/content_digest b/N2/content_digest
index e6e7775..34c5f17 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,6 +1,6 @@
  "ref\01464850228-17244-1-git-send-email-w.egorov@phytec.de\0"
  "From\0Lee Jones <lee.jones@linaro.org>\0"
- "Subject\0Re: [RESEND PATCH v5 1/5] mfd: RK808: Add RK818 support\0"
+ "Subject\0[rtc-linux] Re: [RESEND PATCH v5 1/5] mfd: RK808: Add RK818 support\0"
  "Date\0Wed, 8 Jun 2016 15:17:35 +0100\0"
  "To\0Wadim Egorov <w.egorov@phytec.de>\0"
  "Cc\0linux-kernel@vger.kernel.org"
@@ -30,7 +30,7 @@
  "\"Power Management IC (PMIC)\"\n"
  "\n"
  "> devices. It contains the following components:\n"
- "> \n"
+ ">=20\n"
  "> - Regulators\n"
  "> - RTC\n"
  "> - Clkout\n"
@@ -52,17 +52,18 @@
  "> Signed-off-by: Wadim Egorov <w.egorov@phytec.de>\n"
  "> ---\n"
  ">  drivers/mfd/Kconfig       |   4 +-\n"
- ">  drivers/mfd/rk808.c       | 231 ++++++++++++++++++++++++++++++++++++++--------\n"
+ ">  drivers/mfd/rk808.c       | 231 ++++++++++++++++++++++++++++++++++++++--=\n"
+ "------\n"
  ">  include/linux/mfd/rk808.h | 162 ++++++++++++++++++++++++++++++--\n"
  ">  3 files changed, 350 insertions(+), 47 deletions(-)\n"
- "> \n"
+ ">=20\n"
  "> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig\n"
  "> index 1bcf601..7ba464b 100644\n"
  "> --- a/drivers/mfd/Kconfig\n"
  "> +++ b/drivers/mfd/Kconfig\n"
  "> @@ -839,13 +839,13 @@ config MFD_RC5T583\n"
  ">  \t  different functionality of the device.\n"
- ">  \n"
+ "> =20\n"
  ">  config MFD_RK808\n"
  "> -\ttristate \"Rockchip RK808 Power Management chip\"\n"
  "> +\ttristate \"Rockchip RK808/RK818 Power Management chip\"\n"
@@ -97,7 +98,8 @@
  "> + *\n"
  "> + * Author: Wadim Egorov <w.egorov@phytec.de>\n"
  "> + *\n"
- ">   * This program is free software; you can redistribute it and/or modify it\n"
+ ">   * This program is free software; you can redistribute it and/or modify =\n"
+ "it\n"
  ">   * under the terms and conditions of the GNU General Public License,\n"
  ">   * version 2, as published by the Free Software Foundation.\n"
  "> @@ -22,12 +26,7 @@\n"
@@ -114,54 +116,56 @@
  "Why are you moving this to the header?\n"
  "\n"
  "> +#include <linux/of_device.h>\n"
- ">  \n"
+ "> =20\n"
  ">  static bool rk808_is_volatile_reg(struct device *dev, unsigned int reg)\n"
  ">  {\n"
- "> @@ -57,6 +56,14 @@ static bool rk808_is_volatile_reg(struct device *dev, unsigned int reg)\n"
+ "> @@ -57,6 +56,14 @@ static bool rk808_is_volatile_reg(struct device *dev, =\n"
+ "unsigned int reg)\n"
  ">  \treturn false;\n"
  ">  }\n"
- ">  \n"
- "> +static const struct regmap_config rk818_regmap_config = {\n"
- "> +\t.reg_bits = 8,\n"
- "> +\t.val_bits = 8,\n"
- "> +\t.max_register = RK818_USB_CTRL_REG,\n"
- "> +\t.cache_type = REGCACHE_RBTREE,\n"
- "> +\t.volatile_reg = rk808_is_volatile_reg,\n"
+ "> =20\n"
+ "> +static const struct regmap_config rk818_regmap_config =3D {\n"
+ "> +\t.reg_bits =3D 8,\n"
+ "> +\t.val_bits =3D 8,\n"
+ "> +\t.max_register =3D RK818_USB_CTRL_REG,\n"
+ "> +\t.cache_type =3D REGCACHE_RBTREE,\n"
+ "> +\t.volatile_reg =3D rk808_is_volatile_reg,\n"
  "> +};\n"
  "> +\n"
- ">  static const struct regmap_config rk808_regmap_config = {\n"
- ">  \t.reg_bits = 8,\n"
- ">  \t.val_bits = 8,\n"
- "> @@ -83,7 +90,17 @@ static const struct mfd_cell rk808s[] = {\n"
+ ">  static const struct regmap_config rk808_regmap_config =3D {\n"
+ ">  \t.reg_bits =3D 8,\n"
+ ">  \t.val_bits =3D 8,\n"
+ "> @@ -83,7 +90,17 @@ static const struct mfd_cell rk808s[] =3D {\n"
  ">  \t},\n"
  ">  };\n"
- ">  \n"
- "> -static const struct rk808_reg_data pre_init_reg[] = {\n"
- "> +static const struct mfd_cell rk818s[] = {\n"
- "> +\t{ .name = \"rk808-clkout\", },\n"
+ "> =20\n"
+ "> -static const struct rk808_reg_data pre_init_reg[] =3D {\n"
+ "> +static const struct mfd_cell rk818s[] =3D {\n"
+ "> +\t{ .name =3D \"rk808-clkout\", },\n"
  "\n"
  "How does this differ to a normal -clock driver?\n"
  "\n"
- "> +\t{ .name = \"rk808-regulator\", },\n"
+ "> +\t{ .name =3D \"rk808-regulator\", },\n"
  "> +\t{\n"
- "> +\t\t.name = \"rk808-rtc\",\n"
- "> +\t\t.num_resources = ARRAY_SIZE(rtc_resources),\n"
- "> +\t\t.resources = &rtc_resources[0],\n"
+ "> +\t\t.name =3D \"rk808-rtc\",\n"
+ "> +\t\t.num_resources =3D ARRAY_SIZE(rtc_resources),\n"
+ "> +\t\t.resources =3D &rtc_resources[0],\n"
  "\n"
- ".resources = rtc_resources,  ?\n"
+ ".resources =3D rtc_resources,  ?\n"
  "\n"
  "> +\t},\n"
  "> +};\n"
  "> +\n"
- "> +static const struct rk8xx_reg_data rk808_pre_init_reg[] = {\n"
+ "> +static const struct rk8xx_reg_data rk808_pre_init_reg[] =3D {\n"
  ">  \t{ RK808_BUCK3_CONFIG_REG, BUCK_ILMIN_MASK,  BUCK_ILMIN_150MA },\n"
  ">  \t{ RK808_BUCK4_CONFIG_REG, BUCK_ILMIN_MASK,  BUCK_ILMIN_200MA },\n"
  ">  \t{ RK808_BOOST_CONFIG_REG, BOOST_ILMIN_MASK, BOOST_ILMIN_100MA },\n"
- "> @@ -94,6 +111,22 @@ static const struct rk808_reg_data pre_init_reg[] = {\n"
+ "> @@ -94,6 +111,22 @@ static const struct rk808_reg_data pre_init_reg[] =3D=\n"
+ " {\n"
  ">  \t\t\t\t\t\t    VB_LO_SEL_3500MV },\n"
  ">  };\n"
- ">  \n"
- "> +static const struct rk8xx_reg_data rk818_pre_init_reg[] = {\n"
+ "> =20\n"
+ "> +static const struct rk8xx_reg_data rk818_pre_init_reg[] =3D {\n"
  "> +\t{ RK818_USB_CTRL_REG,\tRK818_USB_ILIM_SEL_MASK,\n"
  "> +\t\t\t\t\t\tRK818_USB_ILMIN_2000MA },\n"
  "> +\t/* close charger when usb lower then 3.4V */\n"
@@ -179,100 +183,100 @@
  "\n"
  "The alignment here looks odd.\n"
  "\n"
- ">  static const struct regmap_irq rk808_irqs[] = {\n"
+ ">  static const struct regmap_irq rk808_irqs[] =3D {\n"
  ">  \t/* INT_STS */\n"
- ">  \t[RK808_IRQ_VOUT_LO] = {\n"
- "> @@ -136,6 +169,76 @@ static const struct regmap_irq rk808_irqs[] = {\n"
+ ">  \t[RK808_IRQ_VOUT_LO] =3D {\n"
+ "> @@ -136,6 +169,76 @@ static const struct regmap_irq rk808_irqs[] =3D {\n"
  ">  \t},\n"
  ">  };\n"
- ">  \n"
- "> +static const struct regmap_irq rk818_irqs[] = {\n"
+ "> =20\n"
+ "> +static const struct regmap_irq rk818_irqs[] =3D {\n"
  "> +\t/* INT_STS */\n"
- "> +\t[RK818_IRQ_VOUT_LO] = {\n"
- "> +\t\t.mask = RK818_IRQ_VOUT_LO_MSK,\n"
- "> +\t\t.reg_offset = 0,\n"
+ "> +\t[RK818_IRQ_VOUT_LO] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_VOUT_LO_MSK,\n"
+ "> +\t\t.reg_offset =3D 0,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_VB_LO] = {\n"
- "> +\t\t.mask = RK818_IRQ_VB_LO_MSK,\n"
- "> +\t\t.reg_offset = 0,\n"
+ "> +\t[RK818_IRQ_VB_LO] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_VB_LO_MSK,\n"
+ "> +\t\t.reg_offset =3D 0,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_PWRON] = {\n"
- "> +\t\t.mask = RK818_IRQ_PWRON_MSK,\n"
- "> +\t\t.reg_offset = 0,\n"
+ "> +\t[RK818_IRQ_PWRON] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_PWRON_MSK,\n"
+ "> +\t\t.reg_offset =3D 0,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_PWRON_LP] = {\n"
- "> +\t\t.mask = RK818_IRQ_PWRON_LP_MSK,\n"
- "> +\t\t.reg_offset = 0,\n"
+ "> +\t[RK818_IRQ_PWRON_LP] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_PWRON_LP_MSK,\n"
+ "> +\t\t.reg_offset =3D 0,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_HOTDIE] = {\n"
- "> +\t\t.mask = RK818_IRQ_HOTDIE_MSK,\n"
- "> +\t\t.reg_offset = 0,\n"
+ "> +\t[RK818_IRQ_HOTDIE] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_HOTDIE_MSK,\n"
+ "> +\t\t.reg_offset =3D 0,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_RTC_ALARM] = {\n"
- "> +\t\t.mask = RK818_IRQ_RTC_ALARM_MSK,\n"
- "> +\t\t.reg_offset = 0,\n"
+ "> +\t[RK818_IRQ_RTC_ALARM] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_RTC_ALARM_MSK,\n"
+ "> +\t\t.reg_offset =3D 0,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_RTC_PERIOD] = {\n"
- "> +\t\t.mask = RK818_IRQ_RTC_PERIOD_MSK,\n"
- "> +\t\t.reg_offset = 0,\n"
+ "> +\t[RK818_IRQ_RTC_PERIOD] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_RTC_PERIOD_MSK,\n"
+ "> +\t\t.reg_offset =3D 0,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_USB_OV] = {\n"
- "> +\t\t.mask = RK818_IRQ_USB_OV_MSK,\n"
- "> +\t\t.reg_offset = 0,\n"
+ "> +\t[RK818_IRQ_USB_OV] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_USB_OV_MSK,\n"
+ "> +\t\t.reg_offset =3D 0,\n"
  "> +\t},\n"
  "> +\n"
  "> +\t/* INT_STS2 */\n"
- "> +\t[RK818_IRQ_PLUG_IN] = {\n"
- "> +\t\t.mask = RK818_IRQ_PLUG_IN_MSK,\n"
- "> +\t\t.reg_offset = 1,\n"
+ "> +\t[RK818_IRQ_PLUG_IN] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_PLUG_IN_MSK,\n"
+ "> +\t\t.reg_offset =3D 1,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_PLUG_OUT] = {\n"
- "> +\t\t.mask = RK818_IRQ_PLUG_OUT_MSK,\n"
- "> +\t\t.reg_offset = 1,\n"
+ "> +\t[RK818_IRQ_PLUG_OUT] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_PLUG_OUT_MSK,\n"
+ "> +\t\t.reg_offset =3D 1,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_CHG_OK] = {\n"
- "> +\t\t.mask = RK818_IRQ_CHG_OK_MSK,\n"
- "> +\t\t.reg_offset = 1,\n"
+ "> +\t[RK818_IRQ_CHG_OK] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_CHG_OK_MSK,\n"
+ "> +\t\t.reg_offset =3D 1,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_CHG_TE] = {\n"
- "> +\t\t.mask = RK818_IRQ_CHG_TE_MSK,\n"
- "> +\t\t.reg_offset = 1,\n"
+ "> +\t[RK818_IRQ_CHG_TE] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_CHG_TE_MSK,\n"
+ "> +\t\t.reg_offset =3D 1,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_CHG_TS1] = {\n"
- "> +\t\t.mask = RK818_IRQ_CHG_TS1_MSK,\n"
- "> +\t\t.reg_offset = 1,\n"
+ "> +\t[RK818_IRQ_CHG_TS1] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_CHG_TS1_MSK,\n"
+ "> +\t\t.reg_offset =3D 1,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_TS2] = {\n"
- "> +\t\t.mask = RK818_IRQ_TS2_MSK,\n"
- "> +\t\t.reg_offset = 1,\n"
+ "> +\t[RK818_IRQ_TS2] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_TS2_MSK,\n"
+ "> +\t\t.reg_offset =3D 1,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_CHG_CVTLIM] = {\n"
- "> +\t\t.mask = RK818_IRQ_CHG_CVTLIM_MSK,\n"
- "> +\t\t.reg_offset = 1,\n"
+ "> +\t[RK818_IRQ_CHG_CVTLIM] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_CHG_CVTLIM_MSK,\n"
+ "> +\t\t.reg_offset =3D 1,\n"
  "> +\t},\n"
- "> +\t[RK818_IRQ_DISCHG_ILIM] = {\n"
- "> +\t\t.mask = RK818_IRQ_DISCHG_ILIM_MSK,\n"
- "> +\t\t.reg_offset = 1,\n"
+ "> +\t[RK818_IRQ_DISCHG_ILIM] =3D {\n"
+ "> +\t\t.mask =3D RK818_IRQ_DISCHG_ILIM_MSK,\n"
+ "> +\t\t.reg_offset =3D 1,\n"
  "> +\t},\n"
  "> +};\n"
  "> +\n"
- ">  static struct regmap_irq_chip rk808_irq_chip = {\n"
- ">  \t.name = \"rk808\",\n"
- ">  \t.irqs = rk808_irqs,\n"
- "> @@ -148,6 +251,18 @@ static struct regmap_irq_chip rk808_irq_chip = {\n"
- ">  \t.init_ack_masked = true,\n"
+ ">  static struct regmap_irq_chip rk808_irq_chip =3D {\n"
+ ">  \t.name =3D \"rk808\",\n"
+ ">  \t.irqs =3D rk808_irqs,\n"
+ "> @@ -148,6 +251,18 @@ static struct regmap_irq_chip rk808_irq_chip =3D {\n"
+ ">  \t.init_ack_masked =3D true,\n"
  ">  };\n"
- ">  \n"
- "> +static struct regmap_irq_chip rk818_irq_chip = {\n"
- "> +\t.name = \"rk818\",\n"
- "> +\t.irqs = rk818_irqs,\n"
- "> +\t.num_irqs = ARRAY_SIZE(rk818_irqs),\n"
- "> +\t.num_regs = 2,\n"
- "> +\t.irq_reg_stride = 2,\n"
- "> +\t.status_base = RK818_INT_STS_REG1,\n"
- "> +\t.mask_base = RK818_INT_STS_MSK_REG1,\n"
- "> +\t.ack_base = RK818_INT_STS_REG1,\n"
- "> +\t.init_ack_masked = true,\n"
+ "> =20\n"
+ "> +static struct regmap_irq_chip rk818_irq_chip =3D {\n"
+ "> +\t.name =3D \"rk818\",\n"
+ "> +\t.irqs =3D rk818_irqs,\n"
+ "> +\t.num_irqs =3D ARRAY_SIZE(rk818_irqs),\n"
+ "> +\t.num_regs =3D 2,\n"
+ "> +\t.irq_reg_stride =3D 2,\n"
+ "> +\t.status_base =3D RK818_INT_STS_REG1,\n"
+ "> +\t.mask_base =3D RK818_INT_STS_MSK_REG1,\n"
+ "> +\t.ack_base =3D RK818_INT_STS_REG1,\n"
+ "> +\t.init_ack_masked =3D true,\n"
  "> +};\n"
  "> +\n"
  ">  static struct i2c_client *rk808_i2c_client;\n"
@@ -281,10 +285,10 @@
  "> @@ -167,6 +282,48 @@ static void rk808_device_shutdown(void)\n"
  ">  \t\tdev_err(&rk808_i2c_client->dev, \"power off error!\\n\");\n"
  ">  }\n"
- ">  \n"
- "> +static const struct of_device_id rk808_of_match[] = {\n"
- "> +\t{ .compatible = \"rockchip,rk808\", .data = (void *) RK808_ID },\n"
- "> +\t{ .compatible = \"rockchip,rk818\", .data = (void *) RK818_ID },\n"
+ "> =20\n"
+ "> +static const struct of_device_id rk808_of_match[] =3D {\n"
+ "> +\t{ .compatible =3D \"rockchip,rk808\", .data =3D (void *) RK808_ID },\n"
+ "> +\t{ .compatible =3D \"rockchip,rk818\", .data =3D (void *) RK818_ID },\n"
  "> +\t{ },\n"
  "> +};\n"
  "> +MODULE_DEVICE_TABLE(of, rk808_of_match);\n"
@@ -298,29 +302,29 @@
  "> +{\n"
  "> +\tconst struct of_device_id *of_id;\n"
  "> +\n"
- "> +\tof_id = of_match_device(rk808_of_match, dev);\n"
+ "> +\tof_id =3D of_match_device(rk808_of_match, dev);\n"
  "> +\tif (!of_id) {\n"
  "> +\t\tdev_err(dev, \"Unable to match OF ID\\n\");\n"
  "> +\t\treturn -ENODEV;\n"
  "> +\t}\n"
- "> +\trk808->variant = (long) of_id->data;\n"
+ "> +\trk808->variant =3D (long) of_id->data;\n"
  "> +\n"
  "> +\tswitch (rk808->variant) {\n"
  "> +\tcase RK808_ID:\n"
- "> +\t\trk808->nr_cells = ARRAY_SIZE(rk808s);\n"
- "> +\t\trk808->cells = rk808s;\n"
- "> +\t\trk808->regmap_cfg = &rk808_regmap_config;\n"
- "> +\t\trk808->regmap_irq_chip = &rk808_irq_chip;\n"
- "> +\t\trk808->pre_init_reg = rk808_pre_init_reg;\n"
- "> +\t\trk808->nr_pre_init_regs = ARRAY_SIZE(rk808_pre_init_reg);\n"
+ "> +\t\trk808->nr_cells =3D ARRAY_SIZE(rk808s);\n"
+ "> +\t\trk808->cells =3D rk808s;\n"
+ "> +\t\trk808->regmap_cfg =3D &rk808_regmap_config;\n"
+ "> +\t\trk808->regmap_irq_chip =3D &rk808_irq_chip;\n"
+ "> +\t\trk808->pre_init_reg =3D rk808_pre_init_reg;\n"
+ "> +\t\trk808->nr_pre_init_regs =3D ARRAY_SIZE(rk808_pre_init_reg);\n"
  "> +\t\tbreak;\n"
  "> +\tcase RK818_ID:\n"
- "> +\t\trk808->nr_cells = ARRAY_SIZE(rk818s);\n"
- "> +\t\trk808->cells = rk818s;\n"
- "> +\t\trk808->regmap_cfg = &rk818_regmap_config;\n"
- "> +\t\trk808->regmap_irq_chip = &rk818_irq_chip;\n"
- "> +\t\trk808->pre_init_reg = rk818_pre_init_reg;\n"
- "> +\t\trk808->nr_pre_init_regs = ARRAY_SIZE(rk818_pre_init_reg);\n"
+ "> +\t\trk808->nr_cells =3D ARRAY_SIZE(rk818s);\n"
+ "> +\t\trk808->cells =3D rk818s;\n"
+ "> +\t\trk808->regmap_cfg =3D &rk818_regmap_config;\n"
+ "> +\t\trk808->regmap_irq_chip =3D &rk818_irq_chip;\n"
+ "> +\t\trk808->pre_init_reg =3D rk818_pre_init_reg;\n"
+ "> +\t\trk808->nr_pre_init_regs =3D ARRAY_SIZE(rk818_pre_init_reg);\n"
  "> +\t\tbreak;\n"
  "> +\tdefault:\n"
  "> +\t\tdev_err(dev, \"unsupported RK8XX ID %lu\\n\", rk808->variant);\n"
@@ -335,18 +339,18 @@
  "> @@ -176,46 +333,52 @@ static int rk808_probe(struct i2c_client *client,\n"
  ">  \tint ret;\n"
  ">  \tint i;\n"
- ">  \n"
+ "> =20\n"
  "> -\tif (!client->irq) {\n"
  "> -\t\tdev_err(&client->dev, \"No interrupt support, no core IRQ\\n\");\n"
  "> -\t\treturn -EINVAL;\n"
  "> -\t}\n"
  "> -\n"
- ">  \trk808 = devm_kzalloc(&client->dev, sizeof(*rk808), GFP_KERNEL);\n"
+ ">  \trk808 =3D devm_kzalloc(&client->dev, sizeof(*rk808), GFP_KERNEL);\n"
  ">  \tif (!rk808)\n"
  ">  \t\treturn -ENOMEM;\n"
- ">  \n"
- "> -\trk808->regmap = devm_regmap_init_i2c(client, &rk808_regmap_config);\n"
- "> +\tret = rk8xx_match_device(rk808, &client->dev);\n"
+ "> =20\n"
+ "> -\trk808->regmap =3D devm_regmap_init_i2c(client, &rk808_regmap_config);\n"
+ "> +\tret =3D rk8xx_match_device(rk808, &client->dev);\n"
  "\n"
  "Is there a way to dynamically probe the device?  No device ID you can\n"
  "read directly from the silicon?\n"
@@ -354,17 +358,17 @@
  "> +\tif (ret)\n"
  "> +\t\treturn ret;\n"
  "> +\n"
- "> +\trk808->i2c = client;\n"
+ "> +\trk808->i2c =3D client;\n"
  "> +\ti2c_set_clientdata(client, rk808);\n"
  "> +\n"
- "> +\trk808->regmap = devm_regmap_init_i2c(client, rk808->regmap_cfg);\n"
+ "> +\trk808->regmap =3D devm_regmap_init_i2c(client, rk808->regmap_cfg);\n"
  ">  \tif (IS_ERR(rk808->regmap)) {\n"
  ">  \t\tdev_err(&client->dev, \"regmap initialization failed\\n\");\n"
  ">  \t\treturn PTR_ERR(rk808->regmap);\n"
  ">  \t}\n"
- ">  \n"
- "> -\tfor (i = 0; i < ARRAY_SIZE(pre_init_reg); i++) {\n"
- "> -\t\tret = regmap_update_bits(rk808->regmap, pre_init_reg[i].addr,\n"
+ "> =20\n"
+ "> -\tfor (i =3D 0; i < ARRAY_SIZE(pre_init_reg); i++) {\n"
+ "> -\t\tret =3D regmap_update_bits(rk808->regmap, pre_init_reg[i].addr,\n"
  "> -\t\t\t\t\t pre_init_reg[i].mask,\n"
  "> -\t\t\t\t\t pre_init_reg[i].value);\n"
  "> -\t\tif (ret) {\n"
@@ -376,8 +380,8 @@
  "> +\t\tdev_err(&client->dev, \"No interrupt support, no core IRQ\\n\");\n"
  "> +\t\treturn -EINVAL;\n"
  ">  \t}\n"
- ">  \n"
- ">  \tret = regmap_add_irq_chip(rk808->regmap, client->irq,\n"
+ "> =20\n"
+ ">  \tret =3D regmap_add_irq_chip(rk808->regmap, client->irq,\n"
  ">  \t\t\t\t  IRQF_ONESHOT, -1,\n"
  "> -\t\t\t\t  &rk808_irq_chip, &rk808->irq_data);\n"
  "> +\t\t\t\t  rk808->regmap_irq_chip, &rk808->irq_data);\n"
@@ -385,11 +389,11 @@
  ">  \t\tdev_err(&client->dev, \"Failed to add irq_chip %d\\n\", ret);\n"
  ">  \t\treturn ret;\n"
  ">  \t}\n"
- ">  \n"
- "> -\trk808->i2c = client;\n"
+ "> =20\n"
+ "> -\trk808->i2c =3D client;\n"
  "> -\ti2c_set_clientdata(client, rk808);\n"
- "> +\tfor (i = 0; i < rk808->nr_pre_init_regs; i++) {\n"
- "> +\t\tret = regmap_update_bits(rk808->regmap,\n"
+ "> +\tfor (i =3D 0; i < rk808->nr_pre_init_regs; i++) {\n"
+ "> +\t\tret =3D regmap_update_bits(rk808->regmap,\n"
  "> +\t\t\t\t\trk808->pre_init_reg[i].addr,\n"
  "> +\t\t\t\t\trk808->pre_init_reg[i].mask,\n"
  "> +\t\t\t\t\trk808->pre_init_reg[i].value);\n"
@@ -400,11 +404,11 @@
  "> +\t\t\treturn ret;\n"
  "> +\t\t}\n"
  "> +\t}\n"
- ">  \n"
- "> -\tret = devm_mfd_add_devices(&client->dev, -1,\n"
+ "> =20\n"
+ "> -\tret =3D devm_mfd_add_devices(&client->dev, -1,\n"
  "> -\t\t\t\t   rk808s, ARRAY_SIZE(rk808s), NULL, 0,\n"
  "> -\t\t\t\t   regmap_irq_get_domain(rk808->irq_data));\n"
- "> +\tret = devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_NONE,\n"
+ "> +\tret =3D devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_NONE,\n"
  "> +\t\t\t      rk808->cells, rk808->nr_cells, NULL, 0,\n"
  "> +\t\t\t      regmap_irq_get_domain(rk808->irq_data));\n"
  ">  \tif (ret) {\n"
@@ -413,14 +417,14 @@
  "> @@ -245,14 +408,9 @@ static int rk808_remove(struct i2c_client *client)\n"
  ">  \treturn 0;\n"
  ">  }\n"
- ">  \n"
- "> -static const struct of_device_id rk808_of_match[] = {\n"
- "> -\t{ .compatible = \"rockchip,rk808\" },\n"
+ "> =20\n"
+ "> -static const struct of_device_id rk808_of_match[] =3D {\n"
+ "> -\t{ .compatible =3D \"rockchip,rk808\" },\n"
  "> -\t{ },\n"
  "> -};\n"
  "> -MODULE_DEVICE_TABLE(of, rk808_of_match);\n"
  "> -\n"
- ">  static const struct i2c_device_id rk808_ids[] = {\n"
+ ">  static const struct i2c_device_id rk808_ids[] =3D {\n"
  ">  \t{ \"rk808\" },\n"
  "> +\t{ \"rk818\" },\n"
  ">  \t{ },\n"
@@ -451,33 +455,34 @@
  "> + *\n"
  "> + * Author: Wadim Egorov <w.egorov@phytec.de>\n"
  "> + *\n"
- ">   * This program is free software; you can redistribute it and/or modify it\n"
+ ">   * This program is free software; you can redistribute it and/or modify =\n"
+ "it\n"
  ">   * under the terms and conditions of the GNU General Public License,\n"
  ">   * version 2, as published by the Free Software Foundation.\n"
  "> @@ -16,8 +20,8 @@\n"
  ">   * more details.\n"
  ">   */\n"
- ">  \n"
+ "> =20\n"
  "> -#ifndef __LINUX_REGULATOR_rk808_H\n"
  "> -#define __LINUX_REGULATOR_rk808_H\n"
  "> +#ifndef __LINUX_REGULATOR_RK808_H\n"
  "> +#define __LINUX_REGULATOR_RK808_H\n"
- ">  \n"
+ "> =20\n"
  ">  #include <linux/regulator/machine.h>\n"
  ">  #include <linux/regmap.h>\n"
  "> @@ -28,7 +32,7 @@\n"
- ">  \n"
+ "> =20\n"
  ">  #define RK808_DCDC1\t0 /* (0+RK808_START) */\n"
  ">  #define RK808_LDO1\t4 /* (4+RK808_START) */\n"
  "> -#define RK808_NUM_REGULATORS   14\n"
  "> +#define RK808_NUM_REGULATORS\t14\n"
- ">  \n"
+ "> =20\n"
  ">  enum rk808_reg {\n"
  ">  \tRK808_ID_DCDC1,\n"
  "> @@ -115,7 +119,92 @@ enum rk808_reg {\n"
  ">  #define RK808_INT_STS_MSK_REG2\t0x4f\n"
  ">  #define RK808_IO_POL_REG\t0x50\n"
- ">  \n"
+ "> =20\n"
  "> -/* IRQ Definitions */\n"
  "> +/* RK818 */\n"
  "> +#define RK818_DCDC1\t\t\t0\n"
@@ -571,7 +576,7 @@
  "> @@ -137,6 +226,43 @@ enum rk808_reg {\n"
  ">  #define RK808_IRQ_PLUG_IN_INT_MSK\tBIT(0)\n"
  ">  #define RK808_IRQ_PLUG_OUT_INT_MSK\tBIT(1)\n"
- ">  \n"
+ "> =20\n"
  "> +/* RK818 IRQ Definitions */\n"
  "> +#define RK818_IRQ_VOUT_LO\t0\n"
  "> +#define RK818_IRQ_VB_LO\t\t1\n"
@@ -615,7 +620,7 @@
  "> @@ -191,9 +317,27 @@ enum {\n"
  ">  \tBOOST_ILMIN_250MA,\n"
  ">  };\n"
- ">  \n"
+ "> =20\n"
  "> +enum {\n"
  "> +\tRK808_ID,\n"
  "> +\tRK818_ID,\n"
@@ -645,10 +650,22 @@
  "> -#endif /* __LINUX_REGULATOR_rk808_H */\n"
  "> +#endif /* __LINUX_REGULATOR_RK808_H */\n"
  "\n"
- "-- \n"
+ "--=20\n"
  "Lee Jones\n"
  "Linaro STMicroelectronics Landing Team Lead\n"
- "Linaro.org \342\224\202 Open source software for ARM SoCs\n"
- Follow Linaro: Facebook | Twitter | Blog
+ "Linaro.org =E2=94=82 Open source software for ARM SoCs\n"
+ "Follow Linaro: Facebook | Twitter | Blog\n"
+ "\n"
+ "--=20\n"
+ "You received this message because you are subscribed to \"rtc-linux\".\n"
+ "Membership options at http://groups.google.com/group/rtc-linux .\n"
+ "Please read http://groups.google.com/group/rtc-linux/web/checklist\n"
+ "before submitting a driver.\n"
+ "---=20\n"
+ "You received this message because you are subscribed to the Google Groups \"=\n"
+ "rtc-linux\" group.\n"
+ "To unsubscribe from this group and stop receiving emails from it, send an e=\n"
+ "mail to rtc-linux+unsubscribe@googlegroups.com.\n"
+ For more options, visit https://groups.google.com/d/optout.
 
-680e5463964f863b7f900f53b28504ae99f68b7246e311f6895e4b012355b665
+bdffcad0b342850af865f3d1158c5d324c98710470aa179f29348a703ce3d994

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.