Commit db04d628 authored by Stuart Longland's avatar Stuart Longland Committed by Linus Torvalds

drivers/rtc/rtc-isl12022.c: device tree support

Add support for configuring the ISL12022 real-time clock via the Device
tree framework.  This is based on what I've seen in the related ISL12057
driver, it has been tested and works on a Technologic Systems TS-7670
device which uses a ISL12020 RTC device, my device tree looks like this:

	apbx@80040000 {
		i2c0: i2c@80058000 {
			pinctrl-names = "default";
			pinctrl-0 = <&i2c0_pins_a>;
			clock-frequency = <400000>;
			status = "okay";

			isl12022@0x6f {
				compatible = "isl,isl12022";
				reg = <0x6f>;
			};
		};
		... etc
	};
Signed-off-by: default avatarStuart Longland <stuartl@vrt.com.au>
Cc: Roman Fietze <roman.fietze@telemotive.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent ede3e9d4
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/of.h>
#include <linux/of_device.h>
#define DRV_VERSION "0.1" #define DRV_VERSION "0.1"
...@@ -271,6 +273,13 @@ static int isl12022_probe(struct i2c_client *client, ...@@ -271,6 +273,13 @@ static int isl12022_probe(struct i2c_client *client,
return PTR_ERR_OR_ZERO(isl12022->rtc); return PTR_ERR_OR_ZERO(isl12022->rtc);
} }
#ifdef CONFIG_OF
static struct of_device_id isl12022_dt_match[] = {
{ .compatible = "isl,isl12022" },
{ },
};
#endif
static const struct i2c_device_id isl12022_id[] = { static const struct i2c_device_id isl12022_id[] = {
{ "isl12022", 0 }, { "isl12022", 0 },
{ } { }
...@@ -280,6 +289,9 @@ MODULE_DEVICE_TABLE(i2c, isl12022_id); ...@@ -280,6 +289,9 @@ MODULE_DEVICE_TABLE(i2c, isl12022_id);
static struct i2c_driver isl12022_driver = { static struct i2c_driver isl12022_driver = {
.driver = { .driver = {
.name = "rtc-isl12022", .name = "rtc-isl12022",
#ifdef CONFIG_OF
.of_match_table = of_match_ptr(isl12022_dt_match),
#endif
}, },
.probe = isl12022_probe, .probe = isl12022_probe,
.id_table = isl12022_id, .id_table = isl12022_id,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment