/linux/sound/soc/ |
H A D | soc-jack.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // soc-jack.c -- ALSA SoC jack handling 20 * snd_soc_jack_report - Report the current status for a jack 33 void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask) in snd_soc_jack_report() 37 unsigned int sync = 0; in snd_soc_jack_report() 39 if (!jack || !jack->jack) in snd_soc_jack_report() 43 dapm = &jack->card->dapm; in snd_soc_jack_report() 45 mutex_lock(&jack->mutex); in snd_soc_jack_report() 47 jack->status &= ~mask; in snd_soc_jack_report() 48 jack->status |= status & mask; in snd_soc_jack_report() [all …]
|
/linux/drivers/watchdog/ |
H A D | mena21_wdt.c | 1 // SPDX-License-Identifier: GPL-2.0+ 34 struct gpio_desc *gpios[NUM_GPIOS]; member 42 static unsigned int a21_wdt_get_bootstatus(struct a21_wdt_drv *drv) in a21_wdt_get_bootstatus() 44 int reset = 0; in a21_wdt_get_bootstatus() 46 reset |= gpiod_get_value(drv->gpios[GPIO_WD_RST0]) ? (1 << 0) : 0; in a21_wdt_get_bootstatus() 47 reset |= gpiod_get_value(drv->gpios[GPIO_WD_RST1]) ? (1 << 1) : 0; in a21_wdt_get_bootstatus() 48 reset |= gpiod_get_value(drv->gpios[GPIO_WD_RST2]) ? (1 << 2) : 0; in a21_wdt_get_bootstatus() 53 static int a21_wdt_start(struct watchdog_device *wdt) in a21_wdt_start() 57 gpiod_set_value(drv->gpios[GPIO_WD_ENAB], 1); in a21_wdt_start() 62 static int a21_wdt_stop(struct watchdog_device *wdt) in a21_wdt_stop() [all …]
|
/linux/drivers/gpio/ |
H A D | gpiolib-of.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * Copyright (c) 2007-2008 MontaVista Software, Inc. 26 #include "gpiolib-of.h" 29 * This is Linux-specific flags. By default controllers' and Linux' mapping 31 * Linux-specific in their .xlate callback. Though, 1:1 mapping is recommended. 44 * of_gpio_named_count() - Count GPIOs for a device 45 * @np: device node to count GPIOs for 48 * The function returns the count of GPIOs specified for a node. 52 * Either number of GPIOs defined in the property, or 53 * * %-EINVAL for an incorrectly formed "gpios" property, or [all …]
|
H A D | gpio-winbond.c | 1 // SPDX-License-Identifier: GPL-2.0+ 132 unsigned long gpios; member 142 static int winbond_sio_enter(unsigned long base) in winbond_sio_enter() 145 return -EBUSY; in winbond_sio_enter() 206 * struct winbond_gpio_port_conflict - possibly conflicting device information 209 * is located (or WB_SIO_DEV_NONE - don't select any 226 * struct winbond_gpio_info - information about a particular GPIO port (device) 232 * @outputppbit: index of a push-pull output driver mode bit 351 static bool winbond_gpio_get_info(unsigned int *gpio_num, in winbond_gpio_get_info() 357 for_each_set_bit(i, ¶ms.gpios, BITS_PER_LONG) { in winbond_gpio_get_info() [all …]
|
H A D | gpiolib-swnode.c | 1 // SPDX-License-Identifier: GPL-2.0+ 23 #include "gpiolib-swnode.h" 25 #define GPIOLIB_SWNODE_UNDEFINED_NAME "swnode-gpio-undefined" 33 if (!gdev_node || !gdev_node->name) in swnode_get_gpio_device() 34 return ERR_PTR(-EINVAL); in swnode_get_gpio_device() 37 * Check for a special node that identifies undefined GPIOs, this is in swnode_get_gpio_device() 41 !strcmp(gdev_node->name, GPIOLIB_SWNODE_UNDEFINED_NAME)) in swnode_get_gpio_device() 42 return ERR_PTR(-ENOENT); in swnode_get_gpio_device() 44 gdev = gpio_device_find_by_label(gdev_node->name); in swnode_get_gpio_device() 45 return gdev ?: ERR_PTR(-EPROBE_DEFER); in swnode_get_gpio_device() [all …]
|
/linux/Documentation/driver-api/gpio/ |
H A D | consumer.rst | 8 Guidelines for GPIOs consumers 13 obtain and use GPIOs are available by including the following file:: 21 - Simple compile coverage with e.g. COMPILE_TEST - it does not matter that 25 - Truly optional GPIOLIB support - where the driver does not really make use 26 of the GPIOs on certain compile-time configurations for certain systems, but 27 will use it under other compile-time configurations. In this case the 35 All the functions that work with the descriptor-based GPIO interface are 42 Obtaining and Disposing GPIOs 45 With the descriptor-based interface, GPIOs are identified with an opaque, 46 non-forgeable handler that must be obtained through a call to one of the [all …]
|
/linux/drivers/pinctrl/qcom/ |
H A D | pinctrl-qdf2xxx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * device. The driver which controls this device is pinctrl-msm.c. Each 8 * with pinctrl-msm.c. This means that all TLMM drivers are pin control 11 * This pin control driver is intended to be used only an ACPI-enabled 14 * a GPIO-only driver. The alternative is to duplicate the GPIO code of 15 * pinctrl-msm.c into another driver. 23 #include "pinctrl-msm.h" 31 static int qdf2xxx_pinctrl_probe(struct platform_device *pdev) in qdf2xxx_pinctrl_probe() 37 unsigned int i; in qdf2xxx_pinctrl_probe() 39 unsigned int avail_gpios; /* The number of GPIOs we support */ in qdf2xxx_pinctrl_probe() [all …]
|
/linux/drivers/gpu/drm/panel/ |
H A D | panel-ronbo-rb070d30.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright (C) 2018-2019, Bridge Systems BV 4 * Copyright (C) 2018-2019, Bootlin 7 * This file based on panel-ilitek-ili9881c.c 15 #include <linux/media-bus-format.h> 37 } gpios; member 45 static int rb070d30_panel_prepare(struct drm_panel *panel) in rb070d30_panel_prepare() 48 int ret; in rb070d30_panel_prepare() 50 ret = regulator_enable(ctx->supply); in rb070d30_panel_prepare() 52 dev_err(&ctx->dsi->dev, "Failed to enable supply: %d\n", ret); in rb070d30_panel_prepare() [all …]
|
/linux/drivers/hsi/clients/ |
H A D | nokia-modem.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * nokia-modem.c 18 static unsigned int pm = 1; 19 module_param(pm, int, 0400); 30 int nokia_modem_rst_ind_irq; 32 struct nokia_modem_gpio *gpios; member 33 int gpio_amount; 45 dev_info(modem->device, "CMT rst line change detected\n"); in do_nokia_modem_rst_ind_tasklet() 47 if (modem->ssi_protocol) in do_nokia_modem_rst_ind_tasklet() 48 ssip_reset_event(modem->ssi_protocol); in do_nokia_modem_rst_ind_tasklet() [all …]
|
/linux/arch/arm/boot/dts/intel/ixp/ |
H A D | intel-ixp42x-goramo-multilink.dts | 1 // SPDX-License-Identifier: ISC 5 * - MultiLink Basic (a box) 6 * - MultiLink Max (19" rack mount) 9 * This is one of the few devices supporting the IXP4xx High-Speed Serial 14 /dts-v1/; 16 #include "intel-ixp42x.dtsi" 17 #include <dt-bindings/input/input.h> 21 compatible = "goramo,multilink-router", "intel,ixp42x"; 22 #address-cells = <1>; 23 #size-cells = <1>; [all …]
|
H A D | intel-ixp42x-linksys-nslu2.dts | 1 // SPDX-License-Identifier: ISC 6 /dts-v1/; 8 #include "intel-ixp42x.dtsi" 9 #include <dt-bindings/input/input.h> 14 #address-cells = <1>; 15 #size-cells = <1>; 25 stdout-path = "uart0:115200n8"; 33 compatible = "gpio-leds"; 34 led-status { 36 gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>; [all …]
|
H A D | intel-ixp42x-iomega-nas100d.dts | 1 // SPDX-License-Identifier: ISC 6 /dts-v1/; 8 #include "intel-ixp42x.dtsi" 9 #include <dt-bindings/input/input.h> 13 compatible = "iom,nas-100d", "intel,ixp42x"; 14 #address-cells = <1>; 15 #size-cells = <1>; 25 stdout-path = "uart0:115200n8"; 33 compatible = "gpio-leds"; 34 led-wlan { [all …]
|
H A D | intel-ixp42x-dlink-dsm-g600.dts | 1 // SPDX-License-Identifier: ISC 3 * Device Tree file for D-Link DSM-G600 revision A based on IXP420 11 /dts-v1/; 13 #include "intel-ixp42x.dtsi" 14 #include <dt-bindings/input/input.h> 17 model = "D-Link DSM-G600 rev A"; 18 compatible = "dlink,dsm-g600-a", "intel,ixp42x"; 19 #address-cells = <1>; 20 #size-cells = <1>; 30 stdout-path = "uart0:115200n8"; [all …]
|
H A D | intel-ixp42x-linksys-wrv54g.dts | 1 // SPDX-License-Identifier: ISC 9 /dts-v1/; 11 #include "intel-ixp42x.dtsi" 12 #include <dt-bindings/input/input.h> 17 #address-cells = <1>; 18 #size-cells = <1>; 28 stdout-path = "uart1:115200n8"; 39 compatible = "gpio-leds"; 40 led-power { 42 gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; [all …]
|
/linux/drivers/input/misc/ |
H A D | rotary_encoder.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 * See file:Documentation/input/devices/rotary-encoder.rst for more information 26 #define DRV_NAME "rotary-encoder" 44 unsigned int pos; 46 struct gpio_descs *gpios; member 48 unsigned int *irq; 51 signed char dir; /* 1 - clockwise, -1 - CCW */ 53 unsigned int last_stable; 56 static unsigned int rotary_encoder_get_state(struct rotary_encoder *encoder) in rotary_encoder_get_state() 58 int i; in rotary_encoder_get_state() [all …]
|
H A D | gpio_decoder.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/ 24 static int gpio_decoder_get_gpios_state(struct gpio_decoder *decoder) in gpio_decoder_get_gpios_state() 26 struct gpio_descs *gpios = decoder->input_gpios; in gpio_decoder_get_gpios_state() local 27 unsigned int ret = 0; in gpio_decoder_get_gpios_state() 28 int i, val; in gpio_decoder_get_gpios_state() 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() 33 dev_err(decoder->dev, in gpio_decoder_get_gpios_state() 35 desc_to_gpio(gpios->desc[i]), val); in gpio_decoder_get_gpios_state() [all …]
|
/linux/arch/arm64/boot/dts/freescale/ |
H A D | imx8mp-msc-sm2s-14N0600E.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 5 /dts-v1/; 7 #include "imx8mp-msc-sm2s.dtsi" 33 gbe0-int-hog { 34 gpio-hog; 36 gpios = <3 GPIO_ACTIVE_LOW>; 39 gbe1-int-hog { 40 gpio-hog; 42 gpios = <4 GPIO_ACTIVE_LOW>; 45 cam2-rst-hog { [all …]
|
/linux/include/sound/ |
H A D | soc-jack.h | 1 /* SPDX-License-Identifier: GPL-2.0 3 * soc-jack.h 12 * struct snd_soc_jack_pin - Describes a pin to update based on jack detection 16 * @invert: if non-zero then pin is enabled when status is not reported 22 int mask; 27 * struct snd_soc_jack_zone - Describes voltage zones of jack detection 37 unsigned int min_mv; 38 unsigned int max_mv; 39 unsigned int jack_type; 40 unsigned int debounce_time; [all …]
|
/linux/Documentation/devicetree/bindings/media/ |
H A D | samsung,s5c73m3.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 - Sylwester Nawrocki <s.nawrocki@samsung.com> 14 The S5C73M3 camera ISP supports MIPI CSI-2 and parallel (ITU-R BT.656) 31 clock-names: 33 - const: cis_extclk 35 clock-frequency: 39 standby-gpios: [all …]
|
/linux/arch/arm/boot/dts/aspeed/ |
H A D | aspeed-bmc-ufispace-ncplite.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/i2c/i2c.h> 7 #include <dt-bindings/gpio/aspeed-gpio.h> 11 compatible = "ufispace,ncplite-bmc", "aspeed,ast2600"; 18 stdout-path = &uart5; 27 iio-hwmon { 28 compatible = "iio-hwmon"; 29 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>, [all …]
|
/linux/Documentation/devicetree/bindings/net/bluetooth/ |
H A D | brcm,bluetooth.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Linus Walleij <linus.walleij@linaro.org> 13 This binding describes Broadcom UART-attached bluetooth chips. 18 - items: 19 - enum: 20 - infineon,cyw43439-bt 21 - const: brcm,bcm4329-bt 22 - enum: [all …]
|
/linux/arch/arm64/boot/dts/qcom/ |
H A D | msm8916-samsung-j5-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 #include "msm8916-pm8916.dtsi" 4 #include "msm8916-modem-qdsp6.dtsi" 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/input/input.h> 8 #include <dt-bindings/interrupt-controller/irq.h> 18 stdout-path = "serial0"; 21 reserved-memory { 23 tz-apps@85500000 { 25 no-map; [all …]
|
/linux/arch/arm/mach-pxa/ |
H A D | am300epd.c | 2 * am300epd.c -- Platform device for AM300 EPD kit 10 * This work was made possible by help and equipment support from E-Ink 14 * on the AM300 EPD prototype kit/development kit with an E-Ink 800x600 32 #include "mfp-pxa25x.h" 34 #include <linux/platform_data/video-pxafb.h> 40 static unsigned int panel_type = 6; 56 /* this is the 16-bit hdb bus 58-73 */ 94 static int gpios[] = { PWR_GPIO_PIN, CFG_GPIO_PIN, RDY_GPIO_PIN, DC_GPIO_PIN, variable 100 static int am300_wait_event(struct broadsheetfb_par *par) in am300_wait_event() 103 wait_event(par->waitq, gpio_get_value(RDY_GPIO_PIN)); in am300_wait_event() [all …]
|
/linux/drivers/pinctrl/renesas/ |
H A D | gpio.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * Copyright (C) 2009 - 2012 Paul Mundt 40 return chip->pfc; in gpio_to_pfc() 43 static void gpio_get_data_reg(struct sh_pfc_chip *chip, unsigned int offset, in gpio_get_data_reg() 45 unsigned int *bit) in gpio_get_data_reg() 47 int idx = sh_pfc_get_pin_index(chip->pfc, offset); in gpio_get_data_reg() 48 struct sh_pfc_gpio_pin *gpio_pin = &chip->pins[idx]; in gpio_get_data_reg() 50 *reg = &chip->regs[gpio_pin->dreg]; in gpio_get_data_reg() 51 *bit = gpio_pin->dbit; in gpio_get_data_reg() 57 phys_addr_t address = dreg->reg; in gpio_read_data_reg() [all …]
|
/linux/drivers/platform/x86/intel/int3472/ |
H A D | discrete.c | 1 // SPDX-License-Identifier: GPL-2.0 21 * 79234640-9e10-4fea-a5c1-b5aa8b19756f 36 * 822ace8f-2814-4174-a56b-5f029fe079ee 48 obj = acpi_evaluate_dsm_typed(int3472->sensor->handle, in skl_int3472_log_sensor_module_name() 52 dev_dbg(int3472->dev, "Sensor module id: '%s'\n", obj->string.pointer); in skl_int3472_log_sensor_module_name() 57 static int skl_int3472_fill_gpiod_lookup(struct gpiod_lookup *table_entry, in skl_int3472_fill_gpiod_lookup() 61 char *path = agpio->resource_source.string_ptr; in skl_int3472_fill_gpiod_lookup() 68 return -EINVAL; in skl_int3472_fill_gpiod_lookup() 72 return -ENODEV; in skl_int3472_fill_gpiod_lookup() 74 *table_entry = GPIO_LOOKUP(acpi_dev_name(adev), agpio->pin_table[0], con_id, gpio_flags); in skl_int3472_fill_gpiod_lookup() [all …]
|