All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 4/5] rtc: isl1208: set ev-evienb bit from device tree
  2018-07-10  9:44 [PATCH v4 0/5] rtc: isl1208: fixes, documentation and isl1219 support Denis OSTERLAND
                   ` (2 preceding siblings ...)
  2018-07-10  9:44 ` [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection Denis OSTERLAND
@ 2018-07-10  9:44 ` Denis OSTERLAND
  2018-07-10  9:44 ` [PATCH v4 1/5] rtc: sysfs: facilitate attribute add to rtc device Denis OSTERLAND
  4 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-10  9:44 UTC (permalink / raw)
  To: a.zummo, alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, mark.rutland,
	linux-rtc, kernel, Denis OSTERLAND

From: Denis Osterland <Denis.Osterland@diehl.com>

Add support to disable event in pull-up.

Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
---
 drivers/rtc/rtc-isl1208.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/rtc/rtc-isl1208.c b/drivers/rtc/rtc-isl1208.c
index bbe08c1ab9f3..2f18ee3c615a 100644
--- a/drivers/rtc/rtc-isl1208.c
+++ b/drivers/rtc/rtc-isl1208.c
@@ -44,6 +44,7 @@
 #define ISL1208_REG_INT_IM     (1<<7)   /* interrupt/alarm mode */
 #define ISL1219_REG_EV  0x09
 #define ISL1219_REG_EV_EVEN    (1<<4)   /* event detection enable */
+#define ISL1219_REG_EV_EVIENB  (1<<7)   /* event in pull-up disable */
 #define ISL1208_REG_ATR 0x0a
 #define ISL1208_REG_DTR 0x0b
 
@@ -777,7 +778,10 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
 			 "please set clock.\n");
 
 	if (id->driver_data == TYPE_ISL1219) {
+		struct device_node *np = client->dev.of_node;
 		rc = ISL1219_REG_EV_EVEN;
+		if (of_get_property(np, "isil,ev-evienb", NULL))
+			rc |= ISL1219_REG_EV_EVIENB;
 		rc = i2c_smbus_write_byte_data(client, ISL1219_REG_EV, rc);
 		if (rc < 0) {
 			dev_err(&client->dev, "could not enable tamper detection\n");
@@ -786,7 +790,7 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
 		rc = rtc_add_group(rtc, &isl1219_rtc_sysfs_files);
 		if (rc)
 			return rc;
-		evdet_irq = of_irq_get_byname(client->dev.of_node, "evdet");
+		evdet_irq = of_irq_get_byname(np, "evdet");
 	}
 
 	rc = sysfs_create_group(&client->dev.kobj, &isl1208_rtc_sysfs_files);
-- 
2.18.0



Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v4 0/5] rtc: isl1208: fixes, documentation and isl1219 support
@ 2018-07-10  9:44 Denis OSTERLAND
  2018-07-10  9:44 ` [PATCH v4 5/5] rtc: isl1219: add device tree docu Denis OSTERLAND
                   ` (4 more replies)
  0 siblings, 5 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-10  9:44 UTC (permalink / raw)
  To: a.zummo, alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, mark.rutland,
	linux-rtc, kernel, Denis OSTERLAND

changes since v3:
Add function to rtc-sysfs to add a group to device groups field,
between alloc and register calls.
Remove isl1208 struct to reduce patch footprint.
Change prefix of defines and functions only available on isl1219.
Use DEVICE_ATTR_RW macro for timestamp0 attribute.
Call validate tm before convert and use unsigned long long cased value.
Add device-tree flag to disable event in pull-up to maximize battery
life time.


Michael Grzeschik (1):
    rtc: isl1208: add support for isl1219 with tamper detection

Denis Osterland (4):
    rtc: sysfs: facilitate attribute add to rtc device
    rtc: isl1208: Add "evdet" interrupt source for isl1219.
    rtc: isl1208: set ev-evienb bit from device tree
    rtc: isl1219: add device tree docu

 .../devicetree/bindings/rtc/isil,isl1219.txt       |  29 ++++
 drivers/rtc/rtc-core.h                             |   6 +
 drivers/rtc/rtc-isl1208.c                          | 181 ++++++++++++++++++---
 drivers/rtc/rtc-sysfs.c                            |  39 +++++
 4 files changed, 232 insertions(+), 23 deletions(-)

Message-Id: 1520246373-19023-1-git-send-email-Denis.Osterland@diehl.com





Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v4 3/5] rtc: isl1208: Add "evdet" interrupt source for isl1219.
  2018-07-10  9:44 [PATCH v4 0/5] rtc: isl1208: fixes, documentation and isl1219 support Denis OSTERLAND
  2018-07-10  9:44 ` [PATCH v4 5/5] rtc: isl1219: add device tree docu Denis OSTERLAND
@ 2018-07-10  9:44 ` Denis OSTERLAND
  2018-07-10  9:44 ` [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection Denis OSTERLAND
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-10  9:44 UTC (permalink / raw)
  To: a.zummo, alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, mark.rutland,
	linux-rtc, kernel, Denis OSTERLAND

From: Denis Osterland <Denis.Osterland@diehl.com>

Add support for "evdet" named interrupt source.

The check if i2c client irq matches evdet irq is needed
for the case that there is only one interrupt named "evdet".
In this case i2c client code handles this like an unnamed
interrupt souce and assigns the value.

Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
Reviewed-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
---
 drivers/rtc/rtc-isl1208.c | 46 +++++++++++++++++++++++++--------------
 1 file changed, 30 insertions(+), 16 deletions(-)

diff --git a/drivers/rtc/rtc-isl1208.c b/drivers/rtc/rtc-isl1208.c
index bb189fe6744a..bbe08c1ab9f3 100644
--- a/drivers/rtc/rtc-isl1208.c
+++ b/drivers/rtc/rtc-isl1208.c
@@ -15,6 +15,7 @@
 #include <linux/bcd.h>
 #include <linux/rtc.h>
 #include "rtc-core.h"
+#include <linux/of_irq.h>
 
 /* Register map */
 /* rtc section */
@@ -725,11 +726,30 @@ static const struct attribute_group isl1219_rtc_sysfs_files = {
 	.attrs	= isl1219_rtc_attrs,
 };
 
+static int isl1208_setup_irq(struct i2c_client *client, int irq)
+{
+	int rc = devm_request_threaded_irq(&client->dev, irq, NULL,
+					isl1208_rtc_interrupt,
+					IRQF_SHARED | IRQF_ONESHOT,
+					isl1208_driver.driver.name,
+					client);
+	if (!rc) {
+		device_init_wakeup(&client->dev, 1);
+		enable_irq_wake(irq);
+	} else {
+		dev_err(&client->dev,
+			"Unable to request irq %d, no alarm support\n",
+			irq);
+	}
+	return rc;
+}
+
 static int
 isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
 {
 	int rc = 0;
 	struct rtc_device *rtc;
+	int evdet_irq = -1;
 
 	if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
 		return -ENODEV;
@@ -766,28 +786,22 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
 		rc = rtc_add_group(rtc, &isl1219_rtc_sysfs_files);
 		if (rc)
 			return rc;
+		evdet_irq = of_irq_get_byname(client->dev.of_node, "evdet");
 	}
 
 	rc = sysfs_create_group(&client->dev.kobj, &isl1208_rtc_sysfs_files);
 	if (rc)
 		return rc;
 
-	if (client->irq > 0) {
-		rc = devm_request_threaded_irq(&client->dev, client->irq, NULL,
-					       isl1208_rtc_interrupt,
-					       IRQF_SHARED | IRQF_ONESHOT,
-					       isl1208_driver.driver.name,
-					       client);
-		if (!rc) {
-			device_init_wakeup(&client->dev, 1);
-			enable_irq_wake(client->irq);
-		} else {
-			dev_err(&client->dev,
-				"Unable to request irq %d, no alarm support\n",
-				client->irq);
-			client->irq = 0;
-		}
-	}
+	if (client->irq > 0)
+		rc = isl1208_setup_irq(client, client->irq);
+	if (rc)
+		return rc;
+
+	if (evdet_irq > 0 && evdet_irq != client->irq)
+		rc = isl1208_setup_irq(client, evdet_irq);
+	if (rc)
+		return rc;
 
 	return rtc_register_device(rtc);
 }
-- 
2.18.0



Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection
  2018-07-10  9:44 [PATCH v4 0/5] rtc: isl1208: fixes, documentation and isl1219 support Denis OSTERLAND
  2018-07-10  9:44 ` [PATCH v4 5/5] rtc: isl1219: add device tree docu Denis OSTERLAND
  2018-07-10  9:44 ` [PATCH v4 3/5] rtc: isl1208: Add "evdet" interrupt source for isl1219 Denis OSTERLAND
@ 2018-07-10  9:44 ` Denis OSTERLAND
  2018-07-10 13:20     ` kbuild test robot
  2018-07-18  8:13   ` Alexandre Belloni
  2018-07-10  9:44 ` [PATCH v4 4/5] rtc: isl1208: set ev-evienb bit from device tree Denis OSTERLAND
  2018-07-10  9:44 ` [PATCH v4 1/5] rtc: sysfs: facilitate attribute add to rtc device Denis OSTERLAND
  4 siblings, 2 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-10  9:44 UTC (permalink / raw)
  To: a.zummo, alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, mark.rutland,
	linux-rtc, kernel, Denis OSTERLAND

From: Michael Grzeschik <m.grzeschik@pengutronix.de>

We add support for the ISL1219 chip that got an integrated tamper
detection function. This patch implements the feature by adding
an additional timestamp0 file to sysfs device path.
This file contains seconds since epoch, if an event occurred,
or is empty, if none occurred.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
---
 drivers/rtc/rtc-isl1208.c | 131 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 124 insertions(+), 7 deletions(-)

diff --git a/drivers/rtc/rtc-isl1208.c b/drivers/rtc/rtc-isl1208.c
index 1a2c38cc0178..bb189fe6744a 100644
--- a/drivers/rtc/rtc-isl1208.c
+++ b/drivers/rtc/rtc-isl1208.c
@@ -14,6 +14,7 @@
 #include <linux/i2c.h>
 #include <linux/bcd.h>
 #include <linux/rtc.h>
+#include "rtc-core.h"
 
 /* Register map */
 /* rtc section */
@@ -33,13 +34,15 @@
 #define ISL1208_REG_SR_ARST    (1<<7)	/* auto reset */
 #define ISL1208_REG_SR_XTOSCB  (1<<6)	/* crystal oscillator */
 #define ISL1208_REG_SR_WRTC    (1<<4)	/* write rtc */
+#define ISL1208_REG_SR_EVT     (1<<3)	/* event */
 #define ISL1208_REG_SR_ALM     (1<<2)	/* alarm */
 #define ISL1208_REG_SR_BAT     (1<<1)	/* battery */
 #define ISL1208_REG_SR_RTCF    (1<<0)	/* rtc fail */
 #define ISL1208_REG_INT 0x08
 #define ISL1208_REG_INT_ALME   (1<<6)   /* alarm enable */
 #define ISL1208_REG_INT_IM     (1<<7)   /* interrupt/alarm mode */
-#define ISL1208_REG_09  0x09	/* reserved */
+#define ISL1219_REG_EV  0x09
+#define ISL1219_REG_EV_EVEN    (1<<4)   /* event detection enable */
 #define ISL1208_REG_ATR 0x0a
 #define ISL1208_REG_DTR 0x0b
 
@@ -57,8 +60,24 @@
 #define ISL1208_REG_USR2 0x13
 #define ISL1208_USR_SECTION_LEN 2
 
