hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/mmc/host/dw_mmc-zx.c
....@@ -1,13 +1,9 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * ZX Specific Extensions for Synopsys DW Multimedia Card Interface driver
34 *
45 * Copyright (C) 2016, Linaro Ltd.
56 * Copyright (C) 2016, ZTE Corp.
6
- *
7
- * This program is free software; you can redistribute it and/or modify
8
- * it under the terms of the GNU General Public License as published by
9
- * the Free Software Foundation; either version 2 of the License, or
10
- * (at your option) any later version.
117 */
128
139 #include <linux/clk.h>
....@@ -159,7 +155,6 @@
159155 struct device_node *node;
160156 struct dw_mci_zx_priv_data *priv;
161157 struct regmap *sysc_base;
162
- int ret;
163158
164159 /* syscon is needed only by emmc */
165160 node = of_parse_phandle(np, "zte,aon-syscon", 0);
....@@ -167,13 +162,9 @@
167162 sysc_base = syscon_node_to_regmap(node);
168163 of_node_put(node);
169164
170
- if (IS_ERR(sysc_base)) {
171
- ret = PTR_ERR(sysc_base);
172
- if (ret != -EPROBE_DEFER)
173
- dev_err(host->dev, "Can't get syscon: %d\n",
174
- ret);
175
- return ret;
176
- }
165
+ if (IS_ERR(sysc_base))
166
+ return dev_err_probe(host->dev, PTR_ERR(sysc_base),
167
+ "Can't get syscon\n");
177168 } else {
178169 return 0;
179170 }
....@@ -231,6 +222,7 @@
231222 .remove = dw_mci_pltfm_remove,
232223 .driver = {
233224 .name = "dwmmc_zx",
225
+ .probe_type = PROBE_PREFER_ASYNCHRONOUS,
234226 .of_match_table = dw_mci_zx_match,
235227 .pm = &dw_mci_zx_dev_pm_ops,
236228 },