.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (C) 2014 Linaro Ltd |
---|
3 | 4 | * |
---|
4 | 5 | * Author: Ulf Hansson <ulf.hansson@linaro.org> |
---|
5 | | - * |
---|
6 | | - * License terms: GNU General Public License (GPL) version 2 |
---|
7 | 6 | * |
---|
8 | 7 | * Simple MMC power sequence management |
---|
9 | 8 | */ |
---|
.. | .. |
---|
40 | 39 | struct gpio_descs *reset_gpios = pwrseq->reset_gpios; |
---|
41 | 40 | |
---|
42 | 41 | if (!IS_ERR(reset_gpios)) { |
---|
43 | | - int i, *values; |
---|
| 42 | + unsigned long *values; |
---|
44 | 43 | int nvalues = reset_gpios->ndescs; |
---|
45 | 44 | |
---|
46 | | - values = kmalloc_array(nvalues, sizeof(int), GFP_KERNEL); |
---|
| 45 | + values = bitmap_alloc(nvalues, GFP_KERNEL); |
---|
47 | 46 | if (!values) |
---|
48 | 47 | return; |
---|
49 | 48 | |
---|
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); |
---|
52 | 53 | |
---|
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 | + |
---|
54 | 57 | kfree(values); |
---|
55 | 58 | } |
---|
56 | 59 | } |
---|