+/* event section */
+#define ISL1219_REG_SCT 0x14
+#define ISL1219_REG_MNT 0x15
+#define ISL1219_REG_HRT 0x16
+#define ISL1219_REG_DTT 0x17
+#define ISL1219_REG_MOT 0x18
+#define ISL1219_REG_YRT 0x19
+#define ISL1219_EVT_SECTION_LEN 6
+
 static struct i2c_driver isl1208_driver;
 
+/* ISL1208 various variants */
+enum {
+	TYPE_ISL1208 = 0,
+	TYPE_ISL1218,
+	TYPE_ISL1219,
+};
+
 /* block read */
 static int
 isl1208_i2c_read_regs(struct i2c_client *client, u8 reg, u8 buf[],
@@ -80,8 +99,8 @@ isl1208_i2c_read_regs(struct i2c_client *client, u8 reg, u8 buf[],
 	};
 	int ret;
 
-	BUG_ON(reg > ISL1208_REG_USR2);
-	BUG_ON(reg + len > ISL1208_REG_USR2 + 1);
+	WARN_ON(reg > ISL1219_REG_YRT);
+	WARN_ON(reg + len > ISL1219_REG_YRT + 1);
 
 	ret = i2c_transfer(client->adapter, msgs, 2);
 	if (ret > 0)
@@ -104,8 +123,8 @@ isl1208_i2c_set_regs(struct i2c_client *client, u8 reg, u8 const buf[],
 	};
 	int ret;
 
-	BUG_ON(reg > ISL1208_REG_USR2);
-	BUG_ON(reg + len > ISL1208_REG_USR2 + 1);
+	WARN_ON(reg > ISL1219_REG_YRT);
+	WARN_ON(reg + len > ISL1219_REG_YRT + 1);
 
 	i2c_buf[0] = reg;
 	memcpy(&i2c_buf[1], &buf[0], len);
@@ -493,6 +512,73 @@ isl1208_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
 	return isl1208_i2c_set_alarm(to_i2c_client(dev), alarm);
 }
 
+static ssize_t timestamp0_store(struct device *dev,
+		struct device_attribute *attr,
+		const char *buf, size_t count)
+{
+	struct i2c_client *client = dev_get_drvdata(dev);
+	int sr;
+
+	sr = isl1208_i2c_get_sr(client);
+	if (sr < 0) {
+		dev_err(dev, "%s: reading SR failed\n", __func__);
+		return sr;
+	}
+
+	sr &= ~ISL1208_REG_SR_EVT;
+
+	sr = i2c_smbus_write_byte_data(client, ISL1208_REG_SR, sr);
+	if (sr < 0)
+		dev_err(dev, "%s: writing SR failed\n",
+			__func__);
+
+	return count;
+};
+
+static ssize_t timestamp0_show(struct device *dev,
+				struct device_attribute *attr, char *buf)
+{
+	struct i2c_client *client = dev_get_drvdata(dev);
+	u8 regs[ISL1219_EVT_SECTION_LEN] = { 0, };
+	struct rtc_time tm;
+	int sr;
+
+	sr = isl1208_i2c_get_sr(client);
+	if (sr < 0) {
+		dev_err(dev, "%s: reading SR failed\n", __func__);
+		return sr;
+	}
+
+	if (!(sr & ISL1208_REG_SR_EVT))
+		return 0;
+
+	sr = isl1208_i2c_read_regs(client, ISL1219_REG_SCT, regs,
+				   ISL1219_EVT_SECTION_LEN);
+	if (sr < 0) {
+		dev_err(dev, "%s: reading event section failed\n",
+			__func__);
+		return 0;
+	}
+
+	/* MSB of each alarm register is an enable bit */
+	tm.tm_sec = bcd2bin(regs[ISL1219_REG_SCT - ISL1219_REG_SCT] & 0x7f);
+	tm.tm_min = bcd2bin(regs[ISL1219_REG_MNT - ISL1219_REG_SCT] & 0x7f);
+	tm.tm_hour = bcd2bin(regs[ISL1219_REG_HRT - ISL1219_REG_SCT] & 0x3f);
+	tm.tm_mday = bcd2bin(regs[ISL1219_REG_DTT - ISL1219_REG_SCT] & 0x3f);
+	tm.tm_mon =
+		bcd2bin(regs[ISL1219_REG_MOT - ISL1219_REG_SCT] & 0x1f) - 1;
+	tm.tm_year = bcd2bin(regs[ISL1219_REG_YRT - ISL1219_REG_SCT]) + 100;
+
+	sr = rtc_valid_tm(&tm);
+	if (sr)
+		return sr;
+
+	return sprintf(buf, "%llu\n",
+				(unsigned long long)rtc_tm_to_time64(&tm));
+};
+
+static DEVICE_ATTR_RW(timestamp0);
+
 static irqreturn_t
 isl1208_rtc_interrupt(int irq, void *data)
 {
@@ -538,6 +624,13 @@ isl1208_rtc_interrupt(int irq, void *data)
 			return err;
 	}
 
+	if (sr & ISL1208_REG_SR_EVT) {
+		sysfs_notify(&rtc->dev.kobj, NULL,
+			dev_attr_timestamp0.attr.name);
+		dev_warn(&client->dev, "event detected");
+		handled = 1;
+	}
+
 	return handled ? IRQ_HANDLED : IRQ_NONE;
 }
 
@@ -623,6 +716,15 @@ static const struct attribute_group isl1208_rtc_sysfs_files = {
 	.attrs	= isl1208_rtc_attrs,
 };
 
+static struct attribute *isl1219_rtc_attrs[] = {
+	&dev_attr_timestamp0.attr,
+	NULL
+};
+
+static const struct attribute_group isl1219_rtc_sysfs_files = {
+	.attrs	= isl1219_rtc_attrs,
+};
+
 static int
 isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
 {
@@ -642,6 +744,7 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
 	rtc->ops = &isl1208_rtc_ops;
 
 	i2c_set_clientdata(client, rtc);
+	dev_set_drvdata(&rtc->dev, client);
 
 	rc = isl1208_i2c_get_sr(client);
 	if (rc < 0) {
@@ -653,6 +756,18 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
 		dev_warn(&client->dev, "rtc power failure detected, "
 			 "please set clock.\n");
 
+	if (id->driver_data == TYPE_ISL1219) {
+		rc = ISL1219_REG_EV_EVEN;
+		rc = i2c_smbus_write_byte_data(client, ISL1219_REG_EV, rc);
+		if (rc < 0) {
+			dev_err(&client->dev, "could not enable tamper detection\n");
+			return rc;
+		}
+		rc = rtc_add_group(rtc, &isl1219_rtc_sysfs_files);
+		if (rc)
+			return rc;
+	}
+
 	rc = sysfs_create_group(&client->dev.kobj, &isl1208_rtc_sysfs_files);
 	if (rc)
 		return rc;
@@ -686,8 +801,9 @@ isl1208_remove(struct i2c_client *client)
 }
 
 static const struct i2c_device_id isl1208_id[] = {
-	{ "isl1208", 0 },
-	{ "isl1218", 0 },
+	{ "isl1208", TYPE_ISL1208 },
+	{ "isl1218", TYPE_ISL1218 },
+	{ "isl1219", TYPE_ISL1219 },
 	{ }
 };
 MODULE_DEVICE_TABLE(i2c, isl1208_id);
@@ -695,6 +811,7 @@ MODULE_DEVICE_TABLE(i2c, isl1208_id);
 static const struct of_device_id isl1208_of_match[] = {
 	{ .compatible = "isil,isl1208" },
 	{ .compatible = "isil,isl1218" },
+	{ .compatible = "isil,isl1219" },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, isl1208_of_match);
-- 
2.18.0



Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v4 1/5] rtc: sysfs: facilitate attribute add to rtc device
  2018-07-10  9:44 [PATCH v4 0/5] rtc: isl1208: fixes, documentation and isl1219 support Denis OSTERLAND
                   ` (3 preceding siblings ...)
  2018-07-10  9:44 ` [PATCH v4 4/5] rtc: isl1208: set ev-evienb bit from device tree Denis OSTERLAND
@ 2018-07-10  9:44 ` Denis OSTERLAND
  2018-07-18  7:25   ` Alexandre Belloni
  4 siblings, 1 reply; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-10  9:44 UTC (permalink / raw)
  To: a.zummo, alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, mark.rutland,
	linux-rtc, kernel, Denis OSTERLAND

From: Denis Osterland <Denis.Osterland@diehl.com>

This patches addresses following problem:
rtc_allocate_device
devm_device_add_group  <-- kernel oops / null pointer, because
			sysfs entry does not yet exist
rtc_register_device
rc = devm_device_add_group
if (rc)
	return rc;     <-- forbidden to return error code
			after device register

In case groups were not yet registered (kobj.state_in_sysfs == 0)
rtc_add_group just addes given group to dev.groups,
otherwise it uses devm_device_add_group.

Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
---
 drivers/rtc/rtc-core.h  |  6 ++++++
 drivers/rtc/rtc-sysfs.c | 39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+)

diff --git a/drivers/rtc/rtc-core.h b/drivers/rtc/rtc-core.h
index 0abf98983e13..81d1c3ce7a96 100644
--- a/drivers/rtc/rtc-core.h
+++ b/drivers/rtc/rtc-core.h
@@ -40,9 +40,15 @@ static inline void rtc_proc_del_device(struct rtc_device *rtc)
 
 #ifdef CONFIG_RTC_INTF_SYSFS
 const struct attribute_group **rtc_get_dev_attribute_groups(void);
+int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp);
 #else
 static inline const struct attribute_group **rtc_get_dev_attribute_groups(void)
 {
 	return NULL;
 }
+static inline
+int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
+{
+	return 0;
+}
 #endif
diff --git a/drivers/rtc/rtc-sysfs.c b/drivers/rtc/rtc-sysfs.c
index 454da38c6012..9a177b8f761b 100644
--- a/drivers/rtc/rtc-sysfs.c
+++ b/drivers/rtc/rtc-sysfs.c
@@ -317,3 +317,42 @@ const struct attribute_group **rtc_get_dev_attribute_groups(void)
 {
 	return rtc_attr_groups;
 }
+
+static size_t rtc_group_count(struct rtc_device *rtc)
+{
+	const struct attribute_group **groups = rtc->dev.groups;
+	size_t cnt = 0;
+
+	if (groups)
+		for (; *groups; groups++)
+			cnt++;
+
+	return cnt;
+}
+
+static inline int
+__rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
+{
+	size_t cnt = rtc_group_count(rtc);
+	const struct attribute_group **groups, **old;
+
+	groups = devm_kzalloc(&rtc->dev, (cnt+2)*sizeof(*groups), GFP_KERNEL);
+	if (IS_ERR_OR_NULL(groups))
+		return PTR_ERR(groups);
+	memcpy(groups, rtc->dev.groups, cnt*sizeof(*groups));
+	groups[cnt] = grp;
+
+	old = rtc->dev.groups;
+	rtc->dev.groups = groups;
+	if (old != rtc_attr_groups)
+		devm_kfree(&rtc->dev, old);
+
+	return 0;
+}
+
+int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
+{
+	return rtc->dev.kobj.state_in_sysfs ?
+		devm_device_add_group(&rtc->dev, grp) :
+		__rtc_add_group(rtc, grp);
+}
-- 
2.18.0



Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v4 5/5] rtc: isl1219: add device tree docu
  2018-07-10  9:44 [PATCH v4 0/5] rtc: isl1208: fixes, documentation and isl1219 support Denis OSTERLAND
@ 2018-07-10  9:44 ` Denis OSTERLAND
  2018-07-11 15:16   ` Rob Herring
  2018-07-18  7:38   ` Alexandre Belloni
  2018-07-10  9:44 ` [PATCH v4 3/5] rtc: isl1208: Add "evdet" interrupt source for isl1219 Denis OSTERLAND
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-10  9:44 UTC (permalink / raw)
  To: mark.rutland, robh+dt
  Cc: linux-kernel, alexandre.belloni, m.grzeschik, devicetree,
	a.zummo, linux-rtc, kernel, Denis OSTERLAND

From: Denis Osterland <Denis.Osterland@diehl.com>

The devicetree documentation for the ISL1219 device tree
binding is added with an short example. It is not a trivial
device, because it supports two interrupt souces.

Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
---
 .../devicetree/bindings/rtc/isil,isl1219.txt  | 29 +++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1219.txt

diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1219.txt b/Documentation/devicetree/bindings/rtc/isil,isl1219.txt
new file mode 100644
index 000000000000..f26f1e9d4bde
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/isil,isl1219.txt
@@ -0,0 +1,29 @@
+Intersil ISL1219 I2C RTC/Alarm chip with event in
+
+ISL1219 has additional pins EVIN and #EVDET for tamper detection.
+
+Required properties supported by the device:
+
+ - "compatible": must be "isil,isl1219"
+ - "reg": I2C bus address of the device
+
+Optional properties:
+
+ - "interrupt-names": list which may contains "irq" and "evdet"
+ - "interrupt-parent", "interrupts", "interrupts-extended":
+   for passing the interrupt line of the SoC connected to #IRQ pin
+   and #EVDET pin of the RTC chip.
+ - "isil,ev-evienb": if present bit can be set to disable event input pull-up
+
+
+Example isl1219 node with #IRQ pin connected to SoC gpio1 pin12
+ and #EVDET pin connected to SoC gpio2 pin 24:
+
+	isl1219: rtc@68 {
+		compatible = "isil,isl1219";
+		reg = <0x68>;
+		interrupt-names = "irq", "evdet";
+		interrupts-extended = <&gpio1 12 IRQ_TYPE_EDGE_FALLING>,
+			<&gpio2 24 IRQ_TYPE_EDGE_FALLING>;
+	};
+
-- 
2.18.0



Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection
  2018-07-10  9:44 ` [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection Denis OSTERLAND
@ 2018-07-10 13:20     ` kbuild test robot
  2018-07-18  8:13   ` Alexandre Belloni
  1 sibling, 0 replies; 23+ messages in thread
From: kbuild test robot @ 2018-07-10 13:20 UTC (permalink / raw)
  To: Denis OSTERLAND
  Cc: kbuild-all, a.zummo, alexandre.belloni, linux-kernel, robh+dt,
	m.grzeschik, devicetree, mark.rutland, linux-rtc, kernel,
	Denis OSTERLAND

[-- Attachment #1: Type: text/plain, Size: 932 bytes --]

Hi Michael,

I love your patch! Yet something to improve:

[auto build test ERROR on abelloni/rtc-next]
[also build test ERROR on v4.18-rc4 next-20180709]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Denis-OSTERLAND/rtc-isl1208-fixes-documentation-and-isl1219-support/20180710-181709
base:   https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next
config: x86_64-randconfig-s4-07101857 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

>> ERROR: "rtc_add_group" [drivers/rtc/rtc-isl1208.ko] undefined!

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27533 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection
@ 2018-07-10 13:20     ` kbuild test robot
  0 siblings, 0 replies; 23+ messages in thread
From: kbuild test robot @ 2018-07-10 13:20 UTC (permalink / raw)
  Cc: kbuild-all, a.zummo, alexandre.belloni, linux-kernel, robh+dt,
	m.grzeschik, devicetree, mark.rutland, linux-rtc, kernel,
	Denis OSTERLAND

