13 #include <linux/module.h>
20 #include <linux/slab.h>
32 static struct resource tc6387xb_mmc_resources[] = {
62 struct tc6387xb *tc6387xb = platform_get_drvdata(dev);
66 if (pdata && pdata->
resume)
70 tc6387xb_mmc_resources[0].
start & 0xfffe);
75 #define tc6387xb_suspend NULL
76 #define tc6387xb_resume NULL
84 struct tc6387xb *tc6387xb = platform_get_drvdata(dev);
89 static void tc6387xb_mmc_clk_div(
struct platform_device *mmc,
int state)
92 struct tc6387xb *tc6387xb = platform_get_drvdata(dev);
101 struct tc6387xb *tc6387xb = platform_get_drvdata(dev);
106 tc6387xb_mmc_resources[0].
start & 0xfffe);
114 struct tc6387xb *tc6387xb = platform_get_drvdata(dev);
123 .set_pwr = tc6387xb_mmc_pwr,
124 .set_clk_div = tc6387xb_mmc_clk_div,
129 static struct mfd_cell tc6387xb_cells[] = {
132 .enable = tc6387xb_mmc_enable,
133 .disable = tc6387xb_mmc_disable,
134 .platform_data = &tc6387xb_mmc_data,
135 .pdata_size =
sizeof(tc6387xb_mmc_data),
137 .resources = tc6387xb_mmc_resources,
146 struct tc6387xb *tc6387xb;
154 tc6387xb = kzalloc(
sizeof *tc6387xb,
GFP_KERNEL);
165 if (IS_ERR(clk32k)) {
166 ret = PTR_ERR(clk32k);
170 rscr = &tc6387xb->
rscr;
171 rscr->
name =
"tc6387xb-core";
181 if (!tc6387xb->
scr) {
187 platform_set_drvdata(dev, tc6387xb);
189 if (pdata && pdata->
enable)
213 struct tc6387xb *tc6387xb = platform_get_drvdata(dev);
220 platform_set_drvdata(dev,
NULL);
231 .probe = tc6387xb_probe,