hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/drivers/i2c/muxes/i2c-mux-reg.c
....@@ -1,13 +1,9 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * I2C multiplexer using a single register
34 *
45 * Copyright 2015 Freescale Semiconductor
56 * York Sun <yorksun@freescale.com>
6
- *
7
- * This program is free software; you can redistribute it and/or modify it
8
- * under the terms of the GNU General Public License as published by the
9
- * Free Software Foundation; either version 2 of the License, or (at your
10
- * option) any later version.
117 */
128
139 #include <linux/i2c.h>
....@@ -175,13 +171,9 @@
175171 sizeof(mux->data));
176172 } else {
177173 ret = i2c_mux_reg_probe_dt(mux, pdev);
178
- if (ret == -EPROBE_DEFER)
179
- return ret;
180
-
181
- if (ret < 0) {
182
- dev_err(&pdev->dev, "Error parsing device tree");
183
- return ret;
184
- }
174
+ if (ret < 0)
175
+ return dev_err_probe(&pdev->dev, ret,
176
+ "Error parsing device tree");
185177 }
186178
187179 parent = i2c_get_adapter(mux->data.parent);
....@@ -191,13 +183,12 @@
191183 if (!mux->data.reg) {
192184 dev_info(&pdev->dev,
193185 "Register not set, using platform resource\n");
194
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
195
- mux->data.reg_size = resource_size(res);
196
- mux->data.reg = devm_ioremap_resource(&pdev->dev, res);
186
+ mux->data.reg = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
197187 if (IS_ERR(mux->data.reg)) {
198188 ret = PTR_ERR(mux->data.reg);
199189 goto err_put_parent;
200190 }
191
+ mux->data.reg_size = resource_size(res);
201192 }
202193
203194 if (mux->data.reg_size != 4 && mux->data.reg_size != 2 &&