[-- Attachment #1: Type: text/plain, Size: 932 bytes --]

Hi Michael,

I love your patch! Yet something to improve:

[auto build test ERROR on abelloni/rtc-next]
[also build test ERROR on v4.18-rc4 next-20180709]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Denis-OSTERLAND/rtc-isl1208-fixes-documentation-and-isl1219-support/20180710-181709
base:   https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next
config: x86_64-randconfig-s4-07101857 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

>> ERROR: "rtc_add_group" [drivers/rtc/rtc-isl1208.ko] undefined!

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27533 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection
  2018-07-10 13:20     ` kbuild test robot
@ 2018-07-10 14:06       ` Denis OSTERLAND
  -1 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-10 14:06 UTC (permalink / raw)
  To: lkp
  Cc: linux-kernel, alexandre.belloni, robh+dt, m.grzeschik,
	devicetree, a.zummo, mark.rutland, kbuild-all, linux-rtc, kernel

Hi,

seems 2/5 was applied before 1/5.
1/5 introduces rtc_add_group.

Regards Denis

Am Dienstag, den 10.07.2018, 21:20 +0800 schrieb kbuild test robot:
> Hi Michael,
> 
> I love your patch! Yet something to improve:
> 
> [auto build test ERROR on abelloni/rtc-next]
> [also build test ERROR on v4.18-rc4 next-20180709]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> 
> url:    https://github.com/0day-ci/linux/commits/Denis-OSTERLAND/rtc-isl1208-fixes-documentation-and-isl1219-support/20180710-181709
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next
> config: x86_64-randconfig-s4-07101857 (attached as .config)
> compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=x86_64 
> 
> All errors (new ones prefixed by >>):
> 
> > 
> > > 
> > > ERROR: "rtc_add_group" [drivers/rtc/rtc-isl1208.ko] undefined!
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection
@ 2018-07-10 14:06       ` Denis OSTERLAND
  0 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-10 14:06 UTC (permalink / raw)
  To: lkp
  Cc: linux-kernel, alexandre.belloni, robh+dt, m.grzeschik,
	devicetree, a.zummo, mark.rutland, kbuild-all, linux-rtc, kernel

SGksDQoNCnNlZW1zIDIvNSB3YXMgYXBwbGllZCBiZWZvcmUgMS81Lg0KMS81IGludHJvZHVj
ZXMgcnRjX2FkZF9ncm91cC4NCg0KUmVnYXJkcyBEZW5pcw0KDQpBbSBEaWVuc3RhZywgZGVu
IDEwLjA3LjIwMTgsIDIxOjIwICswODAwIHNjaHJpZWIga2J1aWxkIHRlc3Qgcm9ib3Q6DQo+
IEhpIE1pY2hhZWwsDQo+IA0KPiBJIGxvdmUgeW91ciBwYXRjaCEgWWV0IHNvbWV0aGluZyB0
byBpbXByb3ZlOg0KPiANCj4gW2F1dG8gYnVpbGQgdGVzdCBFUlJPUiBvbiBhYmVsbG9uaS9y
dGMtbmV4dF0NCj4gW2Fsc28gYnVpbGQgdGVzdCBFUlJPUiBvbiB2NC4xOC1yYzQgbmV4dC0y
MDE4MDcwOV0NCj4gW2lmIHlvdXIgcGF0Y2ggaXMgYXBwbGllZCB0byB0aGUgd3JvbmcgZ2l0
IHRyZWUsIHBsZWFzZSBkcm9wIHVzIGEgbm90ZSB0byBoZWxwIGltcHJvdmUgdGhlIHN5c3Rl
bV0NCj4gDQo+IHVybDrCoMKgwqDCoGh0dHBzOi8vZ2l0aHViLmNvbS8wZGF5LWNpL2xpbnV4
L2NvbW1pdHMvRGVuaXMtT1NURVJMQU5EL3J0Yy1pc2wxMjA4LWZpeGVzLWRvY3VtZW50YXRp
b24tYW5kLWlzbDEyMTktc3VwcG9ydC8yMDE4MDcxMC0xODE3MDkNCj4gYmFzZTrCoMKgwqBo
dHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9hYmVsbG9u
aS9saW51eC5naXQgcnRjLW5leHQNCj4gY29uZmlnOiB4ODZfNjQtcmFuZGNvbmZpZy1zNC0w
NzEwMTg1NyAoYXR0YWNoZWQgYXMgLmNvbmZpZykNCj4gY29tcGlsZXI6IGdjYy03IChEZWJp
YW4gNy4zLjAtMTYpIDcuMy4wDQo+IHJlcHJvZHVjZToNCj4gwqDCoMKgwqDCoMKgwqDCoCMg
c2F2ZSB0aGUgYXR0YWNoZWQgLmNvbmZpZyB0byBsaW51eCBidWlsZCB0cmVlDQo+IMKgwqDC
oMKgwqDCoMKgwqBtYWtlIEFSQ0g9eDg2XzY0wqANCj4gDQo+IEFsbCBlcnJvcnMgKG5ldyBv
bmVzIHByZWZpeGVkIGJ5ID4+KToNCj4gDQo+ID4gDQo+ID4gPiANCj4gPiA+IEVSUk9SOiAi
cnRjX2FkZF9ncm91cCIgW2RyaXZlcnMvcnRjL3J0Yy1pc2wxMjA4LmtvXSB1bmRlZmluZWQh
DQo+IC0tLQ0KPiAwLURBWSBrZXJuZWwgdGVzdCBpbmZyYXN0cnVjdHVyZcKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXINCj4g
aHR0cHM6Ly9saXN0cy4wMS5vcmcvcGlwZXJtYWlsL2tidWlsZC1hbGzCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoEludGVsIENvcnBvcmF0aW9uDQoNCkRpZWhsIENv
bm5lY3Rpdml0eSBTb2x1dGlvbnMgR21iSA0KR2VzY2jDpGZ0c2bDvGhydW5nOiBIb3JzdCBM
ZW9uYmVyZ2VyDQpTaXR6IGRlciBHZXNlbGxzY2hhZnQ6IE7DvHJuYmVyZyAtIFJlZ2lzdGVy
Z2VyaWNodDogQW10c2dlcmljaHQNCk7DvHJuYmVyZzogSFJCIDMyMzE1DQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KRGVyIEluaGFsdCBkZXIg
dm9yc3RlaGVuZGVuIEUtTWFpbCBpc3QgbmljaHQgcmVjaHRsaWNoIGJpbmRlbmQuIERpZXNl
IEUtTWFpbCBlbnRoYWVsdCB2ZXJ0cmF1bGljaGUgdW5kL29kZXIgcmVjaHRsaWNoIGdlc2No
dWV0enRlIEluZm9ybWF0aW9uZW4uDQpJbmZvcm1pZXJlbiBTaWUgdW5zIGJpdHRlLCB3ZW5u
IFNpZSBkaWVzZSBFLU1haWwgZmFlbHNjaGxpY2hlcndlaXNlIGVyaGFsdGVuIGhhYmVuLiBC
aXR0ZSBsb2VzY2hlbiBTaWUgaW4gZGllc2VtIEZhbGwgZGllIE5hY2hyaWNodC4NCkplZGUg
dW5lcmxhdWJ0ZSBGb3JtIGRlciBSZXByb2R1a3Rpb24sIEJla2FubnRnYWJlLCBBZW5kZXJ1
bmcsIFZlcnRlaWx1bmcgdW5kL29kZXIgUHVibGlrYXRpb24gZGllc2VyIEUtTWFpbCBpc3Qg
c3RyZW5nc3RlbnMgdW50ZXJzYWd0Lg0KVGhlIGNvbnRlbnRzIG9mIHRoZSBhYm92ZSBtZW50
aW9uZWQgZS1tYWlsIGlzIG5vdCBsZWdhbGx5IGJpbmRpbmcuIFRoaXMgZS1tYWlsIGNvbnRh
aW5zIGNvbmZpZGVudGlhbCBhbmQvb3IgbGVnYWxseSBwcm90ZWN0ZWQgaW5mb3JtYXRpb24u
IFBsZWFzZSBpbmZvcm0gdXMgaWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlLW1haWwgYnkN
Cm1pc3Rha2UgYW5kIGRlbGV0ZSBpdCBpbiBzdWNoIGEgY2FzZS4gRWFjaCB1bmF1dGhvcml6
ZWQgcmVwcm9kdWN0aW9uLCBkaXNjbG9zdXJlLCBhbHRlcmF0aW9uLCBkaXN0cmlidXRpb24g
YW5kL29yIHB1YmxpY2F0aW9uIG9mIHRoaXMgZS1tYWlsIGlzIHN0cmljdGx5IHByb2hpYml0
ZWQuIA0K

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection
  2018-07-10 14:06       ` Denis OSTERLAND
  (?)
@ 2018-07-11  6:01       ` Ye Xiaolong
  -1 siblings, 0 replies; 23+ messages in thread
From: Ye Xiaolong @ 2018-07-11  6:01 UTC (permalink / raw)
  To: Denis OSTERLAND
  Cc: lkp, linux-kernel, alexandre.belloni, robh+dt, m.grzeschik,
	devicetree, a.zummo, mark.rutland, kbuild-all, linux-rtc, kernel

Hi, Denis

The patch was applied in correct sequence as you can see in the github link.

I think the question here is rtc-isl1208 can be built as a built-in module,
but it would fail if it was built as a ko.

Thanks,
Xiaolong

On 07/10, Denis OSTERLAND wrote:
>Hi,
>
>seems 2/5 was applied before 1/5.
>1/5 introduces rtc_add_group.
>
>Regards Denis
>
>Am Dienstag, den 10.07.2018, 21:20 +0800 schrieb kbuild test robot:
>> Hi Michael,
>> 
>> I love your patch! Yet something to improve:
>> 
>> [auto build test ERROR on abelloni/rtc-next]
>> [also build test ERROR on v4.18-rc4 next-20180709]
>> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>> 
>> url:    https://github.com/0day-ci/linux/commits/Denis-OSTERLAND/rtc-isl1208-fixes-documentation-and-isl1219-support/20180710-181709
>> base:   https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next
>> config: x86_64-randconfig-s4-07101857 (attached as .config)
>> compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
>> reproduce:
>>         # save the attached .config to linux build tree
>>         make ARCH=x86_64 
>> 
>> All errors (new ones prefixed by >>):
>> 
>> > 
>> > > 
>> > > ERROR: "rtc_add_group" [drivers/rtc/rtc-isl1208.ko] undefined!
>> ---
>> 0-DAY kernel test infrastructure                Open Source Technology Center
>> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>
>Diehl Connectivity Solutions GmbH
>Geschäftsführung: Horst Leonberger
>Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
>Nürnberg: HRB 32315
>___________________________________________________________________________________________________
>
>Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
>Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
>Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
>The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
>mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 5/5] rtc: isl1219: add device tree docu
  2018-07-10  9:44 ` [PATCH v4 5/5] rtc: isl1219: add device tree docu Denis OSTERLAND
@ 2018-07-11 15:16   ` Rob Herring
  2018-07-12  6:42       ` Denis OSTERLAND
  2018-07-18  7:38   ` Alexandre Belloni
  1 sibling, 1 reply; 23+ messages in thread
From: Rob Herring @ 2018-07-11 15:16 UTC (permalink / raw)
  To: Denis OSTERLAND
  Cc: mark.rutland, linux-kernel, alexandre.belloni, m.grzeschik,
	devicetree, a.zummo, linux-rtc, kernel

On Tue, Jul 10, 2018 at 09:44:15AM +0000, Denis OSTERLAND wrote:
> From: Denis Osterland <Denis.Osterland@diehl.com>
> 
> The devicetree documentation for the ISL1219 device tree
> binding is added with an short example. It is not a trivial
> device, because it supports two interrupt souces.

s/souces/sources/

> 
> Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
> ---
>  .../devicetree/bindings/rtc/isil,isl1219.txt  | 29 +++++++++++++++++++
>  1 file changed, 29 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1219.txt
> 
> diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1219.txt b/Documentation/devicetree/bindings/rtc/isil,isl1219.txt
> new file mode 100644
> index 000000000000..f26f1e9d4bde
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/isil,isl1219.txt
> @@ -0,0 +1,29 @@
> +Intersil ISL1219 I2C RTC/Alarm chip with event in
> +
> +ISL1219 has additional pins EVIN and #EVDET for tamper detection.
> +
> +Required properties supported by the device:
> +
> + - "compatible": must be "isil,isl1219"
> + - "reg": I2C bus address of the device
> +
> +Optional properties:
> +
> + - "interrupt-names": list which may contains "irq" and "evdet"
> + - "interrupt-parent", "interrupts", "interrupts-extended":
> +   for passing the interrupt line of the SoC connected to #IRQ pin
> +   and #EVDET pin of the RTC chip.

Just list 'interrupts' and how many there are. interrupt-parent is 
implied and may be in a parent node. interrupts-extended is also 
implicitly allowed as needed.

> + - "isil,ev-evienb": if present bit can be set to disable event input pull-up
> +
> +
> +Example isl1219 node with #IRQ pin connected to SoC gpio1 pin12
> + and #EVDET pin connected to SoC gpio2 pin 24:
> +
> +	isl1219: rtc@68 {
> +		compatible = "isil,isl1219";
> +		reg = <0x68>;
> +		interrupt-names = "irq", "evdet";
> +		interrupts-extended = <&gpio1 12 IRQ_TYPE_EDGE_FALLING>,
> +			<&gpio2 24 IRQ_TYPE_EDGE_FALLING>;
> +	};
> +
> --
> 2.18.0
> 
> 
> 
> Diehl Connectivity Solutions GmbH
> Geschäftsführung: Horst Leonberger
> Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
> Nürnberg: HRB 32315
> ___________________________________________________________________________________________________
> 
> Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
> Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
> Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
> The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
> mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 5/5] rtc: isl1219: add device tree docu
  2018-07-11 15:16   ` Rob Herring
@ 2018-07-12  6:42       ` Denis OSTERLAND
  0 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-12  6:42 UTC (permalink / raw)
  To: robh
  Cc: linux-kernel, alexandre.belloni, m.grzeschik, devicetree,
	a.zummo, mark.rutland, linux-rtc, kernel

Am Mittwoch, den 11.07.2018, 09:16 -0600 schrieb Rob Herring:
> On Tue, Jul 10, 2018 at 09:44:15AM +0000, Denis OSTERLAND wrote:
> > 
> > From: Denis Osterland <Denis.Osterland@diehl.com>
> > 
> > The devicetree documentation for the ISL1219 device tree
> > binding is added with an short example. It is not a trivial
> > device, because it supports two interrupt souces.
> s/souces/sources/
OK
> 
> > 
> > 
> > Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
> > ---
> >  .../devicetree/bindings/rtc/isil,isl1219.txt  | 29 +++++++++++++++++++
> >  1 file changed, 29 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1219.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1219.txt b/Documentation/devicetree/bindings/rtc/isil,isl1219.txt
> > new file mode 100644
> > index 000000000000..f26f1e9d4bde
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/rtc/isil,isl1219.txt
> > @@ -0,0 +1,29 @@
> > +Intersil ISL1219 I2C RTC/Alarm chip with event in
> > +
> > +ISL1219 has additional pins EVIN and #EVDET for tamper detection.
> > +
> > +Required properties supported by the device:
> > +
> > + - "compatible": must be "isil,isl1219"
> > + - "reg": I2C bus address of the device
> > +
> > +Optional properties:
> > +
> > + - "interrupt-names": list which may contains "irq" and "evdet"
> > + - "interrupt-parent", "interrupts", "interrupts-extended":
> > +   for passing the interrupt line of the SoC connected to #IRQ pin
> > +   and #EVDET pin of the RTC chip.
> Just list 'interrupts' and how many there are. interrupt-parent is 
> implied and may be in a parent node. interrupts-extended is also 
> implicitly allowed as needed.
Will change to: "interrupts": list of interrupts for "irq" and "evdet"
> 
> > 
> > + - "isil,ev-evienb": if present bit can be set to disable event input pull-up
> > +
> > +
> > +Example isl1219 node with #IRQ pin connected to SoC gpio1 pin12
> > + and #EVDET pin connected to SoC gpio2 pin 24:
> > +
> > +	isl1219: rtc@68 {
> > +		compatible = "isil,isl1219";
> > +		reg = <0x68>;
> > +		interrupt-names = "irq", "evdet";
> > +		interrupts-extended = <&gpio1 12 IRQ_TYPE_EDGE_FALLING>,
> > +			<&gpio2 24 IRQ_TYPE_EDGE_FALLING>;
> > +	};
> > +
> > --
> > 2.18.0
> > 
> > 
> > 
> > Diehl Connectivity Solutions GmbH
> > Geschäftsführung: Horst Leonberger
> > Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
> > Nürnberg: HRB 32315
> > ___________________________________________________________________________________________________
> > 
> > Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
> > Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
> > Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
> > The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
> > mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited.

Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 5/5] rtc: isl1219: add device tree docu
@ 2018-07-12  6:42       ` Denis OSTERLAND
  0 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-12  6:42 UTC (permalink / raw)
  To: robh
  Cc: linux-kernel, alexandre.belloni, m.grzeschik, devicetree,
	a.zummo, mark.rutland, linux-rtc, kernel

QW0gTWl0dHdvY2gsIGRlbiAxMS4wNy4yMDE4LCAwOToxNiAtMDYwMCBzY2hyaWViIFJvYiBI
ZXJyaW5nOg0KPiBPbiBUdWUsIEp1bCAxMCwgMjAxOCBhdCAwOTo0NDoxNUFNICswMDAwLCBE
ZW5pcyBPU1RFUkxBTkQgd3JvdGU6DQo+ID4gDQo+ID4gRnJvbTogRGVuaXMgT3N0ZXJsYW5k
IDxEZW5pcy5Pc3RlcmxhbmRAZGllaGwuY29tPg0KPiA+IA0KPiA+IFRoZSBkZXZpY2V0cmVl
IGRvY3VtZW50YXRpb24gZm9yIHRoZSBJU0wxMjE5IGRldmljZSB0cmVlDQo+ID4gYmluZGlu
ZyBpcyBhZGRlZCB3aXRoIGFuIHNob3J0IGV4YW1wbGUuIEl0IGlzIG5vdCBhIHRyaXZpYWwN
Cj4gPiBkZXZpY2UsIGJlY2F1c2UgaXQgc3VwcG9ydHMgdHdvIGludGVycnVwdCBzb3VjZXMu
DQo+IHMvc291Y2VzL3NvdXJjZXMvDQpPSw0KPiANCj4gPiANCj4gPiANCj4gPiBTaWduZWQt
b2ZmLWJ5OiBEZW5pcyBPc3RlcmxhbmQgPERlbmlzLk9zdGVybGFuZEBkaWVobC5jb20+DQo+
ID4gLS0tDQo+ID4gwqAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9ydGMvaXNpbCxpc2wxMjE5
LnR4dMKgwqB8IDI5ICsrKysrKysrKysrKysrKysrKysNCj4gPiDCoDEgZmlsZSBjaGFuZ2Vk
LCAyOSBpbnNlcnRpb25zKCspDQo+ID4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRh
dGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3J0Yy9pc2lsLGlzbDEyMTkudHh0DQo+ID4gDQo+
ID4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9ydGMv
aXNpbCxpc2wxMjE5LnR4dCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9y
dGMvaXNpbCxpc2wxMjE5LnR4dA0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5k
ZXggMDAwMDAwMDAwMDAwLi5mMjZmMWU5ZDRiZGUNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4g
KysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3J0Yy9pc2lsLGlzbDEy
MTkudHh0DQo+ID4gQEAgLTAsMCArMSwyOSBAQA0KPiA+ICtJbnRlcnNpbCBJU0wxMjE5IEky
QyBSVEMvQWxhcm0gY2hpcCB3aXRoIGV2ZW50IGluDQo+ID4gKw0KPiA+ICtJU0wxMjE5IGhh
cyBhZGRpdGlvbmFsIHBpbnMgRVZJTiBhbmQgI0VWREVUIGZvciB0YW1wZXIgZGV0ZWN0aW9u
Lg0KPiA+ICsNCj4gPiArUmVxdWlyZWQgcHJvcGVydGllcyBzdXBwb3J0ZWQgYnkgdGhlIGRl
dmljZToNCj4gPiArDQo+ID4gKyAtICJjb21wYXRpYmxlIjogbXVzdCBiZSAiaXNpbCxpc2wx
MjE5Ig0KPiA+ICsgLSAicmVnIjogSTJDIGJ1cyBhZGRyZXNzIG9mIHRoZSBkZXZpY2UNCj4g
PiArDQo+ID4gK09wdGlvbmFsIHByb3BlcnRpZXM6DQo+ID4gKw0KPiA+ICsgLSAiaW50ZXJy
dXB0LW5hbWVzIjogbGlzdCB3aGljaCBtYXkgY29udGFpbnMgImlycSIgYW5kICJldmRldCIN
Cj4gPiArIC0gImludGVycnVwdC1wYXJlbnQiLCAiaW50ZXJydXB0cyIsICJpbnRlcnJ1cHRz
LWV4dGVuZGVkIjoNCj4gPiArwqDCoMKgZm9yIHBhc3NpbmcgdGhlIGludGVycnVwdCBsaW5l
IG9mIHRoZSBTb0MgY29ubmVjdGVkIHRvICNJUlEgcGluDQo+ID4gK8KgwqDCoGFuZCAjRVZE
RVQgcGluIG9mIHRoZSBSVEMgY2hpcC4NCj4gSnVzdCBsaXN0ICdpbnRlcnJ1cHRzJyBhbmQg
aG93IG1hbnkgdGhlcmUgYXJlLiBpbnRlcnJ1cHQtcGFyZW50IGlzwqANCj4gaW1wbGllZCBh
bmQgbWF5IGJlIGluIGEgcGFyZW50IG5vZGUuIGludGVycnVwdHMtZXh0ZW5kZWQgaXMgYWxz
b8KgDQo+IGltcGxpY2l0bHkgYWxsb3dlZCBhcyBuZWVkZWQuDQpXaWxsIGNoYW5nZSB0bzog
ImludGVycnVwdHMiOiBsaXN0IG9mIGludGVycnVwdHMgZm9yICJpcnEiIGFuZCAiZXZkZXQi
DQo+IA0KPiA+IA0KPiA+ICsgLSAiaXNpbCxldi1ldmllbmIiOiBpZiBwcmVzZW50IGJpdCBj
YW4gYmUgc2V0IHRvIGRpc2FibGUgZXZlbnQgaW5wdXQgcHVsbC11cA0KPiA+ICsNCj4gPiAr
DQo+ID4gK0V4YW1wbGUgaXNsMTIxOSBub2RlIHdpdGggI0lSUSBwaW4gY29ubmVjdGVkIHRv
IFNvQyBncGlvMSBwaW4xMg0KPiA+ICsgYW5kICNFVkRFVCBwaW4gY29ubmVjdGVkIHRvIFNv
QyBncGlvMiBwaW4gMjQ6DQo+ID4gKw0KPiA+ICsJaXNsMTIxOTogcnRjQDY4IHsNCj4gPiAr
CQljb21wYXRpYmxlID0gImlzaWwsaXNsMTIxOSI7DQo+ID4gKwkJcmVnID0gPDB4Njg+Ow0K
PiA+ICsJCWludGVycnVwdC1uYW1lcyA9ICJpcnEiLCAiZXZkZXQiOw0KPiA+ICsJCWludGVy
cnVwdHMtZXh0ZW5kZWQgPSA8JmdwaW8xIDEyIElSUV9UWVBFX0VER0VfRkFMTElORz4sDQo+
ID4gKwkJCTwmZ3BpbzIgMjQgSVJRX1RZUEVfRURHRV9GQUxMSU5HPjsNCj4gPiArCX07DQo+
ID4gKw0KPiA+IC0tDQo+ID4gMi4xOC4wDQo+ID4gDQo+ID4gDQo+ID4gDQo+ID4gRGllaGwg
Q29ubmVjdGl2aXR5IFNvbHV0aW9ucyBHbWJIDQo+ID4gR2VzY2jDpGZ0c2bDvGhydW5nOiBI
b3JzdCBMZW9uYmVyZ2VyDQo+ID4gU2l0eiBkZXIgR2VzZWxsc2NoYWZ0OiBOw7xybmJlcmcg
LSBSZWdpc3RlcmdlcmljaHQ6IEFtdHNnZXJpY2h0DQo+ID4gTsO8cm5iZXJnOiBIUkIgMzIz
MTUNCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N
Cj4gPiANCj4gPiBEZXIgSW5oYWx0IGRlciB2b3JzdGVoZW5kZW4gRS1NYWlsIGlzdCBuaWNo
dCByZWNodGxpY2ggYmluZGVuZC4gRGllc2UgRS1NYWlsIGVudGhhZWx0IHZlcnRyYXVsaWNo
ZSB1bmQvb2RlciByZWNodGxpY2ggZ2VzY2h1ZXR6dGUgSW5mb3JtYXRpb25lbi4NCj4gPiBJ
bmZvcm1pZXJlbiBTaWUgdW5zIGJpdHRlLCB3ZW5uIFNpZSBkaWVzZSBFLU1haWwgZmFlbHNj
aGxpY2hlcndlaXNlIGVyaGFsdGVuIGhhYmVuLiBCaXR0ZSBsb2VzY2hlbiBTaWUgaW4gZGll
c2VtIEZhbGwgZGllIE5hY2hyaWNodC4NCj4gPiBKZWRlIHVuZXJsYXVidGUgRm9ybSBkZXIg
UmVwcm9kdWt0aW9uLCBCZWthbm50Z2FiZSwgQWVuZGVydW5nLCBWZXJ0ZWlsdW5nIHVuZC9v
ZGVyIFB1Ymxpa2F0aW9uIGRpZXNlciBFLU1haWwgaXN0IHN0cmVuZ3N0ZW5zIHVudGVyc2Fn
dC4NCj4gPiBUaGUgY29udGVudHMgb2YgdGhlIGFib3ZlIG1lbnRpb25lZCBlLW1haWwgaXMg
bm90IGxlZ2FsbHkgYmluZGluZy4gVGhpcyBlLW1haWwgY29udGFpbnMgY29uZmlkZW50aWFs
IGFuZC9vciBsZWdhbGx5IHByb3RlY3RlZCBpbmZvcm1hdGlvbi4gUGxlYXNlIGluZm9ybSB1
cyBpZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGUtbWFpbCBieQ0KPiA+IG1pc3Rha2UgYW5k
IGRlbGV0ZSBpdCBpbiBzdWNoIGEgY2FzZS4gRWFjaCB1bmF1dGhvcml6ZWQgcmVwcm9kdWN0
aW9uLCBkaXNjbG9zdXJlLCBhbHRlcmF0aW9uLCBkaXN0cmlidXRpb24gYW5kL29yIHB1Ymxp
Y2F0aW9uIG9mIHRoaXMgZS1tYWlsIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuDQoNCkRpZWhs
IENvbm5lY3Rpdml0eSBTb2x1dGlvbnMgR21iSA0KR2VzY2jDpGZ0c2bDvGhydW5nOiBIb3Jz
dCBMZW9uYmVyZ2VyDQpTaXR6IGRlciBHZXNlbGxzY2hhZnQ6IE7DvHJuYmVyZyAtIFJlZ2lz
dGVyZ2VyaWNodDogQW10c2dlcmljaHQNCk7DvHJuYmVyZzogSFJCIDMyMzE1DQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KRGVyIEluaGFsdCBk
ZXIgdm9yc3RlaGVuZGVuIEUtTWFpbCBpc3QgbmljaHQgcmVjaHRsaWNoIGJpbmRlbmQuIERp
ZXNlIEUtTWFpbCBlbnRoYWVsdCB2ZXJ0cmF1bGljaGUgdW5kL29kZXIgcmVjaHRsaWNoIGdl
c2NodWV0enRlIEluZm9ybWF0aW9uZW4uDQpJbmZvcm1pZXJlbiBTaWUgdW5zIGJpdHRlLCB3
ZW5uIFNpZSBkaWVzZSBFLU1haWwgZmFlbHNjaGxpY2hlcndlaXNlIGVyaGFsdGVuIGhhYmVu
LiBCaXR0ZSBsb2VzY2hlbiBTaWUgaW4gZGllc2VtIEZhbGwgZGllIE5hY2hyaWNodC4NCkpl
ZGUgdW5lcmxhdWJ0ZSBGb3JtIGRlciBSZXByb2R1a3Rpb24sIEJla2FubnRnYWJlLCBBZW5k
ZXJ1bmcsIFZlcnRlaWx1bmcgdW5kL29kZXIgUHVibGlrYXRpb24gZGllc2VyIEUtTWFpbCBp
c3Qgc3RyZW5nc3RlbnMgdW50ZXJzYWd0Lg0KVGhlIGNvbnRlbnRzIG9mIHRoZSBhYm92ZSBt
ZW50aW9uZWQgZS1tYWlsIGlzIG5vdCBsZWdhbGx5IGJpbmRpbmcuIFRoaXMgZS1tYWlsIGNv
bnRhaW5zIGNvbmZpZGVudGlhbCBhbmQvb3IgbGVnYWxseSBwcm90ZWN0ZWQgaW5mb3JtYXRp
b24uIFBsZWFzZSBpbmZvcm0gdXMgaWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlLW1haWwg
YnkNCm1pc3Rha2UgYW5kIGRlbGV0ZSBpdCBpbiBzdWNoIGEgY2FzZS4gRWFjaCB1bmF1dGhv
cml6ZWQgcmVwcm9kdWN0aW9uLCBkaXNjbG9zdXJlLCBhbHRlcmF0aW9uLCBkaXN0cmlidXRp
b24gYW5kL29yIHB1YmxpY2F0aW9uIG9mIHRoaXMgZS1tYWlsIGlzIHN0cmljdGx5IHByb2hp
Yml0ZWQuIA0K

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 1/5] rtc: sysfs: facilitate attribute add to rtc device
  2018-07-10  9:44 ` [PATCH v4 1/5] rtc: sysfs: facilitate attribute add to rtc device Denis OSTERLAND
@ 2018-07-18  7:25   ` Alexandre Belloni
  2018-07-18  7:37       ` Denis OSTERLAND
  0 siblings, 1 reply; 23+ messages in thread
From: Alexandre Belloni @ 2018-07-18  7:25 UTC (permalink / raw)
  To: Denis OSTERLAND
  Cc: a.zummo, linux-kernel, robh+dt, m.grzeschik, devicetree,
	mark.rutland, linux-rtc, kernel

Hello,

On 10/07/2018 09:44:15+0000, Denis OSTERLAND wrote:
> From: Denis Osterland <Denis.Osterland@diehl.com>
> 
> This patches addresses following problem:
> rtc_allocate_device
> devm_device_add_group  <-- kernel oops / null pointer, because
> 			sysfs entry does not yet exist
> rtc_register_device
> rc = devm_device_add_group
> if (rc)
> 	return rc;     <-- forbidden to return error code
> 			after device register
> 
> In case groups were not yet registered (kobj.state_in_sysfs == 0)
> rtc_add_group just addes given group to dev.groups,
> otherwise it uses devm_device_add_group.
> 
> Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
> ---
>  drivers/rtc/rtc-core.h  |  6 ++++++
>  drivers/rtc/rtc-sysfs.c | 39 +++++++++++++++++++++++++++++++++++++++
>  2 files changed, 45 insertions(+)
> 
> diff --git a/drivers/rtc/rtc-core.h b/drivers/rtc/rtc-core.h
> index 0abf98983e13..81d1c3ce7a96 100644
> --- a/drivers/rtc/rtc-core.h
> +++ b/drivers/rtc/rtc-core.h
> @@ -40,9 +40,15 @@ static inline void rtc_proc_del_device(struct rtc_device *rtc)
> 
>  #ifdef CONFIG_RTC_INTF_SYSFS
>  const struct attribute_group **rtc_get_dev_attribute_groups(void);
> +int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp);
>  #else
>  static inline const struct attribute_group **rtc_get_dev_attribute_groups(void)
>  {
>  	return NULL;
>  }
> +static inline
> +int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
> +{
> +	return 0;
> +}
>  #endif
> diff --git a/drivers/rtc/rtc-sysfs.c b/drivers/rtc/rtc-sysfs.c
> index 454da38c6012..9a177b8f761b 100644
> --- a/drivers/rtc/rtc-sysfs.c
> +++ b/drivers/rtc/rtc-sysfs.c
> @@ -317,3 +317,42 @@ const struct attribute_group **rtc_get_dev_attribute_groups(void)
>  {
>  	return rtc_attr_groups;
>  }
> +
> +static size_t rtc_group_count(struct rtc_device *rtc)
> +{

I don't feel this function is necessary, you can include it in __rtc_add_group

> +	const struct attribute_group **groups = rtc->dev.groups;
> +	size_t cnt = 0;
> +
> +	if (groups)
> +		for (; *groups; groups++)
> +			cnt++;
> +
> +	return cnt;
> +}
> +
> +static inline int
> +__rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
> +{
> +	size_t cnt = rtc_group_count(rtc);
> +	const struct attribute_group **groups, **old;
> +
> +	groups = devm_kzalloc(&rtc->dev, (cnt+2)*sizeof(*groups), GFP_KERNEL);

Please use devm_kcalloc

> +	if (IS_ERR_OR_NULL(groups))
> +		return PTR_ERR(groups);
> +	memcpy(groups, rtc->dev.groups, cnt*sizeof(*groups));
> +	groups[cnt] = grp;
> +
> +	old = rtc->dev.groups;
> +	rtc->dev.groups = groups;
> +	if (old != rtc_attr_groups)
> +		devm_kfree(&rtc->dev, old);
> +
> +	return 0;
> +}
> +
> +int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
> +{
> +	return rtc->dev.kobj.state_in_sysfs ?
> +		devm_device_add_group(&rtc->dev, grp) :
> +		__rtc_add_group(rtc, grp);

Using devm_device_add_group after RTC registration is racy and should
not be allowed. I would merge __rtc_add_group in rtc_add_group and
return an error if rtc->registered is true.


-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 1/5] rtc: sysfs: facilitate attribute add to rtc device
  2018-07-18  7:25   ` Alexandre Belloni
