|
|
@@ -392,11 +392,14 @@ struct mmc_host {
|
|
|
unsigned long private[0] ____cacheline_aligned;
|
|
|
};
|
|
|
|
|
|
+struct device_node;
|
|
|
+
|
|
|
struct mmc_host *mmc_alloc_host(int extra, struct device *);
|
|
|
int mmc_add_host(struct mmc_host *);
|
|
|
void mmc_remove_host(struct mmc_host *);
|
|
|
void mmc_free_host(struct mmc_host *);
|
|
|
int mmc_of_parse(struct mmc_host *host);
|
|
|
+int mmc_of_parse_voltage(struct device_node *np, u32 *mask);
|
|
|
|
|
|
static inline void *mmc_priv(struct mmc_host *host)
|
|
|
{
|
|
|
@@ -452,6 +455,7 @@ static inline int mmc_regulator_set_vqmmc(struct mmc_host *mmc,
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+u32 mmc_vddrange_to_ocrmask(int vdd_min, int vdd_max);
|
|
|
int mmc_regulator_get_supply(struct mmc_host *mmc);
|
|
|
|
|
|
static inline int mmc_card_is_removable(struct mmc_host *host)
|
|
|
@@ -538,6 +542,8 @@ static inline bool mmc_can_retune(struct mmc_host *host)
|
|
|
return host->can_retune == 1;
|
|
|
}
|
|
|
|
|
|
+int mmc_send_tuning(struct mmc_host *host, u32 opcode, int *cmd_error);
|
|
|
+int mmc_abort_tuning(struct mmc_host *host, u32 opcode);
|
|
|
void mmc_retune_pause(struct mmc_host *host);
|
|
|
void mmc_retune_unpause(struct mmc_host *host);
|
|
|
|