diff options
Diffstat (limited to 'arch/arm/mach-omap1/board-h3-mmc.c')
-rw-r--r-- | arch/arm/mach-omap1/board-h3-mmc.c | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/arch/arm/mach-omap1/board-h3-mmc.c b/arch/arm/mach-omap1/board-h3-mmc.c index 36085819098c..0baba1c4d12d 100644 --- a/arch/arm/mach-omap1/board-h3-mmc.c +++ b/arch/arm/mach-omap1/board-h3-mmc.c | |||
@@ -15,95 +15,6 @@ | |||
15 | #include <mach/mmc.h> | 15 | #include <mach/mmc.h> |
16 | #include <mach/gpio.h> | 16 | #include <mach/gpio.h> |
17 | 17 | ||
18 | #ifdef CONFIG_MMC_OMAP | ||
19 | static int slot_cover_open; | ||
20 | static struct device *mmc_device; | ||
21 | |||
22 | static int h3_mmc_set_power(struct device *dev, int slot, int power_on, | ||
23 | int vdd) | ||
24 | { | ||
25 | #ifdef CONFIG_MMC_DEBUG | ||
26 | dev_dbg(dev, "Set slot %d power: %s (vdd %d)\n", slot + 1, | ||
27 | power_on ? "on" : "off", vdd); | ||
28 | #endif | ||
29 | if (slot != 0) { | ||
30 | dev_err(dev, "No such slot %d\n", slot + 1); | ||
31 | return -ENODEV; | ||
32 | } | ||
33 | |||
34 | return 0; | ||
35 | } | ||
36 | |||
37 | static int h3_mmc_set_bus_mode(struct device *dev, int slot, int bus_mode) | ||
38 | { | ||
39 | int ret = 0; | ||
40 | |||
41 | #ifdef CONFIG_MMC_DEBUG | ||
42 | dev_dbg(dev, "Set slot %d bus_mode %s\n", slot + 1, | ||
43 | bus_mode == MMC_BUSMODE_OPENDRAIN ? "open-drain" : "push-pull"); | ||
44 | #endif | ||
45 | if (slot != 0) { | ||
46 | dev_err(dev, "No such slot %d\n", slot + 1); | ||
47 | return -ENODEV; | ||
48 | } | ||
49 | |||
50 | /* Treated on upper level */ | ||
51 | |||
52 | return bus_mode; | ||
53 | } | ||
54 | |||
55 | static int h3_mmc_get_cover_state(struct device *dev, int slot) | ||
56 | { | ||
57 | BUG_ON(slot != 0); | ||
58 | |||
59 | return slot_cover_open; | ||
60 | } | ||
61 | |||
62 | void h3_mmc_slot_cover_handler(void *arg, int state) | ||
63 | { | ||
64 | if (mmc_device == NULL) | ||
65 | return; | ||
66 | |||
67 | slot_cover_open = state; | ||
68 | omap_mmc_notify_cover_event(mmc_device, 0, state); | ||
69 | } | ||
70 | |||
71 | static int h3_mmc_late_init(struct device *dev) | ||
72 | { | ||
73 | int ret = 0; | ||
74 | |||
75 | mmc_device = dev; | ||
76 | |||
77 | return ret; | ||
78 | } | ||
79 | |||
80 | static void h3_mmc_cleanup(struct device *dev) | ||
81 | { | ||
82 | } | ||
83 | |||
84 | static struct omap_mmc_platform_data h3_mmc_data = { | ||
85 | .nr_slots = 1, | ||
86 | .switch_slot = NULL, | ||
87 | .init = h3_mmc_late_init, | ||
88 | .cleanup = h3_mmc_cleanup, | ||
89 | .slots[0] = { | ||
90 | .set_power = h3_mmc_set_power, | ||
91 | .set_bus_mode = h3_mmc_set_bus_mode, | ||
92 | .get_ro = NULL, | ||
93 | .get_cover_state = h3_mmc_get_cover_state, | ||
94 | .ocr_mask = MMC_VDD_28_29 | MMC_VDD_30_31 | | ||
95 | MMC_VDD_32_33 | MMC_VDD_33_34, | ||
96 | .name = "mmcblk", | ||
97 | }, | ||
98 | }; | ||
99 | |||
100 | void __init h3_mmc_init(void) | ||
101 | { | ||
102 | omap_set_mmc_info(1, &h3_mmc_data); | ||
103 | } | ||
104 | |||
105 | #else | ||
106 | |||
107 | void __init h3_mmc_init(void) | 18 | void __init h3_mmc_init(void) |
108 | { | 19 | { |
109 | } | 20 | } |
@@ -111,4 +22,3 @@ void __init h3_mmc_init(void) | |||
111 | void h3_mmc_slot_cover_handler(void *arg, int state) | 22 | void h3_mmc_slot_cover_handler(void *arg, int state) |
112 | { | 23 | { |
113 | } | 24 | } |
114 | #endif | ||