@ 2018-07-18  7:37       ` Denis OSTERLAND
  0 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-18  7:37 UTC (permalink / raw)
  To: alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, a.zummo,
	mark.rutland, linux-rtc, kernel

Hello,

thanks for your comments.

Am Mittwoch, den 18.07.2018, 09:25 +0200 schrieb Alexandre Belloni:
> Hello,
> 
> On 10/07/2018 09:44:15+0000, Denis OSTERLAND wrote:
> > 
> > +
> > +static size_t rtc_group_count(struct rtc_device *rtc)
> > +{
> I don't feel this function is necessary, you can include it in __rtc_add_group
I think that it is easier to read, but sure I can include it.
> 
> > 
> > +
> > +static inline int
> > +__rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
> > +{
> > +	size_t cnt = rtc_group_count(rtc);
> > +	const struct attribute_group **groups, **old;
> > +
> > +	groups = devm_kzalloc(&rtc->dev, (cnt+2)*sizeof(*groups), GFP_KERNEL);
> Please use devm_kcalloc
okay
> 
> > 
> > +	if (IS_ERR_OR_NULL(groups))
> > +		return PTR_ERR(groups);
> > +	memcpy(groups, rtc->dev.groups, cnt*sizeof(*groups));
> > +	groups[cnt] = grp;
> > +
> > +	old = rtc->dev.groups;
> > +	rtc->dev.groups = groups;
> > +	if (old != rtc_attr_groups)
> > +		devm_kfree(&rtc->dev, old);
> > +
> > +	return 0;
> > +}
> > +
> > +int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
> > +{
> > +	return rtc->dev.kobj.state_in_sysfs ?
> > +		devm_device_add_group(&rtc->dev, grp) :
> > +		__rtc_add_group(rtc, grp);
> Using devm_device_add_group after RTC registration is racy and should
> not be allowed. I would merge __rtc_add_group in rtc_add_group and
> return an error if rtc->registered is true.
You are right. An error in this case is better.
> 
> 

Regards Denis

Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 1/5] rtc: sysfs: facilitate attribute add to rtc device
@ 2018-07-18  7:37       ` Denis OSTERLAND
  0 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-18  7:37 UTC (permalink / raw)
  To: alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, a.zummo,
	mark.rutland, linux-rtc, kernel

