diff options
| author | Rob Herring <rob.herring@calxeda.com> | 2010-11-03 22:04:59 -0400 |
|---|---|---|
| committer | Rob Herring <rob.herring@calxeda.com> | 2011-11-03 16:52:38 -0400 |
| commit | 02aac316abf436a7529d46a71f7083f9f9ef4b49 (patch) | |
| tree | f6104530b98e312d146a3c3780b79de238ec4763 | |
| parent | 303f59d1a71ebf1ede04b2adb07e3f545e53b7ba (diff) | |
ahci: add DT binding for Calxeda AHCI controller
Add devicetree match table to ahci platform driver for Calxeda Highbank
AHCI controller.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: linux-ide@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: devicetree-discuss@lists.ozlabs.org
| -rw-r--r-- | Documentation/devicetree/bindings/ata/calxeda-sata.txt | 17 | ||||
| -rw-r--r-- | drivers/ata/ahci_platform.c | 7 |
2 files changed, 24 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/ata/calxeda-sata.txt b/Documentation/devicetree/bindings/ata/calxeda-sata.txt new file mode 100644 index 000000000000..79caa5651f53 --- /dev/null +++ b/Documentation/devicetree/bindings/ata/calxeda-sata.txt | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | * Calxeda SATA Controller | ||
| 2 | |||
| 3 | SATA nodes are defined to describe on-chip Serial ATA controllers. | ||
| 4 | Each SATA controller should have its own node. | ||
| 5 | |||
| 6 | Required properties: | ||
| 7 | - compatible : compatible list, contains "calxeda,hb-ahci" | ||
| 8 | - interrupts : <interrupt mapping for SATA IRQ> | ||
| 9 | - reg : <registers mapping> | ||
| 10 | |||
| 11 | Example: | ||
| 12 | sata@ffe08000 { | ||
| 13 | compatible = "calxeda,hb-ahci"; | ||
| 14 | reg = <0xffe08000 0x1000>; | ||
| 15 | interrupts = <115>; | ||
| 16 | }; | ||
| 17 | |||
diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c index c03277d37748..004f2ce3dc73 100644 --- a/drivers/ata/ahci_platform.c +++ b/drivers/ata/ahci_platform.c | |||
| @@ -202,11 +202,18 @@ static int __devexit ahci_remove(struct platform_device *pdev) | |||
| 202 | return 0; | 202 | return 0; |
| 203 | } | 203 | } |
| 204 | 204 | ||
| 205 | static const struct of_device_id ahci_of_match[] = { | ||
| 206 | { .compatible = "calxeda,hb-ahci", }, | ||
| 207 | {}, | ||
| 208 | }; | ||
| 209 | MODULE_DEVICE_TABLE(of, ahci_of_match); | ||
| 210 | |||
| 205 | static struct platform_driver ahci_driver = { | 211 | static struct platform_driver ahci_driver = { |
| 206 | .remove = __devexit_p(ahci_remove), | 212 | .remove = __devexit_p(ahci_remove), |
| 207 | .driver = { | 213 | .driver = { |
| 208 | .name = "ahci", | 214 | .name = "ahci", |
| 209 | .owner = THIS_MODULE, | 215 | .owner = THIS_MODULE, |
| 216 | .of_match_table = ahci_of_match, | ||
| 210 | }, | 217 | }, |
| 211 | .id_table = ahci_devtype, | 218 | .id_table = ahci_devtype, |
| 212 | }; | 219 | }; |
