forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/drivers/mmc/host/dw_mmc-hi3798cv200.c
....@@ -23,6 +23,12 @@
2323 struct clk *drive_clk;
2424 };
2525
26
+static unsigned long dw_mci_hi3798cv200_caps[] = {
27
+ MMC_CAP_CMD23,
28
+ MMC_CAP_CMD23,
29
+ MMC_CAP_CMD23
30
+};
31
+
2632 static void dw_mci_hi3798cv200_set_ios(struct dw_mci *host, struct mmc_ios *ios)
2733 {
2834 struct hi3798cv200_priv *priv = host->priv;
....@@ -60,7 +66,7 @@
6066 static int dw_mci_hi3798cv200_execute_tuning(struct dw_mci_slot *slot,
6167 u32 opcode)
6268 {
63
- int degrees[] = { 0, 45, 90, 135, 180, 225, 270, 315 };
69
+ static const int degrees[] = { 0, 45, 90, 135, 180, 225, 270, 315 };
6470 struct dw_mci *host = slot->host;
6571 struct hi3798cv200_priv *priv = host->priv;
6672 int raise_point = -1, fall_point = -1;
....@@ -160,6 +166,8 @@
160166 }
161167
162168 static const struct dw_mci_drv_data hi3798cv200_data = {
169
+ .caps = dw_mci_hi3798cv200_caps,
170
+ .num_caps = ARRAY_SIZE(dw_mci_hi3798cv200_caps),
163171 .init = dw_mci_hi3798cv200_init,
164172 .set_ios = dw_mci_hi3798cv200_set_ios,
165173 .execute_tuning = dw_mci_hi3798cv200_execute_tuning,
....@@ -192,6 +200,7 @@
192200 .remove = dw_mci_hi3798cv200_remove,
193201 .driver = {
194202 .name = "dwmmc_hi3798cv200",
203
+ .probe_type = PROBE_PREFER_ASYNCHRONOUS,
195204 .of_match_table = dw_mci_hi3798cv200_match,
196205 },
197206 };