SGVsbG8sDQoNCnRoYW5rcyBmb3IgeW91ciBjb21tZW50cy4NCg0KQW0gTWl0dHdvY2gsIGRl
biAxOC4wNy4yMDE4LCAwOToyNSArMDIwMCBzY2hyaWViIEFsZXhhbmRyZSBCZWxsb25pOg0K
PiBIZWxsbywNCj4gDQo+IE9uIDEwLzA3LzIwMTggMDk6NDQ6MTUrMDAwMCwgRGVuaXMgT1NU
RVJMQU5EIHdyb3RlOg0KPiA+wqANCj4gPiArDQo+ID4gK3N0YXRpYyBzaXplX3QgcnRjX2dy
b3VwX2NvdW50KHN0cnVjdCBydGNfZGV2aWNlICpydGMpDQo+ID4gK3sNCj4gSSBkb24ndCBm
ZWVsIHRoaXMgZnVuY3Rpb24gaXMgbmVjZXNzYXJ5LCB5b3UgY2FuIGluY2x1ZGUgaXQgaW4g
X19ydGNfYWRkX2dyb3VwDQpJIHRoaW5rIHRoYXQgaXQgaXMgZWFzaWVyIHRvIHJlYWQsIGJ1
dCBzdXJlIEkgY2FuIGluY2x1ZGUgaXQuDQo+IA0KPiA+IA0KPiA+ICsNCj4gPiArc3RhdGlj
IGlubGluZSBpbnQNCj4gPiArX19ydGNfYWRkX2dyb3VwKHN0cnVjdCBydGNfZGV2aWNlICpy
dGMsIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKmdycCkNCj4gPiArew0KPiA+ICsJ
c2l6ZV90IGNudCA9IHJ0Y19ncm91cF9jb3VudChydGMpOw0KPiA+ICsJY29uc3Qgc3RydWN0
IGF0dHJpYnV0ZV9ncm91cCAqKmdyb3VwcywgKipvbGQ7DQo+ID4gKw0KPiA+ICsJZ3JvdXBz
ID0gZGV2bV9remFsbG9jKCZydGMtPmRldiwgKGNudCsyKSpzaXplb2YoKmdyb3VwcyksIEdG
UF9LRVJORUwpOw0KPiBQbGVhc2UgdXNlIGRldm1fa2NhbGxvYw0Kb2theQ0KPiANCj4gPiAN
Cj4gPiArCWlmIChJU19FUlJfT1JfTlVMTChncm91cHMpKQ0KPiA+ICsJCXJldHVybiBQVFJf
RVJSKGdyb3Vwcyk7DQo+ID4gKwltZW1jcHkoZ3JvdXBzLCBydGMtPmRldi5ncm91cHMsIGNu
dCpzaXplb2YoKmdyb3VwcykpOw0KPiA+ICsJZ3JvdXBzW2NudF0gPSBncnA7DQo+ID4gKw0K
PiA+ICsJb2xkID0gcnRjLT5kZXYuZ3JvdXBzOw0KPiA+ICsJcnRjLT5kZXYuZ3JvdXBzID0g
Z3JvdXBzOw0KPiA+ICsJaWYgKG9sZCAhPSBydGNfYXR0cl9ncm91cHMpDQo+ID4gKwkJZGV2
bV9rZnJlZSgmcnRjLT5kZXYsIG9sZCk7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4g
K30NCj4gPiArDQo+ID4gK2ludCBydGNfYWRkX2dyb3VwKHN0cnVjdCBydGNfZGV2aWNlICpy
dGMsIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKmdycCkNCj4gPiArew0KPiA+ICsJ
cmV0dXJuIHJ0Yy0+ZGV2LmtvYmouc3RhdGVfaW5fc3lzZnMgPw0KPiA+ICsJCWRldm1fZGV2
aWNlX2FkZF9ncm91cCgmcnRjLT5kZXYsIGdycCkgOg0KPiA+ICsJCV9fcnRjX2FkZF9ncm91
cChydGMsIGdycCk7DQo+IFVzaW5nIGRldm1fZGV2aWNlX2FkZF9ncm91cCBhZnRlciBSVEMg
cmVnaXN0cmF0aW9uIGlzIHJhY3kgYW5kIHNob3VsZA0KPiBub3QgYmUgYWxsb3dlZC4gSSB3
b3VsZCBtZXJnZSBfX3J0Y19hZGRfZ3JvdXAgaW4gcnRjX2FkZF9ncm91cCBhbmQNCj4gcmV0
dXJuIGFuIGVycm9yIGlmIHJ0Yy0+cmVnaXN0ZXJlZCBpcyB0cnVlLg0KWW91IGFyZSByaWdo
dC4gQW4gZXJyb3IgaW4gdGhpcyBjYXNlIGlzIGJldHRlci4NCj4gDQo+IA0KDQpSZWdhcmRz
IERlbmlzDQoNCkRpZWhsIENvbm5lY3Rpdml0eSBTb2x1dGlvbnMgR21iSA0KR2VzY2jDpGZ0
c2bDvGhydW5nOiBIb3JzdCBMZW9uYmVyZ2VyDQpTaXR6IGRlciBHZXNlbGxzY2hhZnQ6IE7D
vHJuYmVyZyAtIFJlZ2lzdGVyZ2VyaWNodDogQW10c2dlcmljaHQNCk7DvHJuYmVyZzogSFJC
IDMyMzE1DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N
Cg0KRGVyIEluaGFsdCBkZXIgdm9yc3RlaGVuZGVuIEUtTWFpbCBpc3QgbmljaHQgcmVjaHRs
aWNoIGJpbmRlbmQuIERpZXNlIEUtTWFpbCBlbnRoYWVsdCB2ZXJ0cmF1bGljaGUgdW5kL29k
ZXIgcmVjaHRsaWNoIGdlc2NodWV0enRlIEluZm9ybWF0aW9uZW4uDQpJbmZvcm1pZXJlbiBT
aWUgdW5zIGJpdHRlLCB3ZW5uIFNpZSBkaWVzZSBFLU1haWwgZmFlbHNjaGxpY2hlcndlaXNl
IGVyaGFsdGVuIGhhYmVuLiBCaXR0ZSBsb2VzY2hlbiBTaWUgaW4gZGllc2VtIEZhbGwgZGll
IE5hY2hyaWNodC4NCkplZGUgdW5lcmxhdWJ0ZSBGb3JtIGRlciBSZXByb2R1a3Rpb24sIEJl
a2FubnRnYWJlLCBBZW5kZXJ1bmcsIFZlcnRlaWx1bmcgdW5kL29kZXIgUHVibGlrYXRpb24g
ZGllc2VyIEUtTWFpbCBpc3Qgc3RyZW5nc3RlbnMgdW50ZXJzYWd0Lg0KVGhlIGNvbnRlbnRz
IG9mIHRoZSBhYm92ZSBtZW50aW9uZWQgZS1tYWlsIGlzIG5vdCBsZWdhbGx5IGJpbmRpbmcu
IFRoaXMgZS1tYWlsIGNvbnRhaW5zIGNvbmZpZGVudGlhbCBhbmQvb3IgbGVnYWxseSBwcm90
ZWN0ZWQgaW5mb3JtYXRpb24uIFBsZWFzZSBpbmZvcm0gdXMgaWYgeW91IGhhdmUgcmVjZWl2
ZWQgdGhpcyBlLW1haWwgYnkNCm1pc3Rha2UgYW5kIGRlbGV0ZSBpdCBpbiBzdWNoIGEgY2Fz
ZS4gRWFjaCB1bmF1dGhvcml6ZWQgcmVwcm9kdWN0aW9uLCBkaXNjbG9zdXJlLCBhbHRlcmF0
aW9uLCBkaXN0cmlidXRpb24gYW5kL29yIHB1YmxpY2F0aW9uIG9mIHRoaXMgZS1tYWlsIGlz
IHN0cmljdGx5IHByb2hpYml0ZWQuIA0K

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 5/5] rtc: isl1219: add device tree docu
  2018-07-10  9:44 ` [PATCH v4 5/5] rtc: isl1219: add device tree docu Denis OSTERLAND
  2018-07-11 15:16   ` Rob Herring
