Bluetooth: hci_bcm: use gpiod cansleep version
Some GPIO controller drivers request sleepable context and so can't be accessed from IRQ context. Using gpiod_set/get_value accessors with such controller leads to a kernel warning since they are reserved for atomic context (according to the documentation). Use the postfixed _cansleep version instead, indicating that context is safe for sleeping if necessary. Note that this is the case here since we never toggle the gpio neither from IRQ nor from a spinlocked section. Signed-off-by: Loic Poulain <loic.poulain@linaro.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
8c59c264e5
commit
fb2d466be9
|
@ -908,13 +908,13 @@ static inline int bcm_apple_get_resources(struct bcm_device *dev)
|
||||||
|
|
||||||
static int bcm_gpio_set_device_wakeup(struct bcm_device *dev, bool awake)
|
static int bcm_gpio_set_device_wakeup(struct bcm_device *dev, bool awake)
|
||||||
{
|
{
|
||||||
gpiod_set_value(dev->device_wakeup, awake);
|
gpiod_set_value_cansleep(dev->device_wakeup, awake);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int bcm_gpio_set_shutdown(struct bcm_device *dev, bool powered)
|
static int bcm_gpio_set_shutdown(struct bcm_device *dev, bool powered)
|
||||||
{
|
{
|
||||||
gpiod_set_value(dev->shutdown, powered);
|
gpiod_set_value_cansleep(dev->shutdown, powered);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue