blob: 44beff1f5d171652f6ae703392d5e544fef4cdba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
--- a/drivers/mmc/host/gpiommc.c
+++ b/drivers/mmc/host/gpiommc.c
@@ -8,11 +8,13 @@
* Licensed under the GNU/GPL. See COPYING for details.
*/
-#include <linux/mmc/gpiommc.h>
#include <linux/platform_device.h>
#include <linux/list.h>
#include <linux/mutex.h>
+#include <linux/mmc/gpiommc.h>
+#include <linux/mmc/host.h>
#include <linux/spi/spi_gpio.h>
+#include <linux/spi/mmc_spi.h>
#include <linux/configfs.h>
#include <linux/gpio.h>
#include <asm/atomic.h>
@@ -25,6 +27,7 @@ struct gpiommc_device {
struct platform_device *pdev;
struct platform_device *spi_pdev;
struct spi_board_info boardinfo;
+ struct mmc_spi_platform_data mmc_spi_data;
};
@@ -46,6 +49,7 @@ static int gpiommc_boardinfo_setup(struc
bi->max_speed_hz = pdata->max_bus_speed;
bi->bus_num = master->bus_num;
bi->mode = pdata->mode;
+ bi->platform_data = &d->mmc_spi_data;
return 0;
}
@@ -75,6 +79,7 @@ static int gpiommc_probe(struct platform
if (!d)
goto error;
d->pdev = pdev;
+ d->mmc_spi_data.ocr_mask = MMC_VDD_32_33 | MMC_VDD_33_34;
/* Create the SPI-GPIO device */
d->spi_pdev = platform_device_alloc(SPI_GPIO_PLATDEV_NAME,
|