/linux/drivers/base/power/ |
H A D | wakeirq.c | 1 // SPDX-License-Identifier: GPL-2.0 5 #include <linux/irq.h> 13 * dev_pm_attach_wake_irq - Attach device interrupt as a wake IRQ 15 * @wirq: Wake irq specific data 17 * Internal function to attach a dedicated wake-up interrupt as a wake IRQ. 24 return -EINVAL; in dev_pm_attach_wake_irq() 26 spin_lock_irqsave(&dev->power.lock, flags); in dev_pm_attach_wake_irq() 27 if (dev_WARN_ONCE(dev, dev->power.wakeirq, in dev_pm_attach_wake_irq() 28 "wake irq already initialized\n")) { in dev_pm_attach_wake_irq() 29 spin_unlock_irqrestore(&dev->power.lock, flags); in dev_pm_attach_wake_irq() [all …]
|
/linux/include/linux/ |
H A D | lis3lv02d.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 * struct lis3lv02d_platform_data - lis3 chip family platform data 14 * @irq_cfg: On chip irq source and type configuration (click / 15 * data available / wake up, open drain, polarity) 16 * @irq_flags1: Additional irq triggering flags for irq channel 0 17 * @irq_flags2: Additional irq triggering flags for irq channel 1 18 * @duration1: Wake up unit 1 duration parameter 19 * @duration2: Wake up unit 2 duration parameter 20 * @wakeup_flags: Wake up unit 1 flags 21 * @wakeup_thresh: Wake up unit 1 threshold value [all …]
|
/linux/Documentation/devicetree/bindings/input/ |
H A D | gpio-keys.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/input/gpio-keys.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rob Herring <robh@kernel.org> 15 - gpio-keys 16 - gpio-keys-polled 23 poll-interval: true 26 …"^(button|event|key|switch|(button|event|key|switch)-[a-z0-9-]+|[a-z0-9-]+-(button|event|key|switc… 35 - items: [all …]
|
H A D | atmel,maxtouch.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Nick Dyer <nick@shmanahar.org> 11 - Linus Walleij <linus.walleij@linaro.org> 18 - $ref: input.yaml# 30 vdda-supply: 34 vdd-supply: 38 reset-gpios: 45 wake-gpios: [all …]
|
/linux/drivers/phy/motorola/ |
H A D | phy-mapphone-mdm6600.c | 1 // SPDX-License-Identifier: GPL-2.0 35 PHY_MDM6600_MODE0, /* out USB mode0 and OOB wake */ 36 PHY_MDM6600_MODE1, /* out USB mode1, in OOB wake */ 111 struct gpio_desc *enable_gpio = ddata->ctrl_gpios[PHY_MDM6600_ENABLE]; in phy_mdm6600_init() 113 if (!ddata->enabled) in phy_mdm6600_init() 114 return -EPROBE_DEFER; in phy_mdm6600_init() 124 struct gpio_desc *enable_gpio = ddata->ctrl_gpios[PHY_MDM6600_ENABLE]; in phy_mdm6600_power_on() 126 if (!ddata->enabled) in phy_mdm6600_power_on() 127 return -ENODEV; in phy_mdm6600_power_on() 132 if (pm_runtime_enabled(&x->dev)) in phy_mdm6600_power_on() [all …]
|
/linux/Documentation/power/ |
H A D | suspend-and-interrupts.rst | 10 ----------------------------------- 14 ->prepare, ->suspend and ->suspend_late callbacks have been executed for all 29 Device IRQs are re-enabled during system resume, right before the "early" phase 30 of resuming devices (that is, before starting to execute ->resume_early 35 ------------------------ 37 There are interrupts that can legitimately trigger during the entire system 38 suspend-resume cycle, including the "noirq" phases of suspending and resuming 41 but also to IPIs and to some other special-purpose interrupts. 43 The IRQF_NO_SUSPEND flag is used to indicate that to the IRQ subsystem when 44 requesting a special-purpose interrupt. It causes suspend_device_irqs() to [all …]
|
/linux/drivers/soc/qcom/ |
H A D | rpmh-rsc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 4 * Copyright (c) 2023-2024, Qualcomm Innovation Center, Inc. All rights reserved. 31 #include <soc/qcom/cmd-db.h> 33 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 35 #include "rpmh-internal.h" 38 #include "trace-rpmh.h" 99 * - The main rpmh-rsc address is the base of a register space that can 101 * (DRV_PRNT_CHLD_CONFIG). Also found within the rpmh-rsc register 103 * specified in the device tree by "qcom,tcs-offset" and used to [all …]
|
/linux/drivers/gpu/drm/ |
H A D | drm_vblank_work.c | 1 // SPDX-License-Identifier: MIT 15 * Many DRM drivers need to program hardware in a time-sensitive manner, many 18 * simply do said time-sensitive programming in the driver's IRQ handler, 21 * time-critical programming independently of the CPU. 24 * doesn't need to be concerned with extremely time-sensitive programming, 25 * there's a few situations where it can't be helped. Some unforgiving 26 * hardware may require that certain time-sensitive programming be handled 28 * handle in an IRQ handler. Another such situation would be where the driver 30 * period, but might possibly block and thus cannot be handled in an IRQ 31 * context. Both of these situations can't be solved perfectly in Linux since [all …]
|
/linux/drivers/soc/xilinx/ |
H A D | xlnx_event_manager.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include <linux/firmware/xlnx-event-manager.h> 13 #include <linux/firmware/xlnx-zynqmp.h> 16 #include <linux/irq.h> 26 static int event_manager_availability = -EACCES; 31 /* Max number of driver can register for same event */ 47 * struct agent_cb - Registered callback function and private data. 59 * struct registered_event_data - Registered Event Data. 60 * @key: key is the combine id(Node-Id | Event-Id) of type u64 61 * where upper u32 for Node-Id and lower u32 for Event-Id, [all …]
|
/linux/drivers/gpio/ |
H A D | gpio-nomadik.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * managing 32 pins with alternate functions. It can also handle the STA2X11 7 * The GPIO chips are shared with pinctrl-nomadik if used; it needs access for 10 * This driver also handles the mobileye,eyeq5-gpio compatible. It is an STA2X11 13 * wake and alternate function registers. It is NOT compatible with 14 * pinctrl-nomadik. 19 * Copyright (C) 2011-2013 Linus Walleij <linus.walleij@linaro.org> 35 #include <linux/gpio/gpio-nomadik.h> 47 if (WARN_ON(nmk_chip->is_mobileye_soc)) in __nmk_gpio_set_slpm() 50 slpm = readl(nmk_chip->addr + NMK_GPIO_SLPC); in __nmk_gpio_set_slpm() [all …]
|
H A D | gpio-brcmstb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright (C) 2015-2017 Broadcom 60 #define GPIO_BIT(gpio) ((gpio) & (MAX_GPIO_PER_BANK - 1)) 66 return bank->parent_priv; in brcmstb_gpio_gc_to_priv() 72 void __iomem *reg_base = bank->parent_priv->reg_base; in __brcmstb_gpio_get_active_irqs() 74 return bank->gc.read_reg(reg_base + GIO_STAT(bank->id)) & in __brcmstb_gpio_get_active_irqs() 75 bank->gc.read_reg(reg_base + GIO_MASK(bank->id)); in __brcmstb_gpio_get_active_irqs() 84 raw_spin_lock_irqsave(&bank->gc.bgpio_lock, flags); in brcmstb_gpio_get_active_irqs() 86 raw_spin_unlock_irqrestore(&bank->gc.bgpio_lock, flags); in brcmstb_gpio_get_active_irqs() 94 return hwirq - bank->gc.offset; in brcmstb_gpio_hwirq_to_offset() [all …]
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | btusb.txt | 2 --------------------------------------------------- 6 - compatible : should comply with the format "usbVID,PID" specified in 7 Documentation/devicetree/bindings/usb/usb-device.yaml 13 "usb4ca,301a" (Qualcomm QCA6174A (Lite-On)) 17 Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt 21 - interrupt-names: (see below) 22 - interrupts : The interrupt specified by the name "wakeup" is the interrupt 23 that shall be used for out-of-band wake-on-bt. Driver will 25 irq will be enabled so that the bluetooth chip can wakeup host 26 platform out of band. During system resume, the irq will be [all …]
|
H A D | smsc,lan9115.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller 10 - Shawn Guo <shawnguo@kernel.org> 13 - $ref: ethernet-controller.yaml# 18 - const: smsc,lan9115 19 - items: 20 - enum: 21 - smsc,lan89218 [all …]
|
/linux/drivers/net/ethernet/apple/ |
H A D | mace.c | 1 // SPDX-License-Identifier: GPL-2.0-only 29 static int port_aaui = -1; 85 static irqreturn_t mace_interrupt(int irq, void *dev_id); 86 static irqreturn_t mace_txdma_intr(int irq, void *dev_id); 87 static irqreturn_t mace_rxdma_intr(int irq, void *dev_id); 95 * If we can't get a skbuff when we need it, we use this area for DMA. 115 int j, rev, rc = -EBUSY; in mace_probe() 118 printk(KERN_ERR "can't use MACE %pOF: need 3 addrs and 3 irqs\n", in mace_probe() 120 return -ENODEV; in mace_probe() 123 addr = of_get_property(mace, "mac-address", NULL); in mace_probe() [all …]
|
/linux/drivers/extcon/ |
H A D | extcon-axp288.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * extcon-axp288.c - X-Power AXP288 PMIC extcon cable detection driver 5 * Copyright (c) 2017-2018 Hans de Goede <hdegoede@redhat.com> 19 #include <linux/extcon-provider.h> 26 #include <asm/intel-family.h> 102 int irq[EXTCON_IRQ_END]; member 117 "Last wake caused by user pressing the power button", 118 "Last wake caused by a charger insertion", 119 "Last wake caused by a battery insertion", 120 "Last wake caused by SOC initiated global reset", [all …]
|
/linux/drivers/char/tpm/ |
H A D | tpm_tis_spi_cr50.c | 1 // SPDX-License-Identifier: GPL-2.0 23 * - can go to sleep not earlier than after CR50_SLEEP_DELAY_MSEC. 24 * - needs up to CR50_WAKE_START_DELAY_USEC to wake after sleep. 25 * - requires waiting for "ready" IRQ, if supported; or waiting for at least 26 * CR50_NOIRQ_ACCESS_DELAY_MSEC between transactions, if IRQ is not supported. 27 * - waits for up to CR50_FLOW_CONTROL for flow control 'ready' indication. 69 cr50_phy->irq_confirmed = true; in cr50_spi_irq_handler() 70 complete(&cr50_phy->spi_phy.ready); in cr50_spi_irq_handler() 81 unsigned long allowed_access = phy->last_access + phy->access_delay; in cr50_ensure_access_delay() 83 struct device *dev = &phy->spi_phy.spi_device->dev; in cr50_ensure_access_delay() [all …]
|
/linux/drivers/input/touchscreen/ |
H A D | egalax_ts.c | 1 // SPDX-License-Identifier: GPL-2.0 14 - auto idle mode support 22 #include <linux/irq.h> 31 * which can only report one point at a given time. 64 static irqreturn_t egalax_ts_interrupt(int irq, void *dev_id) in egalax_ts_interrupt() argument 67 struct input_dev *input_dev = ts->input_dev; in egalax_ts_interrupt() 68 struct i2c_client *client = ts->client; in egalax_ts_interrupt() 77 } while (ret == -EAGAIN && tries++ < EGALAX_MAX_TRIES); in egalax_ts_interrupt() 97 dev_dbg(&client->dev, "point invalid\n"); in egalax_ts_interrupt() 104 dev_dbg(&client->dev, "%s id:%d x:%d y:%d z:%d", in egalax_ts_interrupt() [all …]
|
/linux/Documentation/devicetree/bindings/iio/accel/ |
H A D | lis302.txt | 8 - compatible: should be set to "st,lis3lv02d-spi" 9 - reg: the chipselect index 10 - spi-max-frequency: maximal bus speed, should be set to 1000000 unless 12 - interrupts: the interrupt generated by the device 15 - compatible: should be set to "st,lis3lv02d" 16 - reg: i2c slave address 17 - Vdd-supply: The input supply for Vdd 18 - Vdd_IO-supply: The input supply for Vdd_IO 23 - st,click-single-{x,y,z}: if present, tells the device to issue an 26 - st,click-double-{x,y,z}: if present, tells the device to issue an [all …]
|
/linux/Documentation/devicetree/bindings/rtc/ |
H A D | isil,isl12057.txt | 8 ("wakeup-source") to handle the specific use-case found 9 on at least three in-tree users of the chip (NETGEAR ReadyNAS 102, 104 10 and 2120 ARM-based NAS); On those devices, the IRQ#2 pin of the chip 14 get access to the 'wakealarm' sysfs entry, this specific property can 15 be set when the IRQ#2 pin of the chip is not connected to the SoC but 16 can wake up the device. 20 - "compatible": must be "isil,isl12057" 21 - "reg": I2C bus address of the device 25 - "wakeup-source": mark the chip as a wakeup source, independently of 26 the availability of an IRQ line connected to the SoC. [all …]
|
/linux/arch/arm/mach-omap2/ |
H A D | prm3xxx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2010-2012 Texas Instruments, Inc. 16 #include <linux/irq.h> 26 #include "prm-regbits-34xx.h" 28 #include "cm-regbits-34xx.h" 48 .irq = 11 + OMAP_INTC_START, 57 * omap3_prm_reset_src_map - map from bits in the PRM_RSTST hardware 59 * bit shifts (which is an OMAP SoC-independent enumeration) 74 { -1, -1 }, 80 * struct omap3_vp - OMAP3 VP register access description. [all …]
|
/linux/Documentation/devicetree/bindings/net/wireless/ |
H A D | brcm,bcm4329-fmac.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/net/wireless/brcm,bcm4329-fmac.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Arend van Spriel <arend@broadcom.com> 19 - $ref: ieee80211.yaml# 24 - items: 25 - enum: 26 - brcm,bcm43143-fmac 27 - brcm,bcm4341b0-fmac [all …]
|
/linux/kernel/irq/ |
H A D | handle.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar 4 * Copyright (C) 2005-2006, Thomas Gleixner, Russell King 7 * information is available in Documentation/core-api/genericirq.rst 11 #include <linux/irq.h> 19 #include <trace/events/irq.h> 28 * handle_bad_irq - handle spurious and unhandled irqs 31 * Handles spurious and unhandled IRQ's. It also prints a debugmessage. 35 unsigned int irq = irq_desc_get_irq(desc); in handle_bad_irq() local 37 print_irq_desc(irq, desc); in handle_bad_irq() [all …]
|
/linux/drivers/mfd/ |
H A D | wm831x-irq.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * wm831x-irq.c -- Interrupt controller support for Wolfson WM831x PMICs 13 #include <linux/irq.h> 21 #include <linux/mfd/wm831x/irq.h> 321 return WM831X_INTERRUPT_STATUS_1 - 1 + irq_data->reg; in irq_data_to_status_reg() 325 int irq) in irq_to_wm831x_irq() argument 327 return &wm831x_irqs[irq]; in irq_to_wm831x_irq() 334 mutex_lock(&wm831x->irq_lock); in wm831x_irq_lock() 342 for (i = 0; i < ARRAY_SIZE(wm831x->gpio_update); i++) { in wm831x_irq_sync_unlock() 343 if (wm831x->gpio_update[i]) { in wm831x_irq_sync_unlock() [all …]
|
/linux/sound/ppc/ |
H A D | pmac.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 11 #include <asm/irq.h> 17 #include <linux/dma-mapping.h> 54 rec->space = dma_alloc_coherent(&chip->pdev->dev, rsize, in snd_pmac_dbdma_alloc() 55 &rec->dma_base, GFP_KERNEL); in snd_pmac_dbdma_alloc() 56 if (rec->space == NULL) in snd_pmac_dbdma_alloc() 57 return -ENOMEM; in snd_pmac_dbdma_alloc() 58 rec->size = size; in snd_pmac_dbdma_alloc() 59 memset(rec->space, 0, rsize); in snd_pmac_dbdma_alloc() 60 rec->cmds = (void __iomem *)DBDMA_ALIGN(rec->space); in snd_pmac_dbdma_alloc() [all …]
|
/linux/drivers/net/wwan/iosm/ |
H A D | iosm_ipc_pm.h | 1 /* SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020-21 Intel Corporation. 18 * union ipc_pm_cond - Conditions for D3 and the sleep message to CP. 20 * @irq: IRQ towards CP 28 unsigned int irq:1, member 35 * enum ipc_mem_host_pm_state - Possible states of the HOST SLEEP finite state 59 * enum ipc_mem_dev_pm_state - Possible states of the DEVICE SLEEP finite state 63 * IRQ(struct ipc_mem_device_info: 65 * and DOORBELL-IRQ-HPDA(data) values. 68 * @IPC_MEM_DEV_PM_WAKEUP: DOORBELL-IRQ-DEVICE_WAKE(data). [all …]
|