aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/ata/pata-arasan.txt17
-rw-r--r--drivers/ata/pata_arasan_cf.c10
2 files changed, 27 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/ata/pata-arasan.txt b/Documentation/devicetree/bindings/ata/pata-arasan.txt
new file mode 100644
index 000000000000..95ec7f825ede
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/pata-arasan.txt
@@ -0,0 +1,17 @@
1* ARASAN PATA COMPACT FLASH CONTROLLER
2
3Required properties:
4- compatible: "arasan,cf-spear1340"
5- reg: Address range of the CF registers
6- interrupt-parent: Should be the phandle for the interrupt controller
7 that services interrupts for this device
8- interrupt: Should contain the CF interrupt number
9
10Example:
11
12 cf@fc000000 {
13 compatible = "arasan,cf-spear1340";
14 reg = <0xfc000000 0x1000>;
15 interrupt-parent = <&vic1>;
16 interrupts = <12>;
17 };
diff --git a/drivers/ata/pata_arasan_cf.c b/drivers/ata/pata_arasan_cf.c
index d82c6dc0c20c..26201ebef3ca 100644
--- a/drivers/ata/pata_arasan_cf.c
+++ b/drivers/ata/pata_arasan_cf.c
@@ -31,6 +31,7 @@
31#include <linux/kernel.h> 31#include <linux/kernel.h>
32#include <linux/libata.h> 32#include <linux/libata.h>
33#include <linux/module.h> 33#include <linux/module.h>
34#include <linux/of.h>
34#include <linux/pata_arasan_cf_data.h> 35#include <linux/pata_arasan_cf_data.h>
35#include <linux/platform_device.h> 36#include <linux/platform_device.h>
36#include <linux/pm.h> 37#include <linux/pm.h>
@@ -935,6 +936,14 @@ static int arasan_cf_resume(struct device *dev)
935 936
936static SIMPLE_DEV_PM_OPS(arasan_cf_pm_ops, arasan_cf_suspend, arasan_cf_resume); 937static SIMPLE_DEV_PM_OPS(arasan_cf_pm_ops, arasan_cf_suspend, arasan_cf_resume);
937 938
939#ifdef CONFIG_OF
940static const struct of_device_id arasan_cf_id_table[] = {
941 { .compatible = "arasan,cf-spear1340" },
942 {}
943};
944MODULE_DEVICE_TABLE(of, arasan_cf_id_table);
945#endif
946
938static struct platform_driver arasan_cf_driver = { 947static struct platform_driver arasan_cf_driver = {
939 .probe = arasan_cf_probe, 948 .probe = arasan_cf_probe,
940 .remove = __devexit_p(arasan_cf_remove), 949 .remove = __devexit_p(arasan_cf_remove),
@@ -942,6 +951,7 @@ static struct platform_driver arasan_cf_driver = {
942 .name = DRIVER_NAME, 951 .name = DRIVER_NAME,
943 .owner = THIS_MODULE, 952 .owner = THIS_MODULE,
944 .pm = &arasan_cf_pm_ops, 953 .pm = &arasan_cf_pm_ops,
954 .of_match_table = of_match_ptr(arasan_cf_id_table),
945 }, 955 },
946}; 956};
947 957