diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2013-04-19 07:35:57 -0400 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2013-04-19 08:33:09 -0400 |
| commit | 56b690481c4baed815b9e4acf5ea89eadb58ba17 (patch) | |
| tree | a543108af0789de129150ec4662230eeafeae877 /include/linux/platform_data | |
| parent | 408e713545ca0bebe6034935c65e7e95c70d253b (diff) | |
| parent | bd51de53e1be9896d815bbea30560262216d4616 (diff) | |
Merge branch 'samsung/exynos-multiplatform' into next/multiplatform
These patches get us closer to adding multiplatform support on
the Exynos platform, they are part of a longer series of
patches. This would get all the simple stuff out of the
way, and I don't think there is a big risk of introducing
regressions with these.
A lot of the other patches have already been merged into
subsystem trees. After this series in in arm-soc, what is
left comes down to
* The ASoC conversion to dmaengine won't make it unless someone
who knows that code better steps up to do it right away. This
means that we won't have audio in a 3.10 multiplatform kernel
on Exynos, but it will still work for users that don't enable
multiplatform.
* The irqchip (combiner), clk and clksource patches are all based
on top of other changesets we pulled in from your trees, so I
would not make them part of the next/multiplatform branch. We can
apply them on top of the next/drivers branch once they are
tested successfully.
* A trivial patch is needed in the end to actually make
CONFIG_ARCH_EXYNOS visible in multiplatform configurations.
We will do that as a separate patch once everything else is
there.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/platform_data')
| -rw-r--r-- | include/linux/platform_data/mmc-sdhci-s3c.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/include/linux/platform_data/mmc-sdhci-s3c.h b/include/linux/platform_data/mmc-sdhci-s3c.h new file mode 100644 index 000000000000..249f02387a35 --- /dev/null +++ b/include/linux/platform_data/mmc-sdhci-s3c.h | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | #ifndef __PLATFORM_DATA_SDHCI_S3C_H | ||
| 2 | #define __PLATFORM_DATA_SDHCI_S3C_H | ||
| 3 | |||
| 4 | struct platform_device; | ||
| 5 | |||
| 6 | enum cd_types { | ||
| 7 | S3C_SDHCI_CD_INTERNAL, /* use mmc internal CD line */ | ||
| 8 | S3C_SDHCI_CD_EXTERNAL, /* use external callback */ | ||
| 9 | S3C_SDHCI_CD_GPIO, /* use external gpio pin for CD line */ | ||
| 10 | S3C_SDHCI_CD_NONE, /* no CD line, use polling to detect card */ | ||
| 11 | S3C_SDHCI_CD_PERMANENT, /* no CD line, card permanently wired to host */ | ||
| 12 | }; | ||
| 13 | |||
| 14 | /** | ||
| 15 | * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI | ||
| 16 | * @max_width: The maximum number of data bits supported. | ||
| 17 | * @host_caps: Standard MMC host capabilities bit field. | ||
| 18 | * @host_caps2: The second standard MMC host capabilities bit field. | ||
| 19 | * @cd_type: Type of Card Detection method (see cd_types enum above) | ||
| 20 | * @ext_cd_init: Initialize external card detect subsystem. Called on | ||
| 21 | * sdhci-s3c driver probe when cd_type == S3C_SDHCI_CD_EXTERNAL. | ||
| 22 | * notify_func argument is a callback to the sdhci-s3c driver | ||
| 23 | * that triggers the card detection event. Callback arguments: | ||
| 24 | * dev is pointer to platform device of the host controller, | ||
| 25 | * state is new state of the card (0 - removed, 1 - inserted). | ||
| 26 | * @ext_cd_cleanup: Cleanup external card detect subsystem. Called on | ||
| 27 | * sdhci-s3c driver remove when cd_type == S3C_SDHCI_CD_EXTERNAL. | ||
| 28 | * notify_func argument is the same callback as for ext_cd_init. | ||
| 29 | * @ext_cd_gpio: gpio pin used for external CD line, valid only if | ||
| 30 | * cd_type == S3C_SDHCI_CD_GPIO | ||
| 31 | * @ext_cd_gpio_invert: invert values for external CD gpio line | ||
| 32 | * @cfg_gpio: Configure the GPIO for a specific card bit-width | ||
| 33 | * | ||
| 34 | * Initialisation data specific to either the machine or the platform | ||
| 35 | * for the device driver to use or call-back when configuring gpio or | ||
| 36 | * card speed information. | ||
| 37 | */ | ||
| 38 | struct s3c_sdhci_platdata { | ||
| 39 | unsigned int max_width; | ||
| 40 | unsigned int host_caps; | ||
| 41 | unsigned int host_caps2; | ||
| 42 | unsigned int pm_caps; | ||
| 43 | enum cd_types cd_type; | ||
| 44 | |||
| 45 | int ext_cd_gpio; | ||
| 46 | bool ext_cd_gpio_invert; | ||
| 47 | int (*ext_cd_init)(void (*notify_func)(struct platform_device *, | ||
| 48 | int state)); | ||
| 49 | int (*ext_cd_cleanup)(void (*notify_func)(struct platform_device *, | ||
| 50 | int state)); | ||
| 51 | |||
| 52 | void (*cfg_gpio)(struct platform_device *dev, int width); | ||
| 53 | }; | ||
| 54 | |||
| 55 | |||
| 56 | #endif /* __PLATFORM_DATA_SDHCI_S3C_H */ | ||
