summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHeiko Stübner <heiko@sntech.de>2015-06-13 06:34:04 -0400
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>2015-06-24 19:13:45 -0400
commit4be1f6bbd1e968ab02653c28eababd9480dfff77 (patch)
treecc47bc7c2fe9902357f938d87fe6fb38216e38d8
parent45b4c85b71bbe691329983c9bf9877392700edc3 (diff)
rtc: hym8563: make the irq optional
Sometimes the irq line is not connected to any soc-pin. This does not hinder basic timekeeping functionality of the rtc, so probe should not fail in this case. Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
-rw-r--r--Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt2
-rw-r--r--drivers/rtc/rtc-hym8563.c18
2 files changed, 11 insertions, 9 deletions
diff --git a/Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt b/Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt
index 5c199ee044cb..a8934fe2ab4c 100644
--- a/Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt
+++ b/Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt
@@ -6,11 +6,11 @@ as well as a clock output of up to 32kHz.
6Required properties: 6Required properties:
7- compatible: should be: "haoyu,hym8563" 7- compatible: should be: "haoyu,hym8563"
8- reg: i2c address 8- reg: i2c address
9- interrupts: rtc alarm/event interrupt
10- #clock-cells: the value should be 0 9- #clock-cells: the value should be 0
11 10
12Optional properties: 11Optional properties:
13- clock-output-names: From common clock binding 12- clock-output-names: From common clock binding
13- interrupts: rtc alarm/event interrupt
14 14
15Example: 15Example:
16 16
diff --git a/drivers/rtc/rtc-hym8563.c b/drivers/rtc/rtc-hym8563.c
index 0f710e98538f..e9da7959d3fe 100644
--- a/drivers/rtc/rtc-hym8563.c
+++ b/drivers/rtc/rtc-hym8563.c
@@ -548,14 +548,16 @@ static int hym8563_probe(struct i2c_client *client,
548 return ret; 548 return ret;
549 } 549 }
550 550
551 ret = devm_request_threaded_irq(&client->dev, client->irq, 551 if (client->irq > 0) {
552 NULL, hym8563_irq, 552 ret = devm_request_threaded_irq(&client->dev, client->irq,
553 IRQF_TRIGGER_LOW | IRQF_ONESHOT, 553 NULL, hym8563_irq,
554 client->name, hym8563); 554 IRQF_TRIGGER_LOW | IRQF_ONESHOT,
555 if (ret < 0) { 555 client->name, hym8563);
556 dev_err(&client->dev, "irq %d request failed, %d\n", 556 if (ret < 0) {
557 client->irq, ret); 557 dev_err(&client->dev, "irq %d request failed, %d\n",
558 return ret; 558 client->irq, ret);
559 return ret;
560 }
559 } 561 }
560 562
561 /* check state of calendar information */ 563 /* check state of calendar information */