@ 2018-07-18  7:38   ` Alexandre Belloni
  2018-07-18  7:55       ` Denis OSTERLAND
  1 sibling, 1 reply; 23+ messages in thread
From: Alexandre Belloni @ 2018-07-18  7:38 UTC (permalink / raw)
  To: Denis OSTERLAND
  Cc: mark.rutland, robh+dt, linux-kernel, m.grzeschik, devicetree,
	a.zummo, linux-rtc, kernel

Hi,

On 10/07/2018 09:44:15+0000, Denis OSTERLAND wrote:
> From: Denis Osterland <Denis.Osterland@diehl.com>
> 
> The devicetree documentation for the ISL1219 device tree
> binding is added with an short example. It is not a trivial
> device, because it supports two interrupt souces.
> 
> Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com>
> ---
>  .../devicetree/bindings/rtc/isil,isl1219.txt  | 29 +++++++++++++++++++
>  1 file changed, 29 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1219.txt
> 
> diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1219.txt b/Documentation/devicetree/bindings/rtc/isil,isl1219.txt
> new file mode 100644
> index 000000000000..f26f1e9d4bde
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/isil,isl1219.txt
> @@ -0,0 +1,29 @@
> +Intersil ISL1219 I2C RTC/Alarm chip with event in
> +
> +ISL1219 has additional pins EVIN and #EVDET for tamper detection.
> +
> +Required properties supported by the device:
> +
> + - "compatible": must be "isil,isl1219"
> + - "reg": I2C bus address of the device
> +
> +Optional properties:
> +
> + - "interrupt-names": list which may contains "irq" and "evdet"
> + - "interrupt-parent", "interrupts", "interrupts-extended":
> +   for passing the interrupt line of the SoC connected to #IRQ pin
> +   and #EVDET pin of the RTC chip.
> + - "isil,ev-evienb": if present bit can be set to disable event input pull-up

I would use a clearer name for that property like isil,ev-pull-up-enabled.

Also make it an int so 0 is disabling the pull-up (EVIENB set to 1) 1 is
enabling the pull-up (EVIENB set to 0) and do nothing when the property
is not present.


-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 5/5] rtc: isl1219: add device tree docu
  2018-07-18  7:38   ` Alexandre Belloni
@ 2018-07-18  7:55       ` Denis OSTERLAND
  0 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-18  7:55 UTC (permalink / raw)
  To: alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, a.zummo,
	mark.rutland, linux-rtc, kernel

Hello,

