All of lore.kernel.org
 help / color / mirror / Atom feed
* [rtc-linux] [PATCH 0/5] rtc: m48t86: remove need for platform_data
@ 2017-02-15 16:35 H Hartley Sweeten
  2017-02-15 16:35 ` [rtc-linux] [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present H Hartley Sweeten
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: H Hartley Sweeten @ 2017-02-15 16:35 UTC (permalink / raw)
  To: rtc-linux; +Cc: alex, H Hartley Sweeten

The rtc-m48t86 driver can now manage it's own resources for the index
and data registers.

  1) Add the RTC detection logic from the ts78xx platform to the driver
     and remove it from the platform code.
  2) Update the two platforms that use this driver to remove the need
     for the platform_data.
  3) Remove the, then unused, platform_data header and it's use in the
     driver.

H Hartley Sweeten (5):
  rtc: m48t86: verify that the RTC is actually present
  ARM: Orion5x: ts78xx: remove RTC detection
  ARM: Orion5x: ts78xx: allow rtc-m48t86 to manage it's own resources
  ARM: ep93xx: ts72xx: allow rtc-m48t86 to manage it's own resources
  rtc: m48t86: remove unused platform_data

 arch/arm/mach-ep93xx/ts72xx.c            | 40 ++++-----------
 arch/arm/mach-ep93xx/ts72xx.h            | 11 ----
 arch/arm/mach-orion5x/ts78xx-setup.c     | 80 +++++++----------------------
 drivers/rtc/rtc-m48t86.c                 | 87 ++++++++++++++++++++------------
 include/linux/platform_data/rtc-m48t86.h | 16 ------
 5 files changed, 84 insertions(+), 150 deletions(-)
 delete mode 100644 include/linux/platform_data/rtc-m48t86.h

-- 
2.10.0

-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

* [rtc-linux] [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present
  2017-02-15 16:35 [rtc-linux] [PATCH 0/5] rtc: m48t86: remove need for platform_data H Hartley Sweeten
@ 2017-02-15 16:35 ` H Hartley Sweeten
  2017-02-21 16:37   ` [rtc-linux] " Alexandre Belloni
  2017-02-15 16:35 ` [rtc-linux] [PATCH 2/5] ARM: Orion5x: ts78xx: remove RTC detection H Hartley Sweeten
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: H Hartley Sweeten @ 2017-02-15 16:35 UTC (permalink / raw)
  To: rtc-linux; +Cc: alex, H Hartley Sweeten, Alessandro Zummo, Alexandre Belloni

The RTC is an optional feature at purchase time on some Technologic
Systems boards. Verify that it actually exists by checking if the
last two bytes of the NVRAM can be changed.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Cc: Alexander Clouter <alex@digriz.org.uk>
---
 drivers/rtc/rtc-m48t86.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/drivers/rtc/rtc-m48t86.c b/drivers/rtc/rtc-m48t86.c
index 4dc4af4..41ac5d6 100644
--- a/drivers/rtc/rtc-m48t86.c
+++ b/drivers/rtc/rtc-m48t86.c
@@ -201,6 +201,37 @@ static ssize_t m48t86_nvram_write(struct file *filp, struct kobject *kobj,
 static BIN_ATTR(nvram, 0644, m48t86_nvram_read, m48t86_nvram_write,
 		M48T86_NVRAM_LEN);
 
+/*
+ * The RTC is an optional feature at purchase time on some Technologic Systems
+ * boards. Verify that it actually exists by checking if the last two bytes
+ * of the NVRAM can be changed.
+ *
+ * This is based on the method used in their rtc7800.c example.
+ */
+static bool m48t86_verify_chip(struct platform_device *pdev)
+{
+	unsigned int offset0 = M48T86_NVRAM_LEN - 2;
+	unsigned int offset1 = M48T86_NVRAM_LEN - 1;
+	unsigned char tmp0, tmp1;
+
+	tmp0 = m48t86_readb(&pdev->dev, offset0);
+	tmp1 = m48t86_readb(&pdev->dev, offset1);
+
+	m48t86_writeb(&pdev->dev, 0x00, offset0);
+	m48t86_writeb(&pdev->dev, 0x55, offset1);
+	if (m48t86_readb(&pdev->dev, offset1) == 0x55) {
+		m48t86_writeb(&pdev->dev, 0xaa, offset1);
+		if (m48t86_readb(&pdev->dev, offset1) == 0xaa &&
+		    m48t86_readb(&pdev->dev, offset0) == 0x00) {
+			m48t86_writeb(&pdev->dev, tmp0, offset0);
+			m48t86_writeb(&pdev->dev, tmp1, offset1);
+
+			return true;
+		}
+	}
+	return false;
+}
+
 static int m48t86_rtc_probe(struct platform_device *pdev)
 {
 	struct m48t86_rtc_info *info;
@@ -231,6 +262,11 @@ static int m48t86_rtc_probe(struct platform_device *pdev)
 
 	dev_set_drvdata(&pdev->dev, info);
 
+	if (!m48t86_verify_chip(pdev)) {
+		dev_info(&pdev->dev, "RTC not present\n");
+		return -ENODEV;
+	}
+
 	info->rtc = devm_rtc_device_register(&pdev->dev, "m48t86",
 					     &m48t86_rtc_ops, THIS_MODULE);
 	if (IS_ERR(info->rtc))
-- 
2.10.0

-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

* [rtc-linux] [PATCH 2/5] ARM: Orion5x: ts78xx: remove RTC detection
  2017-02-15 16:35 [rtc-linux] [PATCH 0/5] rtc: m48t86: remove need for platform_data H Hartley Sweeten
  2017-02-15 16:35 ` [rtc-linux] [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present H Hartley Sweeten
@ 2017-02-15 16:35 ` H Hartley Sweeten
  2017-02-15 16:35 ` [rtc-linux] [PATCH 3/5] ARM: Orion5x: ts78xx: allow rtc-m48t86 to manage it's own resources H Hartley Sweeten
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: H Hartley Sweeten @ 2017-02-15 16:35 UTC (permalink / raw)
  To: rtc-linux; +Cc: alex, H Hartley Sweeten, Alessandro Zummo, Alexandre Belloni

The rtc-m48t86 driver now handles the RTC detection. Remove the
redundant code from the platform.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Cc: Alexander Clouter <alex@digriz.org.uk>
---
 arch/arm/mach-orion5x/ts78xx-setup.c | 51 +++++++++---------------------------
 1 file changed, 12 insertions(+), 39 deletions(-)

diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c
index 8d59726..cb4c374 100644
--- a/arch/arm/mach-orion5x/ts78xx-setup.c
+++ b/arch/arm/mach-orion5x/ts78xx-setup.c
@@ -109,50 +109,23 @@ static struct platform_device ts78xx_ts_rtc_device = {
 	.num_resources	= 0,
 };
 
-/*
- * TS uses some of the user storage space on the RTC chip so see if it is
- * present; as it's an optional feature at purchase time and not all boards
- * will have it present
- *
- * I've used the method TS use in their rtc7800.c example for the detection
- *
- * TODO: track down a guinea pig without an RTC to see if we can work out a
- *		better RTC detection routine
- */
 static int ts78xx_ts_rtc_load(void)
 {
 	int rc;
-	unsigned char tmp_rtc0, tmp_rtc1;
-
-	tmp_rtc0 = ts78xx_ts_rtc_readbyte(126);
-	tmp_rtc1 = ts78xx_ts_rtc_readbyte(127);
-
-	ts78xx_ts_rtc_writebyte(0x00, 126);
-	ts78xx_ts_rtc_writebyte(0x55, 127);
-	if (ts78xx_ts_rtc_readbyte(127) == 0x55) {
-		ts78xx_ts_rtc_writebyte(0xaa, 127);
-		if (ts78xx_ts_rtc_readbyte(127) == 0xaa
-				&& ts78xx_ts_rtc_readbyte(126) == 0x00) {
-			ts78xx_ts_rtc_writebyte(tmp_rtc0, 126);
-			ts78xx_ts_rtc_writebyte(tmp_rtc1, 127);
-
-			if (ts78xx_fpga.supports.ts_rtc.init == 0) {
-				rc = platform_device_register(&ts78xx_ts_rtc_device);
-				if (!rc)
-					ts78xx_fpga.supports.ts_rtc.init = 1;
-			} else
-				rc = platform_device_add(&ts78xx_ts_rtc_device);
-
-			if (rc)
-				pr_info("RTC could not be registered: %d\n",
-					rc);
-			return rc;
-		}
+
+	if (ts78xx_fpga.supports.ts_rtc.init == 0) {
+		rc = platform_device_register(&ts78xx_ts_rtc_device);
+		if (!rc)
+			ts78xx_fpga.supports.ts_rtc.init = 1;
+	} else {
+		rc = platform_device_add(&ts78xx_ts_rtc_device);
 	}
 
-	pr_info("RTC not found\n");
-	return -ENODEV;
-};
+	if (rc)
+		pr_info("RTC could not be registered: %d\n", rc);
+
+	return rc;
+}
 
 static void ts78xx_ts_rtc_unload(void)
 {
-- 
2.10.0

-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

* [rtc-linux] [PATCH 3/5] ARM: Orion5x: ts78xx: allow rtc-m48t86 to manage it's own resources
  2017-02-15 16:35 [rtc-linux] [PATCH 0/5] rtc: m48t86: remove need for platform_data H Hartley Sweeten
  2017-02-15 16:35 ` [rtc-linux] [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present H Hartley Sweeten
  2017-02-15 16:35 ` [rtc-linux] [PATCH 2/5] ARM: Orion5x: ts78xx: remove RTC detection H Hartley Sweeten
@ 2017-02-15 16:35 ` H Hartley Sweeten
  2017-02-15 16:35 ` [rtc-linux] [PATCH 4/5] ARM: ep93xx: ts72xx: " H Hartley Sweeten
  2017-02-15 16:35 ` [rtc-linux] [PATCH 5/5] rtc: m48t86: remove unused platform_data H Hartley Sweeten
  4 siblings, 0 replies; 11+ messages in thread
From: H Hartley Sweeten @ 2017-02-15 16:35 UTC (permalink / raw)
  To: rtc-linux; +Cc: alex, H Hartley Sweeten, Alessandro Zummo, Alexandre Belloni

The rtc-m48t86 driver can now handle it's own resources and do the
read/write operations internally.

Pass the necessary resources to the driver and remove the m48t86_ops
platform data.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Cc: Alexander Clouter <alex@digriz.org.uk>
---
 arch/arm/mach-orion5x/ts78xx-setup.c | 29 +++++++----------------------
 1 file changed, 7 insertions(+), 22 deletions(-)

diff --git a/arch/arm/mach-orion5x/ts78xx-setup.c b/arch/arm/mach-orion5x/ts78xx-setup.c
index cb4c374..7ef80a83 100644
--- a/arch/arm/mach-orion5x/ts78xx-setup.c
+++ b/arch/arm/mach-orion5x/ts78xx-setup.c
@@ -16,7 +16,6 @@
 #include <linux/platform_device.h>
 #include <linux/mv643xx_eth.h>
 #include <linux/ata_platform.h>
-#include <linux/platform_data/rtc-m48t86.h>
 #include <linux/mtd/nand.h>
 #include <linux/mtd/partitions.h>
 #include <linux/timeriomem-rng.h>
@@ -80,33 +79,19 @@ static struct mv_sata_platform_data ts78xx_sata_data = {
 /*****************************************************************************
  * RTC M48T86 - nicked^Wborrowed from arch/arm/mach-ep93xx/ts72xx.c
  ****************************************************************************/
-#define TS_RTC_CTRL	(TS78XX_FPGA_REGS_VIRT_BASE + 0x808)
-#define TS_RTC_DATA	(TS78XX_FPGA_REGS_VIRT_BASE + 0x80c)
+#define TS_RTC_CTRL	(TS78XX_FPGA_REGS_PHYS_BASE + 0x808)
+#define TS_RTC_DATA	(TS78XX_FPGA_REGS_PHYS_BASE + 0x80c)
 
-static unsigned char ts78xx_ts_rtc_readbyte(unsigned long addr)
-{
-	writeb(addr, TS_RTC_CTRL);
-	return readb(TS_RTC_DATA);
-}
-
-static void ts78xx_ts_rtc_writebyte(unsigned char value, unsigned long addr)
-{
-	writeb(addr, TS_RTC_CTRL);
-	writeb(value, TS_RTC_DATA);
-}
-
-static struct m48t86_ops ts78xx_ts_rtc_ops = {
-	.readbyte	= ts78xx_ts_rtc_readbyte,
-	.writebyte	= ts78xx_ts_rtc_writebyte,
+static struct resource ts78xx_ts_rtc_resources[] = {
+	DEFINE_RES_MEM(TS_RTC_CTRL, 0x01),
+	DEFINE_RES_MEM(TS_RTC_DATA, 0x01),
 };
 
 static struct platform_device ts78xx_ts_rtc_device = {
 	.name		= "rtc-m48t86",
 	.id		= -1,
-	.dev		= {
-		.platform_data	= &ts78xx_ts_rtc_ops,
-	},
-	.num_resources	= 0,
+	.resource	= ts78xx_ts_rtc_resources,
+	.num_resources 	= ARRAY_SIZE(ts78xx_ts_rtc_resources),
 };
 
 static int ts78xx_ts_rtc_load(void)
-- 
2.10.0

-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

* [rtc-linux] [PATCH 4/5] ARM: ep93xx: ts72xx: allow rtc-m48t86 to manage it's own resources
  2017-02-15 16:35 [rtc-linux] [PATCH 0/5] rtc: m48t86: remove need for platform_data H Hartley Sweeten
                   ` (2 preceding siblings ...)
  2017-02-15 16:35 ` [rtc-linux] [PATCH 3/5] ARM: Orion5x: ts78xx: allow rtc-m48t86 to manage it's own resources H Hartley Sweeten
@ 2017-02-15 16:35 ` H Hartley Sweeten
  2017-02-15 16:35 ` [rtc-linux] [PATCH 5/5] rtc: m48t86: remove unused platform_data H Hartley Sweeten
  4 siblings, 0 replies; 11+ messages in thread
From: H Hartley Sweeten @ 2017-02-15 16:35 UTC (permalink / raw)
  To: rtc-linux; +Cc: alex, H Hartley Sweeten, Alessandro Zummo, Alexandre Belloni

The rtc-m48t86 driver can now handle it's own resources and do the
read/write operations internally.

Pass the necessary resources to the driver and remove the m48t86_ops
platform data.

Remove the, then unnecessary, static remapping for the registers.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Cc: Alexander Clouter <alex@digriz.org.uk>
---
 arch/arm/mach-ep93xx/ts72xx.c | 40 ++++++++++------------------------------
 arch/arm/mach-ep93xx/ts72xx.h | 11 -----------
 2 files changed, 10 insertions(+), 41 deletions(-)

diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
index 3b39ea3..8a5b6f0 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
@@ -16,7 +16,6 @@
 #include <linux/init.h>
 #include <linux/platform_device.h>
 #include <linux/io.h>
-#include <linux/platform_data/rtc-m48t86.h>
 #include <linux/mtd/nand.h>
 #include <linux/mtd/partitions.h>
 
@@ -45,16 +44,6 @@ static struct map_desc ts72xx_io_desc[] __initdata = {
 		.pfn		= __phys_to_pfn(TS72XX_OPTIONS2_PHYS_BASE),
 		.length		= TS72XX_OPTIONS2_SIZE,
 		.type		= MT_DEVICE,
-	}, {
-		.virtual	= (unsigned long)TS72XX_RTC_INDEX_VIRT_BASE,
-		.pfn		= __phys_to_pfn(TS72XX_RTC_INDEX_PHYS_BASE),
-		.length		= TS72XX_RTC_INDEX_SIZE,
-		.type		= MT_DEVICE,
-	}, {
-		.virtual	= (unsigned long)TS72XX_RTC_DATA_VIRT_BASE,
-		.pfn		= __phys_to_pfn(TS72XX_RTC_DATA_PHYS_BASE),
-		.length		= TS72XX_RTC_DATA_SIZE,
-		.type		= MT_DEVICE,
 	}
 };
 
@@ -179,31 +168,22 @@ static void __init ts72xx_register_flash(void)
 	}
 }
 
+/*************************************************************************
+ * RTC M48T86
+ *************************************************************************/
+#define TS72XX_RTC_INDEX_PHYS_BASE	(EP93XX_CS1_PHYS_BASE + 0x00800000)
+#define TS72XX_RTC_DATA_PHYS_BASE	(EP93XX_CS1_PHYS_BASE + 0x01700000)
 
-static unsigned char ts72xx_rtc_readbyte(unsigned long addr)
-{
-	__raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE);
-	return __raw_readb(TS72XX_RTC_DATA_VIRT_BASE);
-}
-
-static void ts72xx_rtc_writebyte(unsigned char value, unsigned long addr)
-{
-	__raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE);
-	__raw_writeb(value, TS72XX_RTC_DATA_VIRT_BASE);
-}
-
-static struct m48t86_ops ts72xx_rtc_ops = {
-	.readbyte	= ts72xx_rtc_readbyte,
-	.writebyte	= ts72xx_rtc_writebyte,
+static struct resource ts72xx_rtc_resources[] = {
+	DEFINE_RES_MEM(TS72XX_RTC_INDEX_PHYS_BASE, 0x01),
+	DEFINE_RES_MEM(TS72XX_RTC_DATA_PHYS_BASE, 0x01),
 };
 
 static struct platform_device ts72xx_rtc_device = {
 	.name		= "rtc-m48t86",
 	.id		= -1,
-	.dev		= {
-		.platform_data	= &ts72xx_rtc_ops,
-	},
-	.num_resources	= 0,
+	.resource	= ts72xx_rtc_resources,
+	.num_resources 	= ARRAY_SIZE(ts72xx_rtc_resources),
 };
 
 static struct resource ts72xx_wdt_resources[] = {
diff --git a/arch/arm/mach-ep93xx/ts72xx.h b/arch/arm/mach-ep93xx/ts72xx.h
index 071feaa..2255ba2 100644
--- a/arch/arm/mach-ep93xx/ts72xx.h
+++ b/arch/arm/mach-ep93xx/ts72xx.h
@@ -9,8 +9,6 @@
  * febff000	22000000	4K	model number register (bits 0-2)
  * febfe000	22400000	4K	options register
  * febfd000	22800000	4K	options register #2
- * febf9000	10800000	4K	TS-5620 RTC index register
- * febf8000	11700000	4K	TS-5620 RTC data register
  */
 
 #define TS72XX_MODEL_PHYS_BASE		0x22000000
@@ -40,15 +38,6 @@
 #define TS72XX_OPTIONS2_TS9420		0x04
 #define TS72XX_OPTIONS2_TS9420_BOOT	0x02
 
-
-#define TS72XX_RTC_INDEX_VIRT_BASE	IOMEM(0xfebf9000)
-#define TS72XX_RTC_INDEX_PHYS_BASE	0x10800000
-#define TS72XX_RTC_INDEX_SIZE		0x00001000
-
-#define TS72XX_RTC_DATA_VIRT_BASE	IOMEM(0xfebf8000)
-#define TS72XX_RTC_DATA_PHYS_BASE	0x11700000
-#define TS72XX_RTC_DATA_SIZE		0x00001000
-
 #define TS72XX_WDT_CONTROL_PHYS_BASE	0x23800000
 #define TS72XX_WDT_FEED_PHYS_BASE	0x23c00000
 
-- 
2.10.0

-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

* [rtc-linux] [PATCH 5/5] rtc: m48t86: remove unused platform_data
  2017-02-15 16:35 [rtc-linux] [PATCH 0/5] rtc: m48t86: remove need for platform_data H Hartley Sweeten
                   ` (3 preceding siblings ...)
  2017-02-15 16:35 ` [rtc-linux] [PATCH 4/5] ARM: ep93xx: ts72xx: " H Hartley Sweeten
@ 2017-02-15 16:35 ` H Hartley Sweeten
  4 siblings, 0 replies; 11+ messages in thread
From: H Hartley Sweeten @ 2017-02-15 16:35 UTC (permalink / raw)
  To: rtc-linux; +Cc: alex, H Hartley Sweeten, Alessandro Zummo, Alexandre Belloni

All users of this driver have been updated to allow the driver to
manage it's own resources and do the read/write operations internally.
The m48t86_ops are no longer used.

Remove the platform_data header and the support code in the driver.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Cc: Alexander Clouter <alex@digriz.org.uk>
---
 drivers/rtc/rtc-m48t86.c                 | 51 ++++++++++++--------------------
 include/linux/platform_data/rtc-m48t86.h | 16 ----------
 2 files changed, 19 insertions(+), 48 deletions(-)
 delete mode 100644 include/linux/platform_data/rtc-m48t86.h

diff --git a/drivers/rtc/rtc-m48t86.c b/drivers/rtc/rtc-m48t86.c
index 41ac5d6..a959fe4 100644
--- a/drivers/rtc/rtc-m48t86.c
+++ b/drivers/rtc/rtc-m48t86.c
@@ -16,7 +16,6 @@
 #include <linux/module.h>
 #include <linux/rtc.h>
 #include <linux/platform_device.h>
-#include <linux/platform_data/rtc-m48t86.h>
 #include <linux/bcd.h>
 #include <linux/io.h>
 
@@ -45,7 +44,6 @@ struct m48t86_rtc_info {
 	void __iomem *index_reg;
 	void __iomem *data_reg;
 	struct rtc_device *rtc;
-	struct m48t86_ops *ops;
 };
 
 static unsigned char m48t86_readb(struct device *dev, unsigned long addr)
@@ -53,12 +51,9 @@ static unsigned char m48t86_readb(struct device *dev, unsigned long addr)
 	struct m48t86_rtc_info *info = dev_get_drvdata(dev);
 	unsigned char value;
 
-	if (info->ops) {
-		value = info->ops->readbyte(addr);
-	} else {
-		writeb(addr, info->index_reg);
-		value = readb(info->data_reg);
-	}
+	writeb(addr, info->index_reg);
+	value = readb(info->data_reg);
+
 	return value;
 }
 
@@ -67,12 +62,8 @@ static void m48t86_writeb(struct device *dev,
 {
 	struct m48t86_rtc_info *info = dev_get_drvdata(dev);
 
-	if (info->ops) {
-		info->ops->writebyte(value, addr);
-	} else {
-		writeb(addr, info->index_reg);
-		writeb(value, info->data_reg);
-	}
+	writeb(addr, info->index_reg);
+	writeb(value, info->data_reg);
 }
 
 static int m48t86_rtc_read_time(struct device *dev, struct rtc_time *tm)
@@ -235,30 +226,26 @@ static bool m48t86_verify_chip(struct platform_device *pdev)
 static int m48t86_rtc_probe(struct platform_device *pdev)
 {
 	struct m48t86_rtc_info *info;
+	struct resource *res;
 	unsigned char reg;
 
 	info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL);
 	if (!info)
 		return -ENOMEM;
 
-	info->ops = dev_get_platdata(&pdev->dev);
-	if (!info->ops) {
-		struct resource *res;
-
-		res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-		if (!res)
-			return -ENODEV;
-		info->index_reg = devm_ioremap_resource(&pdev->dev, res);
-		if (IS_ERR(info->index_reg))
-			return PTR_ERR(info->index_reg);
-
-		res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-		if (!res)
-			return -ENODEV;
-		info->data_reg = devm_ioremap_resource(&pdev->dev, res);
-		if (IS_ERR(info->data_reg))
-			return PTR_ERR(info->data_reg);
-	}
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!res)
+		return -ENODEV;
+	info->index_reg = devm_ioremap_resource(&pdev->dev, res);
+	if (IS_ERR(info->index_reg))
+		return PTR_ERR(info->index_reg);
+
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
+	if (!res)
+		return -ENODEV;
+	info->data_reg = devm_ioremap_resource(&pdev->dev, res);
+	if (IS_ERR(info->data_reg))
+		return PTR_ERR(info->data_reg);
 
 	dev_set_drvdata(&pdev->dev, info);
 
diff --git a/include/linux/platform_data/rtc-m48t86.h b/include/linux/platform_data/rtc-m48t86.h
deleted file mode 100644
index 915d6b4..0000000
--- a/include/linux/platform_data/rtc-m48t86.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * ST M48T86 / Dallas DS12887 RTC driver
- * Copyright (c) 2006 Tower Technologies
- *
- * Author: Alessandro Zummo <a.zummo@towertech.it>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
-*/
-
-struct m48t86_ops
-{
-	void (*writebyte)(unsigned char value, unsigned long addr);
-	unsigned char (*readbyte)(unsigned long addr);
-};
-- 
2.10.0

-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

* [rtc-linux] Re: [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present
  2017-02-15 16:35 ` [rtc-linux] [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present H Hartley Sweeten
@ 2017-02-21 16:37   ` Alexandre Belloni
  2017-02-21 17:04     ` [rtc-linux] " Hartley Sweeten
  2017-02-21 17:47     ` Alexander Clouter
  0 siblings, 2 replies; 11+ messages in thread
From: Alexandre Belloni @ 2017-02-21 16:37 UTC (permalink / raw)
  To: H Hartley Sweeten; +Cc: rtc-linux, alex, Alessandro Zummo

Hi,

On 15/02/2017 at 09:35:23 -0700, H Hartley Sweeten wrote:
> The RTC is an optional feature at purchase time on some Technologic
> Systems boards. Verify that it actually exists by checking if the
> last two bytes of the NVRAM can be changed.
> 
> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Alessandro Zummo <a.zummo@towertech.it>
> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> Cc: Alexander Clouter <alex@digriz.org.uk>
> ---
>  drivers/rtc/rtc-m48t86.c | 36 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 36 insertions(+)
> 

I've applied that one. Alex, if you are fine with the mach-orion5x
changes, I can take them for 4.11. Else, this will wait for 4.12.

> diff --git a/drivers/rtc/rtc-m48t86.c b/drivers/rtc/rtc-m48t86.c
> index 4dc4af4..41ac5d6 100644
> --- a/drivers/rtc/rtc-m48t86.c
> +++ b/drivers/rtc/rtc-m48t86.c
> @@ -201,6 +201,37 @@ static ssize_t m48t86_nvram_write(struct file *filp, struct kobject *kobj,
>  static BIN_ATTR(nvram, 0644, m48t86_nvram_read, m48t86_nvram_write,
>  		M48T86_NVRAM_LEN);
>  
> +/*
> + * The RTC is an optional feature at purchase time on some Technologic Systems
> + * boards. Verify that it actually exists by checking if the last two bytes
> + * of the NVRAM can be changed.
> + *
> + * This is based on the method used in their rtc7800.c example.
> + */
> +static bool m48t86_verify_chip(struct platform_device *pdev)
> +{
> +	unsigned int offset0 = M48T86_NVRAM_LEN - 2;
> +	unsigned int offset1 = M48T86_NVRAM_LEN - 1;
> +	unsigned char tmp0, tmp1;
> +
> +	tmp0 = m48t86_readb(&pdev->dev, offset0);
> +	tmp1 = m48t86_readb(&pdev->dev, offset1);
> +
> +	m48t86_writeb(&pdev->dev, 0x00, offset0);
> +	m48t86_writeb(&pdev->dev, 0x55, offset1);
> +	if (m48t86_readb(&pdev->dev, offset1) == 0x55) {
> +		m48t86_writeb(&pdev->dev, 0xaa, offset1);
> +		if (m48t86_readb(&pdev->dev, offset1) == 0xaa &&
> +		    m48t86_readb(&pdev->dev, offset0) == 0x00) {
> +			m48t86_writeb(&pdev->dev, tmp0, offset0);
> +			m48t86_writeb(&pdev->dev, tmp1, offset1);
> +
> +			return true;
> +		}
> +	}
> +	return false;
> +}
> +
>  static int m48t86_rtc_probe(struct platform_device *pdev)
>  {
>  	struct m48t86_rtc_info *info;
> @@ -231,6 +262,11 @@ static int m48t86_rtc_probe(struct platform_device *pdev)
>  
>  	dev_set_drvdata(&pdev->dev, info);
>  
> +	if (!m48t86_verify_chip(pdev)) {
> +		dev_info(&pdev->dev, "RTC not present\n");
> +		return -ENODEV;
> +	}
> +
>  	info->rtc = devm_rtc_device_register(&pdev->dev, "m48t86",
>  					     &m48t86_rtc_ops, THIS_MODULE);
>  	if (IS_ERR(info->rtc))
> -- 
> 2.10.0
> 

-- 
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

* [rtc-linux] RE: [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present
  2017-02-21 16:37   ` [rtc-linux] " Alexandre Belloni
@ 2017-02-21 17:04     ` Hartley Sweeten
  2017-02-21 17:21       ` [rtc-linux] " Alexandre Belloni
  2017-02-21 17:47     ` Alexander Clouter
  1 sibling, 1 reply; 11+ messages in thread
From: Hartley Sweeten @ 2017-02-21 17:04 UTC (permalink / raw)
  To: Alexandre Belloni; +Cc: rtc-linux, alex, Alessandro Zummo

On Tuesday, February 21, 2017 9:37 AM, Alexandre Belloni wrote:
> On 15/02/2017 at 09:35:23 -0700, H Hartley Sweeten wrote:
>> The RTC is an optional feature at purchase time on some Technologic
>> Systems boards. Verify that it actually exists by checking if the
>> last two bytes of the NVRAM can be changed.
>> 
>> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
>> Cc: Alessandro Zummo <a.zummo@towertech.it>
>> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
>> Cc: Alexander Clouter <alex@digriz.org.uk>
>> ---
>>  drivers/rtc/rtc-m48t86.c | 36 ++++++++++++++++++++++++++++++++++++
>>  1 file changed, 36 insertions(+)
>> 
>
> I've applied that one. Alex, if you are fine with the mach-orion5x
> changes, I can take them for 4.11. Else, this will wait for 4.12.

Hello,

Thanks. The change to mach-ep93xx is ok if you want to take that one.

I did just notice a minor issue with this one. It will still work as-is but
It's not technically doing what was done in mach-orion52. See below...

>> diff --git a/drivers/rtc/rtc-m48t86.c b/drivers/rtc/rtc-m48t86.c
>> index 4dc4af4..41ac5d6 100644
>> --- a/drivers/rtc/rtc-m48t86.c
>> +++ b/drivers/rtc/rtc-m48t86.c
>> @@ -201,6 +201,37 @@ static ssize_t m48t86_nvram_write(struct file *filp, struct kobject *kobj,
>>  static BIN_ATTR(nvram, 0644, m48t86_nvram_read, m48t86_nvram_write,
>>  		M48T86_NVRAM_LEN);
>>  
>> +/*
>> + * The RTC is an optional feature at purchase time on some Technologic Systems
>> + * boards. Verify that it actually exists by checking if the last two bytes
>> + * of the NVRAM can be changed.
>> + *
>> + * This is based on the method used in their rtc7800.c example.
>> + */
>> +static bool m48t86_verify_chip(struct platform_device *pdev)
>> +{
>> +	unsigned int offset0 = M48T86_NVRAM_LEN - 2;
>> +	unsigned int offset1 = M48T86_NVRAM_LEN - 1;

In order to address the last two bytes, these two offsets should actually be:

+	unsigned int offset0 = M48T86_NVRAM(M48T86_NVRAM_LEN - 2);
+	unsigned int offset1 = M48T86_NVRAM(M48T86_NVRAM_LEN - 1);

As they are right now, they are both off by 14 bytes (0x0e).

I can send a patch to fix it or you can do it if you prefer.

Sorry about that.
Hartley

-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

* [rtc-linux] Re: [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present
  2017-02-21 17:04     ` [rtc-linux] " Hartley Sweeten
@ 2017-02-21 17:21       ` Alexandre Belloni
  0 siblings, 0 replies; 11+ messages in thread
From: Alexandre Belloni @ 2017-02-21 17:21 UTC (permalink / raw)
  To: Hartley Sweeten; +Cc: rtc-linux, alex, Alessandro Zummo

On 21/02/2017 at 17:04:07 +0000, Hartley Sweeten wrote:
> On Tuesday, February 21, 2017 9:37 AM, Alexandre Belloni wrote:
> > On 15/02/2017 at 09:35:23 -0700, H Hartley Sweeten wrote:
> >> The RTC is an optional feature at purchase time on some Technologic
> >> Systems boards. Verify that it actually exists by checking if the
> >> last two bytes of the NVRAM can be changed.
> >> 
> >> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> >> Cc: Alessandro Zummo <a.zummo@towertech.it>
> >> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
> >> Cc: Alexander Clouter <alex@digriz.org.uk>
> >> ---
> >>  drivers/rtc/rtc-m48t86.c | 36 ++++++++++++++++++++++++++++++++++++
> >>  1 file changed, 36 insertions(+)
> >> 
> >
> > I've applied that one. Alex, if you are fine with the mach-orion5x
> > changes, I can take them for 4.11. Else, this will wait for 4.12.
> 
> Hello,
> 
> Thanks. The change to mach-ep93xx is ok if you want to take that one.
> 

Ok, I took it.

> In order to address the last two bytes, these two offsets should actually be:
> 
> +	unsigned int offset0 = M48T86_NVRAM(M48T86_NVRAM_LEN - 2);
> +	unsigned int offset1 = M48T86_NVRAM(M48T86_NVRAM_LEN - 1);
> 
> As they are right now, they are both off by 14 bytes (0x0e).
> 
> I can send a patch to fix it or you can do it if you prefer.
> 

I fixed it up directly in rtc-next


-- 
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

* [rtc-linux] Re: [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present
  2017-02-21 16:37   ` [rtc-linux] " Alexandre Belloni
  2017-02-21 17:04     ` [rtc-linux] " Hartley Sweeten
@ 2017-02-21 17:47     ` Alexander Clouter
  2017-02-21 20:24       ` Alexandre Belloni
  1 sibling, 1 reply; 11+ messages in thread
From: Alexander Clouter @ 2017-02-21 17:47 UTC (permalink / raw)
  To: Alexandre Belloni, H Hartley Sweeten; +Cc: rtc-linux, Alessandro Zummo

Thanks, not tested though, as I am lacking in time at the moment.  I 
probably am the only ts7800 user in the world using a mainline kernel 
too...so will only be punishing myself :-)

Acked-By: Alexander Clouter <alex+kernel@digriz.org.uk>


On 21 February 2017 4:37:35 p.m. Alexandre Belloni 
<alexandre.belloni@free-electrons.com> wrote:

> Hi,
>
> On 15/02/2017 at 09:35:23 -0700, H Hartley Sweeten wrote:
>> The RTC is an optional feature at purchase time on some Technologic
>> Systems boards. Verify that it actually exists by checking if the
>> last two bytes of the NVRAM can be changed.
>>
>> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
>> Cc: Alessandro Zummo <a.zummo@towertech.it>
>> Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
>> Cc: Alexander Clouter <alex@digriz.org.uk>
>> ---
>>  drivers/rtc/rtc-m48t86.c | 36 ++++++++++++++++++++++++++++++++++++
>>  1 file changed, 36 insertions(+)
>>
>
> I've applied that one. Alex, if you are fine with the mach-orion5x
> changes, I can take them for 4.11. Else, this will wait for 4.12.
>
>> diff --git a/drivers/rtc/rtc-m48t86.c b/drivers/rtc/rtc-m48t86.c
>> index 4dc4af4..41ac5d6 100644
>> --- a/drivers/rtc/rtc-m48t86.c
>> +++ b/drivers/rtc/rtc-m48t86.c
>> @@ -201,6 +201,37 @@ static ssize_t m48t86_nvram_write(struct file *filp, 
>> struct kobject *kobj,
>>  static BIN_ATTR(nvram, 0644, m48t86_nvram_read, m48t86_nvram_write,
>>  		M48T86_NVRAM_LEN);
>>
>> +/*
>> + * The RTC is an optional feature at purchase time on some Technologic Systems
>> + * boards. Verify that it actually exists by checking if the last two bytes
>> + * of the NVRAM can be changed.
>> + *
>> + * This is based on the method used in their rtc7800.c example.
>> + */
>> +static bool m48t86_verify_chip(struct platform_device *pdev)
>> +{
>> +	unsigned int offset0 = M48T86_NVRAM_LEN - 2;
>> +	unsigned int offset1 = M48T86_NVRAM_LEN - 1;
>> +	unsigned char tmp0, tmp1;
>> +
>> +	tmp0 = m48t86_readb(&pdev->dev, offset0);
>> +	tmp1 = m48t86_readb(&pdev->dev, offset1);
>> +
>> +	m48t86_writeb(&pdev->dev, 0x00, offset0);
>> +	m48t86_writeb(&pdev->dev, 0x55, offset1);
>> +	if (m48t86_readb(&pdev->dev, offset1) == 0x55) {
>> +		m48t86_writeb(&pdev->dev, 0xaa, offset1);
>> +		if (m48t86_readb(&pdev->dev, offset1) == 0xaa &&
>> +		    m48t86_readb(&pdev->dev, offset0) == 0x00) {
>> +			m48t86_writeb(&pdev->dev, tmp0, offset0);
>> +			m48t86_writeb(&pdev->dev, tmp1, offset1);
>> +
>> +			return true;
>> +		}
>> +	}
>> +	return false;
>> +}
>> +
>>  static int m48t86_rtc_probe(struct platform_device *pdev)
>>  {
>>  	struct m48t86_rtc_info *info;
>> @@ -231,6 +262,11 @@ static int m48t86_rtc_probe(struct platform_device *pdev)
>>
>>  	dev_set_drvdata(&pdev->dev, info);
>>
>> +	if (!m48t86_verify_chip(pdev)) {
>> +		dev_info(&pdev->dev, "RTC not present\n");
>> +		return -ENODEV;
>> +	}
>> +
>>  	info->rtc = devm_rtc_device_register(&pdev->dev, "m48t86",
>>  					     &m48t86_rtc_ops, THIS_MODULE);
>>  	if (IS_ERR(info->rtc))
>> --
>> 2.10.0
>>
>
> --
> Alexandre Belloni, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com


-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

* [rtc-linux] Re: [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present
  2017-02-21 17:47     ` Alexander Clouter
@ 2017-02-21 20:24       ` Alexandre Belloni
  0 siblings, 0 replies; 11+ messages in thread
From: Alexandre Belloni @ 2017-02-21 20:24 UTC (permalink / raw)
  To: Alexander Clouter; +Cc: H Hartley Sweeten, rtc-linux, Alessandro Zummo

On 21/02/2017 at 17:47:48 +0000, Alexander Clouter wrote:
> Thanks, not tested though, as I am lacking in time at the moment.  I
> probably am the only ts7800 user in the world using a mainline kernel
> too...so will only be punishing myself :-)
> 
> Acked-By: Alexander Clouter <alex+kernel@digriz.org.uk>
> 

Ok, then I've applied the whole series. I'll send that to Linus by the
end of the week.


-- 
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

-- 
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@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

end of thread, other threads:[~2017-02-21 20:24 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-15 16:35 [rtc-linux] [PATCH 0/5] rtc: m48t86: remove need for platform_data H Hartley Sweeten
2017-02-15 16:35 ` [rtc-linux] [PATCH 1/5] rtc: m48t86: verify that the RTC is actually present H Hartley Sweeten
2017-02-21 16:37   ` [rtc-linux] " Alexandre Belloni
2017-02-21 17:04     ` [rtc-linux] " Hartley Sweeten
2017-02-21 17:21       ` [rtc-linux] " Alexandre Belloni
2017-02-21 17:47     ` Alexander Clouter
2017-02-21 20:24       ` Alexandre Belloni
2017-02-15 16:35 ` [rtc-linux] [PATCH 2/5] ARM: Orion5x: ts78xx: remove RTC detection H Hartley Sweeten
2017-02-15 16:35 ` [rtc-linux] [PATCH 3/5] ARM: Orion5x: ts78xx: allow rtc-m48t86 to manage it's own resources H Hartley Sweeten
2017-02-15 16:35 ` [rtc-linux] [PATCH 4/5] ARM: ep93xx: ts72xx: " H Hartley Sweeten
2017-02-15 16:35 ` [rtc-linux] [PATCH 5/5] rtc: m48t86: remove unused platform_data H Hartley Sweeten

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.