| /kernel/linux/linux-6.6/drivers/base/power/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/base/power/ |
| 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 * @irq: Device wake-up capable interrupt 16 * @wirq: Wake irq specific data 19 * dedicated wake-up interrupt as a wake IRQ. 21 static int dev_pm_attach_wake_irq(struct device *dev, int irq, in dev_pm_attach_wake_irq() argument 27 return -EINVAL; in dev_pm_attach_wake_irq() 29 spin_lock_irqsave(&dev->power.lock, flags); in dev_pm_attach_wake_irq() 30 if (dev_WARN_ONCE(dev, dev->power.wakeirq, in dev_pm_attach_wake_irq() [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| 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 …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/arm/ |
| D | atmel-sysregs.txt | 4 - compatible: Should be "atmel,sama5d2-chipid" 5 - reg : Should contain registers location and length 8 - compatible: Should be "atmel,at91sam9260-pit" 9 - reg: Should contain registers location and length 10 - interrupts: Should contain interrupt for the PIT which is the IRQ line 14 - compatible: Should be "microchip,sam9x60-pit64b" 15 - reg: Should contain registers location and length 16 - interrupts: Should contain interrupt for PIT64B timer 17 - clocks: Should contain the available clock sources for PIT64B timer. 20 - compatible: Should be "atmel,at91rm9200-st", "syscon", "simple-mfd" [all …]
|
| /kernel/linux/linux-6.6/drivers/phy/motorola/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/phy/motorola/ |
| 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 …]
|
| /kernel/linux/linux-5.10/Documentation/power/ |
| 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 …]
|
| /kernel/linux/linux-6.6/Documentation/power/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/soc/qcom/ |
| D | rpmh-rsc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. 24 #include <soc/qcom/cmd-db.h> 26 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 28 #include "rpmh-internal.h" 31 #include "trace-rpmh.h" 91 * - The main rpmh-rsc address is the base of a register space that can 93 * (DRV_PRNT_CHLD_CONFIG). Also found within the rpmh-rsc register 95 * specified in the device tree by "qcom,tcs-offset" and used to 97 * - TCS blocks come one after another. Type, count, and order are [all …]
|
| /kernel/linux/linux-6.6/drivers/soc/qcom/ |
| 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/net/ |
| D | smsc911x.txt | 1 * Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller 4 - compatible : Should be "smsc,lan<model>", "smsc,lan9115" 5 - reg : Address and length of the io space for SMSC LAN 6 - interrupts : one or two interrupt specifiers 7 - The first interrupt is the SMSC LAN interrupt line 8 - The second interrupt (if present) is the PME (power 9 management event) interrupt that is able to wake up the host 11 - phy-mode : See ethernet.txt file in the same directory 14 - reg-shift : Specify the quantity to shift the register offsets by 15 - reg-io-width : Specify the size (in bytes) of the IO accesses that [all …]
|
| D | btusb.txt | 2 --------------------------------------------------- 6 - compatible : should comply with the format "usbVID,PID" specified in 7 Documentation/devicetree/bindings/usb/usb-device.txt 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 …]
|
| /kernel/linux/linux-6.6/drivers/soc/xilinx/ |
| 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 */ 48 * struct agent_cb - Registered callback function and private data. 60 * struct registered_event_data - Registered Event Data. 61 * @key: key is the combine id(Node-Id | Event-Id) of type u64 62 * where upper u32 for Node-Id and lower u32 for Event-Id, [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/net/ |
| 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 …]
|
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/input/touchscreen/ |
| D | egalax_ts.c | 1 // SPDX-License-Identifier: GPL-2.0 14 - auto idle mode support 21 #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 …]
|
| /kernel/linux/linux-5.10/drivers/rtc/ |
| D | rtc-bd70528.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 #include <linux/mfd/rohm-bd70528.h> 9 #include <linux/mfd/rohm-bd71828.h> 66 ret = regmap_read(bd70528->regmap, BD70528_REG_WAKE_EN, &ctrl_reg); in bd70528_set_wake() 85 return regmap_write(bd70528->regmap, BD70528_REG_WAKE_EN, in bd70528_set_wake() 98 * Is the timeout registers counting down, or is the disable - re-enable in bd70528_set_elapsed_tmr() 99 * going to restart the elapsed-time counting? If counting is restarted in bd70528_set_elapsed_tmr() 107 ret = regmap_read(bd70528->regmap, BD70528_REG_ELAPSED_TIMER_EN, in bd70528_set_elapsed_tmr() 127 return regmap_write(bd70528->regmap, BD70528_REG_ELAPSED_TIMER_EN, in bd70528_set_elapsed_tmr() 136 ret = bd70528_wdt_set(r->parent, new_state & BD70528_WDT_STATE_BIT, in bd70528_set_rtc_based_timers() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpio/ |
| D | gpio-brcmstb.c | 2 * Copyright (C) 2015-2017 Broadcom 4 * This program is free software; you can redistribute it and/or 71 #define GPIO_BIT(gpio) ((gpio) & (MAX_GPIO_PER_BANK - 1)) 77 return bank->parent_priv; in brcmstb_gpio_gc_to_priv() 83 void __iomem *reg_base = bank->parent_priv->reg_base; in __brcmstb_gpio_get_active_irqs() 85 return bank->gc.read_reg(reg_base + GIO_STAT(bank->id)) & in __brcmstb_gpio_get_active_irqs() 86 bank->gc.read_reg(reg_base + GIO_MASK(bank->id)); in __brcmstb_gpio_get_active_irqs() 95 spin_lock_irqsave(&bank->gc.bgpio_lock, flags); in brcmstb_gpio_get_active_irqs() 97 spin_unlock_irqrestore(&bank->gc.bgpio_lock, flags); in brcmstb_gpio_get_active_irqs() 105 return hwirq - (bank->gc.base - bank->parent_priv->gpio_base); in brcmstb_gpio_hwirq_to_offset() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/input/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/char/tpm/ |
| 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. 66 cr50_phy->irq_confirmed = true; in cr50_spi_irq_handler() 67 complete(&cr50_phy->spi_phy.ready); in cr50_spi_irq_handler() 78 unsigned long allowed_access = phy->last_access + phy->access_delay; in cr50_ensure_access_delay() 80 struct device *dev = &phy->spi_phy.spi_device->dev; in cr50_ensure_access_delay() [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/apple/ |
| D | mace.c | 1 // SPDX-License-Identifier: GPL-2.0-only 30 static int port_aaui = -1; 86 static irqreturn_t mace_interrupt(int irq, void *dev_id); 87 static irqreturn_t mace_txdma_intr(int irq, void *dev_id); 88 static irqreturn_t mace_rxdma_intr(int irq, void *dev_id); 96 * 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 …]
|
| /kernel/linux/linux-6.6/drivers/net/ethernet/apple/ |
| 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 …]
|