aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/sdhci-dove.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/host/sdhci-dove.c')
-rw-r--r--drivers/mmc/host/sdhci-dove.c43
1 files changed, 41 insertions, 2 deletions
diff --git a/drivers/mmc/host/sdhci-dove.c b/drivers/mmc/host/sdhci-dove.c
index 2aeef4ffed8c..f2d29dca4420 100644
--- a/drivers/mmc/host/sdhci-dove.c
+++ b/drivers/mmc/host/sdhci-dove.c
@@ -22,7 +22,6 @@
22#include <linux/io.h> 22#include <linux/io.h>
23#include <linux/mmc/host.h> 23#include <linux/mmc/host.h>
24 24
25#include "sdhci.h"
26#include "sdhci-pltfm.h" 25#include "sdhci-pltfm.h"
27 26
28static u16 sdhci_dove_readw(struct sdhci_host *host, int reg) 27static u16 sdhci_dove_readw(struct sdhci_host *host, int reg)
@@ -61,10 +60,50 @@ static struct sdhci_ops sdhci_dove_ops = {
61 .read_l = sdhci_dove_readl, 60 .read_l = sdhci_dove_readl,
62}; 61};
63 62
64struct sdhci_pltfm_data sdhci_dove_pdata = { 63static struct sdhci_pltfm_data sdhci_dove_pdata = {
65 .ops = &sdhci_dove_ops, 64 .ops = &sdhci_dove_ops,
66 .quirks = SDHCI_QUIRK_NO_SIMULT_VDD_AND_POWER | 65 .quirks = SDHCI_QUIRK_NO_SIMULT_VDD_AND_POWER |
67 SDHCI_QUIRK_NO_BUSY_IRQ | 66 SDHCI_QUIRK_NO_BUSY_IRQ |
68 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL | 67 SDHCI_QUIRK_BROKEN_TIMEOUT_VAL |
69 SDHCI_QUIRK_FORCE_DMA, 68 SDHCI_QUIRK_FORCE_DMA,
70}; 69};
70
71static int __devinit sdhci_dove_probe(struct platform_device *pdev)
72{
73 return sdhci_pltfm_register(pdev, &sdhci_dove_pdata);
74}
75
76static int __devexit sdhci_dove_remove(struct platform_device *pdev)
77{
78 return sdhci_pltfm_unregister(pdev);
79}
80
81static struct platform_driver sdhci_dove_driver = {
82 .driver = {
83 .name = "sdhci-dove",
84 .owner = THIS_MODULE,
85 },
86 .probe = sdhci_dove_probe,
87 .remove = __devexit_p(sdhci_dove_remove),
88#ifdef CONFIG_PM
89 .suspend = sdhci_pltfm_suspend,
90 .resume = sdhci_pltfm_resume,
91#endif
92};
93
94static int __init sdhci_dove_init(void)
95{
96 return platform_driver_register(&sdhci_dove_driver);
97}
98module_init(sdhci_dove_init);
99
100static void __exit sdhci_dove_exit(void)
101{
102 platform_driver_unregister(&sdhci_dove_driver);
103}
104module_exit(sdhci_dove_exit);
105
106MODULE_DESCRIPTION("SDHCI driver for Dove");
107MODULE_AUTHOR("Saeed Bishara <saeed@marvell.com>, "
108 "Mike Rapoport <mike@compulab.co.il>");
109MODULE_LICENSE("GPL v2");