aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2016-09-20 15:15:21 +0300
committerLinus Walleij <linus.walleij@linaro.org>2016-09-23 14:49:50 +0200
commit79b804cb6af4f128b2c53f0887c02537a7eb5824 (patch)
tree7eac13032ae91d1d9d24d264fde22a654c744a57 /Documentation
parent29b4817d4018df78086157ea3a55c1d9424a7cfc (diff)
downloadnet-79b804cb6af4f128b2c53f0887c02537a7eb5824.tar.gz
gpiolib: Make it possible to exclude GPIOs from IRQ domain
When using GPIO irqchip helpers to setup irqchip for a gpiolib based driver, it is not possible to select which GPIOs to add to the IRQ domain. Instead it just adds all GPIOs which is not always desired. For example there might be GPIOs that for some reason cannot generated normal interrupts at all. To support this we add a flag irq_need_valid_mask to struct gpio_chip. When this flag is set the core allocates irq_valid_mask that holds one bit for each GPIO the chip has. By default all bits are set but drivers can manipulate this using set_bit() and clear_bit() accordingly. Then when gpiochip_irqchip_add() is called, this mask is checked and all GPIOs with bit is set are added to the IRQ domain created for the GPIO chip. Suggested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/gpio/driver.txt6
1 files changed, 6 insertions, 0 deletions
diff --git a/Documentation/gpio/driver.txt b/Documentation/gpio/driver.txt
index 6cb35a78eff4c5..368d5a294d8937 100644
--- a/Documentation/gpio/driver.txt
+++ b/Documentation/gpio/driver.txt
@@ -262,6 +262,12 @@ symbol:
to the container using container_of().
(See Documentation/driver-model/design-patterns.txt)
+ If there is a need to exclude certain GPIOs from the IRQ domain, one can
+ set .irq_need_valid_mask of the gpiochip before gpiochip_add_data() is
+ called. This allocates .irq_valid_mask with as many bits set as there are
+ GPIOs in the chip. Drivers can exclude GPIOs by clearing bits from this
+ mask. The mask must be filled in before gpiochip_irqchip_add() is called.
+
* gpiochip_set_chained_irqchip(): sets up a chained irq handler for a
gpio_chip from a parent IRQ and passes the struct gpio_chip* as handler
data. (Notice handler data, since the irqchip data is likely used by the
58'>chromeos-4.14__release/core61-58 Intel wireless group's fork of linux.gitIntel wireless group
aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-02-01 01:49:58 +0100
committerChromeBot <chrome-bot@google.com>2013-07-16 10:58:41 -0700
commitc11363035389d46a6c3b5c28549ff023cc424054 (patch)
tree5dea49c08de8d6a88f3987cb1ccfec762667bd24 /net
parent70152cad1b9e672effb7bb295a0aeb7bb05689a5 (diff)
downloadchromeos-c11363035389d46a6c3b5c28549ff023cc424054.tar.gz
UPSTREAM: cfg80211: pass wiphy to cfg80211_ref_bss/put_bss
Upstream commit 5b112d3d098c97b867cc580f590395cd1e72f18c. This prepares for using the spinlock instead of krefs which is needed in the next patch to track the refs of combined BSSes correctly. BUG=chrome-os-partner:20691 TEST=tested that connectivity works over ath9k and iwl7000 Change-Id: Ie5646e03d973c690775a0610a101916aa38917ff Acked-by: Bing Zhao <bzhao@marvell.com> [mwifiex] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Reviewed-on: https://gerrit.chromium.org/gerrit/59768 Reviewed-by: Paul Stewart <pstew@chromium.org>