hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/mmc/core/pwrseq_simple.c
....@@ -1,9 +1,8 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Copyright (C) 2014 Linaro Ltd
34 *
45 * Author: Ulf Hansson <ulf.hansson@linaro.org>
5
- *
6
- * License terms: GNU General Public License (GPL) version 2
76 *
87 * Simple MMC power sequence management
98 */
....@@ -40,17 +39,21 @@
4039 struct gpio_descs *reset_gpios = pwrseq->reset_gpios;
4140
4241 if (!IS_ERR(reset_gpios)) {
43
- int i, *values;
42
+ unsigned long *values;
4443 int nvalues = reset_gpios->ndescs;
4544
46
- values = kmalloc_array(nvalues, sizeof(int), GFP_KERNEL);
45
+ values = bitmap_alloc(nvalues, GFP_KERNEL);
4746 if (!values)
4847 return;
4948
50
- for (i = 0; i < nvalues; i++)
51
- values[i] = value;
49
+ if (value)
50
+ bitmap_fill(values, nvalues);
51
+ else
52
+ bitmap_zero(values, nvalues);
5253
53
- gpiod_set_array_value_cansleep(nvalues, reset_gpios->desc, values);
54
+ gpiod_set_array_value_cansleep(nvalues, reset_gpios->desc,
55
+ reset_gpios->info, values);
56
+
5457 kfree(values);
5558 }
5659 }