[PATCH v3 11/19] clocksource: sh_mtu2: Add DT support
From: laurent.pinchart@ideasonboard.com (Laurent Pinchart)
Date: 2014-06-16 14:40:55
Also in:
linux-sh
Hi Sergei, On Saturday 14 June 2014 21:00:20 Sergei Shtylyov wrote:
On 06/14/2014 08:23 PM, Laurent Pinchart wrote:quoted
Document DT bindings and parse them in the MTU2 driver. Signed-off-by: Laurent Pinchart [off-list ref] Tested-by: Wolfram Sang <redacted> --- .../devicetree/bindings/timer/renesas,mtu2.txt | 40 +++++++++++++++++ drivers/clocksource/sh_mtu2.c | 8 +++++ 2 files changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/timer/renesas,mtu2.txtdiff --git a/Documentation/devicetree/bindings/timer/renesas,mtu2.txtb/Documentation/devicetree/bindings/timer/renesas,mtu2.txt new file mode 100644 index 0000000..c5dd032--- /dev/null +++ b/Documentation/devicetree/bindings/timer/renesas,mtu2.txt@@ -0,0 +1,40 @@ +* Renesas R-Car Multi-Function Timer Pulse Unit 2 (MTU2) + +The MTU2 is a multi-purpose, multi-channel timer/counter withconfigurable +clock inputs and programmable compare match. + +Channels share hardware resources but their counter and compare match value +are independent. The MTU2 hardware supports five channels indexed from 0 to 4. + +Required Properties: + + - compatible: must contain "renesas,mtu2" + + - reg: base address and length of the registers block for the timer module. + + - interrupt-parent, interrupts: interrupt specifiers for the timer, one for + each entry in interrupt-names.The "interrupt-parent" has never been a required property, it can and should be inherited from an upper level node.
Only when it makes sense (which is the case here). We need a standard wording to describe the interrupt-related properties. In the meantime I'll drop interrupt-parent.
[...]quoted
diff --git a/drivers/clocksource/sh_mtu2.c b/drivers/clocksource/sh_mtu2.c index ebdf9d1..79387af 100644 --- a/drivers/clocksource/sh_mtu2.c +++ b/drivers/clocksource/sh_mtu2.c[...]quoted
@@ -502,11 +503,18 @@ static const struct platform_device_idsh_mtu2_id_table[] = {> }; MODULE_DEVICE_TABLE(platform, sh_mtu2_id_table); +static const struct of_device_id sh_mtu2_of_table[] = { + { .compatible = "renesas,mtu2" }, + { } +}; +MODULE_DEVICE_TABLE(of, sh_mtu2_of_table); + static struct platform_driver sh_mtu2_device_driver = { .probe = sh_mtu2_probe, .remove = sh_mtu2_remove, .driver = { .name = "sh_mtu2", + .of_match_table = of_match_ptr(sh_mtu2_of_table),No need for of_match_ptr() since the table us not protected by #ifdef CONFIG_OF...
I'll fix that. -- Regards, Laurent Pinchart