Am Mittwoch, den 18.07.2018, 09:38 +0200 schrieb Alexandre Belloni:
> Hi,
> 
> On 10/07/2018 09:44:15+0000, Denis OSTERLAND wrote:
> > 
> > +
> > +Optional properties:
> > +
> > + - "interrupt-names": list which may contains "irq" and "evdet"
> > + - "interrupt-parent", "interrupts", "interrupts-extended":
> > +   for passing the interrupt line of the SoC connected to #IRQ pin
> > +   and #EVDET pin of the RTC chip.
> > + - "isil,ev-evienb": if present bit can be set to disable event input pull-up
> I would use a clearer name for that property like isil,ev-pull-up-enabled.
> 
> Also make it an int so 0 is disabling the pull-up (EVIENB set to 1) 1 is
> enabling the pull-up (EVIENB set to 0) and do nothing when the property
> is not present.
It is designed like Documentation/devicetree/bindings/rtc/isil,isl12026.txt,
which uses the bit name from Documentation as well.
I will change to integer type.
> 
> 
Regards Denis

Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 5/5] rtc: isl1219: add device tree docu
@ 2018-07-18  7:55       ` Denis OSTERLAND
  0 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-18  7:55 UTC (permalink / raw)
  To: alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, a.zummo,
	mark.rutland, linux-rtc, kernel

SGVsbG8sDQoNCkFtIE1pdHR3b2NoLCBkZW4gMTguMDcuMjAxOCwgMDk6MzggKzAyMDAgc2No
cmllYiBBbGV4YW5kcmUgQmVsbG9uaToNCj4gSGksDQo+IA0KPiBPbiAxMC8wNy8yMDE4IDA5
OjQ0OjE1KzAwMDAsIERlbmlzIE9TVEVSTEFORCB3cm90ZToNCj4gPsKgDQo+ID4gKw0KPiA+
ICtPcHRpb25hbCBwcm9wZXJ0aWVzOg0KPiA+ICsNCj4gPiArIC0gImludGVycnVwdC1uYW1l
cyI6IGxpc3Qgd2hpY2ggbWF5IGNvbnRhaW5zICJpcnEiIGFuZCAiZXZkZXQiDQo+ID4gKyAt
ICJpbnRlcnJ1cHQtcGFyZW50IiwgImludGVycnVwdHMiLCAiaW50ZXJydXB0cy1leHRlbmRl
ZCI6DQo+ID4gK8KgwqDCoGZvciBwYXNzaW5nIHRoZSBpbnRlcnJ1cHQgbGluZSBvZiB0aGUg
U29DIGNvbm5lY3RlZCB0byAjSVJRIHBpbg0KPiA+ICvCoMKgwqBhbmQgI0VWREVUIHBpbiBv
ZiB0aGUgUlRDIGNoaXAuDQo+ID4gKyAtICJpc2lsLGV2LWV2aWVuYiI6IGlmIHByZXNlbnQg
Yml0IGNhbiBiZSBzZXQgdG8gZGlzYWJsZSBldmVudCBpbnB1dCBwdWxsLXVwDQo+IEkgd291
bGQgdXNlIGEgY2xlYXJlciBuYW1lIGZvciB0aGF0IHByb3BlcnR5IGxpa2UgaXNpbCxldi1w
dWxsLXVwLWVuYWJsZWQuDQo+IA0KPiBBbHNvIG1ha2UgaXQgYW4gaW50IHNvIDAgaXMgZGlz
YWJsaW5nIHRoZSBwdWxsLXVwIChFVklFTkIgc2V0IHRvIDEpIDEgaXMNCj4gZW5hYmxpbmcg
dGhlIHB1bGwtdXAgKEVWSUVOQiBzZXQgdG8gMCkgYW5kIGRvIG5vdGhpbmcgd2hlbiB0aGUg
cHJvcGVydHkNCj4gaXMgbm90IHByZXNlbnQuDQpJdCBpcyBkZXNpZ25lZCBsaWtlwqBEb2N1
bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcnRjL2lzaWwsaXNsMTIwMjYudHh0LA0K
d2hpY2ggdXNlcyB0aGUgYml0IG5hbWUgZnJvbSBEb2N1bWVudGF0aW9uIGFzIHdlbGwuDQpJ
IHdpbGwgY2hhbmdlIHRvIGludGVnZXIgdHlwZS4NCj4gDQo+IA0KUmVnYXJkcyBEZW5pcw0K
DQpEaWVobCBDb25uZWN0aXZpdHkgU29sdXRpb25zIEdtYkgNCkdlc2Now6RmdHNmw7xocnVu
ZzogSG9yc3QgTGVvbmJlcmdlcg0KU2l0eiBkZXIgR2VzZWxsc2NoYWZ0OiBOw7xybmJlcmcg
LSBSZWdpc3RlcmdlcmljaHQ6IEFtdHNnZXJpY2h0DQpOw7xybmJlcmc6IEhSQiAzMjMxNQ0K
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoNCkRlciBJ
bmhhbHQgZGVyIHZvcnN0ZWhlbmRlbiBFLU1haWwgaXN0IG5pY2h0IHJlY2h0bGljaCBiaW5k
ZW5kLiBEaWVzZSBFLU1haWwgZW50aGFlbHQgdmVydHJhdWxpY2hlIHVuZC9vZGVyIHJlY2h0
bGljaCBnZXNjaHVldHp0ZSBJbmZvcm1hdGlvbmVuLg0KSW5mb3JtaWVyZW4gU2llIHVucyBi
aXR0ZSwgd2VubiBTaWUgZGllc2UgRS1NYWlsIGZhZWxzY2hsaWNoZXJ3ZWlzZSBlcmhhbHRl
biBoYWJlbi4gQml0dGUgbG9lc2NoZW4gU2llIGluIGRpZXNlbSBGYWxsIGRpZSBOYWNocmlj
aHQuDQpKZWRlIHVuZXJsYXVidGUgRm9ybSBkZXIgUmVwcm9kdWt0aW9uLCBCZWthbm50Z2Fi
ZSwgQWVuZGVydW5nLCBWZXJ0ZWlsdW5nIHVuZC9vZGVyIFB1Ymxpa2F0aW9uIGRpZXNlciBF
LU1haWwgaXN0IHN0cmVuZ3N0ZW5zIHVudGVyc2FndC4NClRoZSBjb250ZW50cyBvZiB0aGUg
YWJvdmUgbWVudGlvbmVkIGUtbWFpbCBpcyBub3QgbGVnYWxseSBiaW5kaW5nLiBUaGlzIGUt
bWFpbCBjb250YWlucyBjb25maWRlbnRpYWwgYW5kL29yIGxlZ2FsbHkgcHJvdGVjdGVkIGlu
Zm9ybWF0aW9uLiBQbGVhc2UgaW5mb3JtIHVzIGlmIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMg
ZS1tYWlsIGJ5DQptaXN0YWtlIGFuZCBkZWxldGUgaXQgaW4gc3VjaCBhIGNhc2UuIEVhY2gg
dW5hdXRob3JpemVkIHJlcHJvZHVjdGlvbiwgZGlzY2xvc3VyZSwgYWx0ZXJhdGlvbiwgZGlz
dHJpYnV0aW9uIGFuZC9vciBwdWJsaWNhdGlvbiBvZiB0aGlzIGUtbWFpbCBpcyBzdHJpY3Rs
eSBwcm9oaWJpdGVkLiANCg==

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection
  2018-07-10  9:44 ` [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection Denis OSTERLAND
  2018-07-10 13:20     ` kbuild test robot
@ 2018-07-18  8:13   ` Alexandre Belloni
  2018-07-18 10:44       ` Denis OSTERLAND
  1 sibling, 1 reply; 23+ messages in thread
From: Alexandre Belloni @ 2018-07-18  8:13 UTC (permalink / raw)
  To: Denis OSTERLAND
  Cc: a.zummo, linux-kernel, robh+dt, m.grzeschik, devicetree,
	mark.rutland, linux-rtc, kernel

On 10/07/2018 09:44:15+0000, Denis OSTERLAND wrote:
>  static int
>  isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
>  {
> @@ -642,6 +744,7 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
>  	rtc->ops = &isl1208_rtc_ops;
> 
>  	i2c_set_clientdata(client, rtc);
> +	dev_set_drvdata(&rtc->dev, client);
> 
>  	rc = isl1208_i2c_get_sr(client);
>  	if (rc < 0) {
> @@ -653,6 +756,18 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
>  		dev_warn(&client->dev, "rtc power failure detected, "
>  			 "please set clock.\n");
> 
> +	if (id->driver_data == TYPE_ISL1219) {
> +		rc = ISL1219_REG_EV_EVEN;
> +		rc = i2c_smbus_write_byte_data(client, ISL1219_REG_EV, rc);

I'd pass ISL1219_REG_EV_EVEN directly instead of assigning it to rc.

> +		if (rc < 0) {
> +			dev_err(&client->dev, "could not enable tamper detection\n");
> +			return rc;
> +		}
> +		rc = rtc_add_group(rtc, &isl1219_rtc_sysfs_files);
> +		if (rc)
> +			return rc;
> +	}
> +
>  	rc = sysfs_create_group(&client->dev.kobj, &isl1208_rtc_sysfs_files);
>  	if (rc)
>  		return rc;
> @@ -686,8 +801,9 @@ isl1208_remove(struct i2c_client *client)
>  }
> 
>  static const struct i2c_device_id isl1208_id[] = {
> -	{ "isl1208", 0 },
> -	{ "isl1218", 0 },
> +	{ "isl1208", TYPE_ISL1208 },
> +	{ "isl1218", TYPE_ISL1218 },
> +	{ "isl1219", TYPE_ISL1219 },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(i2c, isl1208_id);
> @@ -695,6 +811,7 @@ MODULE_DEVICE_TABLE(i2c, isl1208_id);
>  static const struct of_device_id isl1208_of_match[] = {
>  	{ .compatible = "isil,isl1208" },
>  	{ .compatible = "isil,isl1218" },
> +	{ .compatible = "isil,isl1219" },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, isl1208_of_match);
> --
> 2.18.0
> 
> 
> 
> Diehl Connectivity Solutions GmbH
> Geschäftsführung: Horst Leonberger
> Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
> Nürnberg: HRB 32315
> ___________________________________________________________________________________________________
> 
> Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
> Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
> Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
> The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
> mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited.

-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection
  2018-07-18  8:13   ` Alexandre Belloni
@ 2018-07-18 10:44       ` Denis OSTERLAND
  0 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-18 10:44 UTC (permalink / raw)
  To: alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, a.zummo,
	mark.rutland, linux-rtc, kernel

Hi,

Am Mittwoch, den 18.07.2018, 10:13 +0200 schrieb Alexandre Belloni:
> On 10/07/2018 09:44:15+0000, Denis OSTERLAND wrote:
> > 
> > +	if (id->driver_data == TYPE_ISL1219) {
> > +		rc = ISL1219_REG_EV_EVEN;
> > +		rc = i2c_smbus_write_byte_data(client, ISL1219_REG_EV, rc);
> I'd pass ISL1219_REG_EV_EVEN directly instead of assigning it to rc.
> 
Because of the 80 character limit per row, I thought this:
                rc = ISL1219_REG_EV_EVEN;
                rc = i2c_smbus_write_byte_data(client, ISL1219_REG_EV, rc);
would look nicer than that:
                rc = i2c_smbus_write_byte_data(client, ISL1219_REG_EV,
                                                        ISL1219_REG_EV_EVEN);
Are there any reasons why I should prefer the second one?

Regards Denis

Diehl Connectivity Solutions GmbH
Geschäftsführung: Horst Leonberger
Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht
Nürnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. 

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection
@ 2018-07-18 10:44       ` Denis OSTERLAND
  0 siblings, 0 replies; 23+ messages in thread
From: Denis OSTERLAND @ 2018-07-18 10:44 UTC (permalink / raw)
  To: alexandre.belloni
  Cc: linux-kernel, robh+dt, m.grzeschik, devicetree, a.zummo,
	mark.rutland, linux-rtc, kernel

SGksDQoNCkFtIE1pdHR3b2NoLCBkZW4gMTguMDcuMjAxOCwgMTA6MTMgKzAyMDAgc2Nocmll
YiBBbGV4YW5kcmUgQmVsbG9uaToNCj4gT24gMTAvMDcvMjAxOCAwOTo0NDoxNSswMDAwLCBE
ZW5pcyBPU1RFUkxBTkQgd3JvdGU6DQo+ID7CoA0KPiA+ICsJaWYgKGlkLT5kcml2ZXJfZGF0
YSA9PSBUWVBFX0lTTDEyMTkpIHsNCj4gPiArCQlyYyA9IElTTDEyMTlfUkVHX0VWX0VWRU47
DQo+ID4gKwkJcmMgPSBpMmNfc21idXNfd3JpdGVfYnl0ZV9kYXRhKGNsaWVudCwgSVNMMTIx
OV9SRUdfRVYsIHJjKTsNCj4gSSdkIHBhc3MgSVNMMTIxOV9SRUdfRVZfRVZFTiBkaXJlY3Rs
eSBpbnN0ZWFkIG9mIGFzc2lnbmluZyBpdCB0byByYy4NCj4gDQpCZWNhdXNlIG9mIHRoZSA4
MCBjaGFyYWN0ZXIgbGltaXQgcGVyIHJvdywgSSB0aG91Z2h0IHRoaXM6DQrCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJjID0gSVNMMTIxOV9SRUdfRVZfRVZFTjsNCsKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmMgPSBpMmNfc21idXNfd3JpdGVfYnl0ZV9k
YXRhKGNsaWVudCwgSVNMMTIxOV9SRUdfRVYsIHJjKTsNCndvdWxkIGxvb2sgbmljZXIgdGhh
biB0aGF0Og0KwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByYyA9IGkyY19zbWJ1
c193cml0ZV9ieXRlX2RhdGEoY2xpZW50LCBJU0wxMjE5X1JFR19FViwNCsKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBJU0wxMjE5
X1JFR19FVl9FVkVOKTsNCkFyZSB0aGVyZSBhbnkgcmVhc29ucyB3aHkgSSBzaG91bGQgcHJl
ZmVyIHRoZSBzZWNvbmQgb25lPw0KDQpSZWdhcmRzIERlbmlzDQoNCkRpZWhsIENvbm5lY3Rp
dml0eSBTb2x1dGlvbnMgR21iSA0KR2VzY2jDpGZ0c2bDvGhydW5nOiBIb3JzdCBMZW9uYmVy
Z2VyDQpTaXR6IGRlciBHZXNlbGxzY2hhZnQ6IE7DvHJuYmVyZyAtIFJlZ2lzdGVyZ2VyaWNo
dDogQW10c2dlcmljaHQNCk7DvHJuYmVyZzogSFJCIDMyMzE1DQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KRGVyIEluaGFsdCBkZXIgdm9yc3Rl
aGVuZGVuIEUtTWFpbCBpc3QgbmljaHQgcmVjaHRsaWNoIGJpbmRlbmQuIERpZXNlIEUtTWFp
bCBlbnRoYWVsdCB2ZXJ0cmF1bGljaGUgdW5kL29kZXIgcmVjaHRsaWNoIGdlc2NodWV0enRl
IEluZm9ybWF0aW9uZW4uDQpJbmZvcm1pZXJlbiBTaWUgdW5zIGJpdHRlLCB3ZW5uIFNpZSBk
aWVzZSBFLU1haWwgZmFlbHNjaGxpY2hlcndlaXNlIGVyaGFsdGVuIGhhYmVuLiBCaXR0ZSBs
b2VzY2hlbiBTaWUgaW4gZGllc2VtIEZhbGwgZGllIE5hY2hyaWNodC4NCkplZGUgdW5lcmxh
dWJ0ZSBGb3JtIGRlciBSZXByb2R1a3Rpb24sIEJla2FubnRnYWJlLCBBZW5kZXJ1bmcsIFZl
cnRlaWx1bmcgdW5kL29kZXIgUHVibGlrYXRpb24gZGllc2VyIEUtTWFpbCBpc3Qgc3RyZW5n
c3RlbnMgdW50ZXJzYWd0Lg0KVGhlIGNvbnRlbnRzIG9mIHRoZSBhYm92ZSBtZW50aW9uZWQg
ZS1tYWlsIGlzIG5vdCBsZWdhbGx5IGJpbmRpbmcuIFRoaXMgZS1tYWlsIGNvbnRhaW5zIGNv
bmZpZGVudGlhbCBhbmQvb3IgbGVnYWxseSBwcm90ZWN0ZWQgaW5mb3JtYXRpb24uIFBsZWFz
ZSBpbmZvcm0gdXMgaWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlLW1haWwgYnkNCm1pc3Rh
a2UgYW5kIGRlbGV0ZSBpdCBpbiBzdWNoIGEgY2FzZS4gRWFjaCB1bmF1dGhvcml6ZWQgcmVw
cm9kdWN0aW9uLCBkaXNjbG9zdXJlLCBhbHRlcmF0aW9uLCBkaXN0cmlidXRpb24gYW5kL29y
IHB1YmxpY2F0aW9uIG9mIHRoaXMgZS1tYWlsIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuIA0K

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2018-07-18 11:22 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-10  9:44 [PATCH v4 0/5] rtc: isl1208: fixes, documentation and isl1219 support Denis OSTERLAND
2018-07-10  9:44 ` [PATCH v4 5/5] rtc: isl1219: add device tree docu Denis OSTERLAND
2018-07-11 15:16   ` Rob Herring
2018-07-12  6:42     ` Denis OSTERLAND
2018-07-12  6:42       ` Denis OSTERLAND
2018-07-18  7:38   ` Alexandre Belloni
2018-07-18  7:55     ` Denis OSTERLAND
2018-07-18  7:55       ` Denis OSTERLAND
2018-07-10  9:44 ` [PATCH v4 3/5] rtc: isl1208: Add "evdet" interrupt source for isl1219 Denis OSTERLAND
2018-07-10  9:44 ` [PATCH v4 2/5] rtc: isl1208: add support for isl1219 with tamper detection Denis OSTERLAND
2018-07-10 13:20   ` kbuild test robot
2018-07-10 13:20     ` kbuild test robot
2018-07-10 14:06     ` Denis OSTERLAND
2018-07-10 14:06       ` Denis OSTERLAND
2018-07-11  6:01       ` Ye Xiaolong
2018-07-18  8:13   ` Alexandre Belloni
2018-07-18 10:44     ` Denis OSTERLAND
2018-07-18 10:44       ` Denis OSTERLAND
2018-07-10  9:44 ` [PATCH v4 4/5] rtc: isl1208: set ev-evienb bit from device tree Denis OSTERLAND
2018-07-10  9:44 ` [PATCH v4 1/5] rtc: sysfs: facilitate attribute add to rtc device Denis OSTERLAND
2018-07-18  7:25   ` Alexandre Belloni
2018-07-18  7:37     ` Denis OSTERLAND
2018-07-18  7:37       ` Denis OSTERLAND

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.