| /drivers/tty/serial/ |
| A D | serial_mctrl_gpio.c | 59 if (gpios == NULL) in mctrl_gpio_set() 82 if (gpios == NULL) in mctrl_gpio_to_gpiod() 143 gpios = devm_kzalloc(dev, sizeof(*gpios), GFP_KERNEL); in mctrl_gpio_init_noauto() 144 if (!gpios) in mctrl_gpio_init_noauto() 162 gpios->gpio[i] = in mctrl_gpio_init_noauto() 172 return gpios; in mctrl_gpio_init_noauto() 231 return gpios; in mctrl_gpio_init() 266 return gpios; in mctrl_gpio_init() 288 mctrl_gpio_get(gpios, &gpios->mctrl_prev); in mctrl_gpio_enable_ms() 348 if (!gpios) in mctrl_gpio_enable_irq_wake() [all …]
|
| A D | serial_mctrl_gpio.h | 38 void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl); 51 mctrl_gpio_get_outputs(struct mctrl_gpios *gpios, unsigned int *mctrl); 56 struct gpio_desc *mctrl_gpio_to_gpiod(struct mctrl_gpios *gpios, 80 void mctrl_gpio_enable_ms(struct mctrl_gpios *gpios); 86 void mctrl_gpio_disable_ms_sync(struct mctrl_gpios *gpios); 92 void mctrl_gpio_disable_ms_no_sync(struct mctrl_gpios *gpios); 97 void mctrl_gpio_enable_irq_wake(struct mctrl_gpios *gpios); 102 void mctrl_gpio_disable_irq_wake(struct mctrl_gpios *gpios); 107 void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl) in mctrl_gpio_set() argument 124 struct gpio_desc *mctrl_gpio_to_gpiod(struct mctrl_gpios *gpios, in mctrl_gpio_to_gpiod() argument [all …]
|
| A D | ar933x_uart.c | 53 struct mctrl_gpios *gpios; member 149 mctrl_gpio_get(up->gpios, &ret); in ar933x_uart_get_mctrl() 159 mctrl_gpio_set(up->gpios, mctrl); in ar933x_uart_set_mctrl() 781 up->gpios = mctrl_gpio_init(port, 0); in ar933x_uart_probe() 782 if (IS_ERR(up->gpios) && PTR_ERR(up->gpios) != -ENOSYS) { in ar933x_uart_probe() 783 ret = PTR_ERR(up->gpios); in ar933x_uart_probe() 787 up->rts_gpiod = mctrl_gpio_to_gpiod(up->gpios, UART_GPIO_RTS); in ar933x_uart_probe()
|
| /drivers/platform/x86/siemens/ |
| A D | simatic-ipc-batt.c | 39 struct gpio_desc *gpios[3]; member 47 if (priv.gpios[2]) { in simatic_ipc_batt_read_gpio() 57 if (priv.gpios[2]) in simatic_ipc_batt_read_gpio() 182 if (IS_ERR(priv.gpios[0])) { in simatic_ipc_batt_probe() 183 err = PTR_ERR(priv.gpios[0]); in simatic_ipc_batt_probe() 184 priv.gpios[0] = NULL; in simatic_ipc_batt_probe() 188 if (IS_ERR(priv.gpios[1])) { in simatic_ipc_batt_probe() 190 priv.gpios[1] = NULL; in simatic_ipc_batt_probe() 200 if (IS_ERR(priv.gpios[2])) { in simatic_ipc_batt_probe() 202 priv.gpios[2] = NULL; in simatic_ipc_batt_probe() [all …]
|
| /drivers/watchdog/ |
| A D | mena21_wdt.c | 34 struct gpio_desc *gpios[NUM_GPIOS]; member 57 gpiod_set_value(drv->gpios[GPIO_WD_ENAB], 1); in a21_wdt_start() 66 gpiod_set_value(drv->gpios[GPIO_WD_ENAB], 0); in a21_wdt_stop() 75 gpiod_set_value(drv->gpios[GPIO_WD_TRIG], 0); in a21_wdt_ping() 77 gpiod_set_value(drv->gpios[GPIO_WD_TRIG], 1); in a21_wdt_ping() 99 gpiod_set_value(drv->gpios[GPIO_WD_FAST], 1); in a21_wdt_set_timeout() 101 gpiod_set_value(drv->gpios[GPIO_WD_FAST], 0); in a21_wdt_set_timeout() 157 if (IS_ERR(drv->gpios[i])) in a21_wdt_probe() 158 return PTR_ERR(drv->gpios[i]); in a21_wdt_probe() 169 val = gpiod_get_value(drv->gpios[i]); in a21_wdt_probe() [all …]
|
| /drivers/gpu/drm/panel/ |
| A D | panel-ronbo-rb070d30.c | 37 } gpios; member 57 gpiod_set_value(ctx->gpios.power, 1); in rb070d30_panel_prepare() 59 gpiod_set_value(ctx->gpios.reset, 1); in rb070d30_panel_prepare() 160 if (IS_ERR(ctx->gpios.reset)) { in rb070d30_panel_dsi_probe() 162 return PTR_ERR(ctx->gpios.reset); in rb070d30_panel_dsi_probe() 166 if (IS_ERR(ctx->gpios.power)) { in rb070d30_panel_dsi_probe() 168 return PTR_ERR(ctx->gpios.power); in rb070d30_panel_dsi_probe() 176 if (IS_ERR(ctx->gpios.updn)) { in rb070d30_panel_dsi_probe() 178 return PTR_ERR(ctx->gpios.updn); in rb070d30_panel_dsi_probe() 186 if (IS_ERR(ctx->gpios.shlr)) { in rb070d30_panel_dsi_probe() [all …]
|
| /drivers/net/mdio/ |
| A D | mdio-mux-gpio.c | 18 struct gpio_descs *gpios; member 33 gpiod_multi_set_value_cansleep(s->gpios, values); in mdio_mux_gpio_switch_fn() 41 struct gpio_descs *gpios; in mdio_mux_gpio_probe() local 44 gpios = devm_gpiod_get_array(&pdev->dev, NULL, GPIOD_OUT_LOW); in mdio_mux_gpio_probe() 45 if (IS_ERR(gpios)) in mdio_mux_gpio_probe() 46 return PTR_ERR(gpios); in mdio_mux_gpio_probe() 52 s->gpios = gpios; in mdio_mux_gpio_probe()
|
| /drivers/hsi/clients/ |
| A D | nokia-modem.c | 32 struct nokia_modem_gpio *gpios; member 66 sysfs_remove_link(&dev->kobj, modem->gpios[i].name); in nokia_modem_gpio_unexport() 67 gpiod_unexport(modem->gpios[i].gpio); in nokia_modem_gpio_unexport() 90 modem->gpios = devm_kcalloc(dev, gpio_count, sizeof(*modem->gpios), in nokia_modem_gpio_probe() 92 if (!modem->gpios) in nokia_modem_gpio_probe() 100 if (IS_ERR(modem->gpios[i].gpio)) { in nokia_modem_gpio_probe() 102 return PTR_ERR(modem->gpios[i].gpio); in nokia_modem_gpio_probe() 106 &(modem->gpios[i].name)); in nokia_modem_gpio_probe() 112 err = gpiod_export(modem->gpios[i].gpio, 0); in nokia_modem_gpio_probe() 116 err = gpiod_export_link(dev, modem->gpios[i].name, in nokia_modem_gpio_probe() [all …]
|
| /drivers/input/misc/ |
| A D | rotary_encoder.c | 46 struct gpio_descs *gpios; member 61 for (i = 0; i < encoder->gpios->ndescs; ++i) { in rotary_encoder_get_state() 62 int val = gpiod_get_value_cansleep(encoder->gpios->desc[i]); in rotary_encoder_get_state() 231 encoder->gpios = devm_gpiod_get_array(dev, NULL, GPIOD_IN); in rotary_encoder_probe() 232 if (IS_ERR(encoder->gpios)) in rotary_encoder_probe() 234 if (encoder->gpios->ndescs < 2) { in rotary_encoder_probe() 274 encoder->gpios->ndescs, sizeof(*encoder->irq), in rotary_encoder_probe() 279 for (i = 0; i < encoder->gpios->ndescs; ++i) { in rotary_encoder_probe() 280 encoder->irq[i] = gpiod_to_irq(encoder->gpios->desc[i]); in rotary_encoder_probe() 314 for (i = 0; i < encoder->gpios->ndescs; ++i) in rotary_encoder_suspend() [all …]
|
| A D | gpio_decoder.c | 26 struct gpio_descs *gpios = decoder->input_gpios; in gpio_decoder_get_gpios_state() local 30 for (i = 0; i < gpios->ndescs; i++) { in gpio_decoder_get_gpios_state() 31 val = gpiod_get_value_cansleep(gpios->desc[i]); in gpio_decoder_get_gpios_state() 35 desc_to_gpio(gpios->desc[i]), val); in gpio_decoder_get_gpios_state()
|
| /drivers/hwmon/ |
| A D | gpio-fan.c | 40 struct gpio_desc **gpios; member 361 struct gpio_desc **gpios = fan_data->gpios; in fan_ctrl_init() local 444 struct gpio_desc **gpios; in gpio_fan_get_of_data() local 463 gpios = devm_kcalloc(dev, in gpio_fan_get_of_data() 466 if (!gpios) in gpio_fan_get_of_data() 470 if (IS_ERR(gpios[i])) in gpio_fan_get_of_data() 471 return PTR_ERR(gpios[i]); in gpio_fan_get_of_data() 473 fan_data->gpios = gpios; in gpio_fan_get_of_data() 607 if (fan_data->gpios) in gpio_fan_shutdown() 638 if (fan_data->gpios) { in gpio_fan_suspend() [all …]
|
| A D | ltc4245.c | 66 int gpios[3]; member 85 data->gpios[0] = data->vregs[LTC4245_GPIOADC - 0x10]; in ltc4245_update_gpios() 94 for (i = 0; i < ARRAY_SIZE(data->gpios); i++) in ltc4245_update_gpios() 95 data->gpios[i] = -EAGAIN; in ltc4245_update_gpios() 110 data->gpios[gpio_curr] = data->vregs[LTC4245_GPIOADC - 0x10]; in ltc4245_update_gpios() 113 gpio_next = (gpio_curr + 1) % ARRAY_SIZE(data->gpios); in ltc4245_update_gpios() 295 int regval = data->gpios[channel - 8]; in ltc4245_read_in()
|
| /drivers/mux/ |
| A D | gpio.c | 21 struct gpio_descs *gpios; member 32 gpiod_multi_set_value_cansleep(mux_gpio->gpios, values); in mux_gpio_set() 67 mux_gpio->gpios = devm_gpiod_get_array(dev, "mux", GPIOD_OUT_LOW); in mux_gpio_probe() 68 if (IS_ERR(mux_gpio->gpios)) in mux_gpio_probe() 69 return dev_err_probe(dev, PTR_ERR(mux_gpio->gpios), in mux_gpio_probe() 71 WARN_ON(pins != mux_gpio->gpios->ndescs); in mux_gpio_probe()
|
| /drivers/gpio/ |
| A D | gpiolib-of.c | 187 } gpios[] = { in of_gpio_try_fixup_polarity() local 247 for (i = 0; i < ARRAY_SIZE(gpios); i++) { in of_gpio_try_fixup_polarity() 249 !strcmp(propname, gpios[i].propname)) { in of_gpio_try_fixup_polarity() 266 } gpios[] = { in of_gpio_set_polarity_by_property() local 324 for (i = 0; i < ARRAY_SIZE(gpios); i++) { in of_gpio_set_polarity_by_property() 328 gpios[i].polarity_propname); in of_gpio_set_polarity_by_property() 521 } gpios[] = { in of_find_gpio_rename() local 617 for (i = 0; i < ARRAY_SIZE(gpios); i++) { in of_find_gpio_rename() 618 if (strcmp(con_id, gpios[i].con_id)) in of_find_gpio_rename() 621 if (gpios[i].compatible && in of_find_gpio_rename() [all …]
|
| A D | gpio-winbond.c | 132 unsigned long gpios; member 357 for_each_set_bit(i, ¶ms.gpios, BITS_PER_LONG) { in winbond_gpio_get_info() 579 for_each_set_bit(i, ¶ms.gpios, BITS_PER_LONG) in winbond_gpio_configure() 581 __clear_bit(i, ¶ms.gpios); in winbond_gpio_configure() 583 if (!params.gpios) { in winbond_gpio_configure() 621 gpios_rem = params.gpios & ~GENMASK(ARRAY_SIZE(winbond_gpio_infos) - 1, in winbond_gpio_imatch() 626 params.gpios &= ~gpios_rem; in winbond_gpio_imatch() 675 winbond_gpio_chip.ngpio = hweight_long(params.gpios) * 8; in winbond_gpio_iprobe() 681 if (params.gpios & BIT(5)) in winbond_gpio_iprobe() 704 module_param_named(gpios, params.gpios, ulong, 0444); [all …]
|
| A D | gpio-adp5520.c | 95 int ret, i, gpios; in adp5520_gpio_probe() local 114 for (gpios = 0, i = 0; i < ADP5520_MAXGPIOS; i++) in adp5520_gpio_probe() 116 dev->lut[gpios++] = 1 << i; in adp5520_gpio_probe() 118 if (gpios < 1) in adp5520_gpio_probe() 129 gc->ngpio = gpios; in adp5520_gpio_probe()
|
| /drivers/mtd/maps/ |
| A D | physmap-core.c | 61 struct gpio_descs *gpios; member 130 for (i = 0; i < info->gpios->ndescs; i++) { in physmap_set_addr_gpios() 134 gpiod_set_value(info->gpios->desc[i], !!(BIT(i) & ofs)); in physmap_set_addr_gpios() 479 info->gpios = devm_gpiod_get_array_optional(&dev->dev, "addr", in physmap_flash_probe() 481 if (IS_ERR(info->gpios)) in physmap_flash_probe() 482 return PTR_ERR(info->gpios); in physmap_flash_probe() 484 if (info->gpios && info->nmaps > 1) { in physmap_flash_probe() 523 (info->gpios ? in physmap_flash_probe() 524 info->gpios->ndescs : 0)); in physmap_flash_probe() 528 if (info->gpios) { in physmap_flash_probe()
|
| /drivers/iio/amplifiers/ |
| A D | hmc425a.c | 63 struct gpio_descs *gpios; member 164 gpiod_multi_set_value_cansleep(st->gpios, values); in hmc425a_write() 370 st->gpios = devm_gpiod_get_array(&pdev->dev, "ctrl", GPIOD_OUT_LOW); in hmc425a_probe() 371 if (IS_ERR(st->gpios)) in hmc425a_probe() 372 return dev_err_probe(&pdev->dev, PTR_ERR(st->gpios), in hmc425a_probe() 375 if (st->gpios->ndescs != st->chip_info->num_gpios) { in hmc425a_probe()
|
| /drivers/platform/x86/intel/int3472/ |
| A D | discrete.c | 90 ret = skl_int3472_fill_gpiod_lookup(&int3472->gpios.table[int3472->n_sensor_gpios], in skl_int3472_map_gpio_to_sensor() 389 int3472->gpios.dev_id = int3472->sensor_name; in int3472_discrete_parse_crs() 390 gpiod_add_lookup_table(&int3472->gpios); in int3472_discrete_parse_crs() 398 gpiod_remove_lookup_table(&int3472->gpios); in int3472_discrete_cleanup() 440 int3472 = devm_kzalloc(&pdev->dev, struct_size(int3472, gpios.table, in skl_int3472_discrete_probe() 462 INIT_LIST_HEAD(&int3472->gpios.list); in skl_int3472_discrete_probe()
|
| /drivers/i2c/muxes/ |
| A D | i2c-mux-gpio.c | 23 struct gpio_desc **gpios; member 32 gpiod_set_array_value_cansleep(mux->ngpios, mux->gpios, NULL, values); in i2c_mux_gpio_set() 162 array_size(ngpios, sizeof(*mux->gpios)), 0, in i2c_mux_gpio_probe() 168 mux->gpios = muxc->priv; in i2c_mux_gpio_probe() 200 mux->gpios[i] = gpiod; in i2c_mux_gpio_probe()
|
| /drivers/bus/ |
| A D | ts-nbus.c | 129 struct gpio_descs *gpios = ts_nbus->data; in ts_nbus_read_byte() local 134 ret = gpiod_get_value_cansleep(gpios->desc[i]); in ts_nbus_read_byte() 149 struct gpio_descs *gpios = ts_nbus->data; in ts_nbus_write_byte() local 154 gpiod_set_array_value_cansleep(8, gpios->desc, gpios->info, values); in ts_nbus_write_byte()
|
| /drivers/net/wireless/microchip/wilc1000/ |
| A D | spi.c | 52 } gpios; member 167 struct wilc_gpios *gpios = &spi_priv->gpios; in wilc_parse_gpios() local 173 if (gpios->enable) { in wilc_parse_gpios() 175 gpios->reset = devm_gpiod_get(&spi->dev, in wilc_parse_gpios() 177 if (IS_ERR(gpios->reset)) { in wilc_parse_gpios() 179 return PTR_ERR(gpios->reset); in wilc_parse_gpios() 191 struct wilc_gpios *gpios = &spi_priv->gpios; in wilc_wlan_power() local 195 gpiod_set_value(gpios->enable, 1); in wilc_wlan_power() 198 gpiod_set_value(gpios->reset, 0); in wilc_wlan_power() 201 gpiod_set_value(gpios->reset, 1); in wilc_wlan_power() [all …]
|
| /drivers/iio/adc/ |
| A D | ad7266.c | 38 struct gpio_desc *gpios[3]; member 118 gpiod_set_value(st->gpios[i], (bool)(nr & BIT(i))); in ad7266_select_input() 408 for (i = 0; i < ARRAY_SIZE(st->gpios); ++i) { in ad7266_probe() 409 st->gpios[i] = devm_gpiod_get(&spi->dev, in ad7266_probe() 412 if (IS_ERR(st->gpios[i])) { in ad7266_probe() 413 ret = PTR_ERR(st->gpios[i]); in ad7266_probe()
|
| /drivers/pinctrl/starfive/ |
| A D | pinctrl-starfive-jh7100.c | 208 struct pinctrl_gpio_range gpios; member 219 return pin - sfp->gpios.pin_base; in starfive_pin_to_gpio() 225 return sfp->gpios.pin_base + gpio; in starfive_gpio_to_pin() 1033 sfp->gpios.name = sfp->gc.label; in starfive_gpio_add_pin_ranges() 1034 sfp->gpios.base = sfp->gc.base; in starfive_gpio_add_pin_ranges() 1039 sfp->gpios.npins = NR_GPIOS; in starfive_gpio_add_pin_ranges() 1040 sfp->gpios.gc = &sfp->gc; in starfive_gpio_add_pin_ranges() 1279 sfp->gpios.pin_base = PAD_INVALID_GPIO; in starfive_probe() 1282 sfp->gpios.pin_base = PAD_GPIO(0); in starfive_probe() 1285 sfp->gpios.pin_base = PAD_FUNC_SHARE(72); in starfive_probe() [all …]
|
| /drivers/pinctrl/qcom/ |
| A D | pinctrl-qdf2xxx.c | 40 u8 gpios[MAX_GPIOS]; /* An array of supported GPIOs */ in qdf2xxx_pinctrl_probe() local 70 ret = device_property_read_u8_array(&pdev->dev, "gpios", gpios, in qdf2xxx_pinctrl_probe() 98 unsigned int gpio = gpios[i]; in qdf2xxx_pinctrl_probe()
|