Re: [BlueZ PATCH v7 0/6] device: Allow devices to be marked as wake capable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Abhishek,

On Mon, Jul 6, 2020 at 1:25 PM Abhishek Pandit-Subedi
<abhishekpandit@xxxxxxxxxxxx> wrote:
>
>
> Hi Luiz,
>
> This change accompanies a change in the kernel to allow marking devices
> as wakeable so they can wake the system from suspend. Currently, only
> HID devices support this and will be configured to allow this setting to
> be changed via the WakeAllowed property.
>
> Accompanying kernel change: https://patchwork.kernel.org/patch/11609999/
>
> In order to set this flag, Bluez must call Set Device Flags with the
> Remote Wakeup bit set. This change was tested with the accompanying
> kernel changes on v5.4 with both manual tests and automated tests.
>
> Here's the tests that I ran manually:
>   - Pair new HID device and confirm it has Wake Allowed to True
>   (default). Verify device can be woken from suspend with device.
>   - Restart bluetoothd, confirm Device Flags Changed event after Add
>   Device has no Remote Wakeup flag and Set Device Flags is called
>   afterwards to restore it. Verify wake from suspend still works.
>   - Disable Wake allowed via dbus and confirm wake from suspend no
>   longer works.
>   - Restart bluetoothd and confirm Wake Allowed is still false. Verify
>   wake from suspend does not work.
>
> Thanks
> Abhishek
>
> Changes in v7:
> * Fix more build issues reported by bluez.test.bot
>
> Changes in v6:
> * Fix up some build issues reported by bluez.test.bot
> * Save pending property id and emit success only after set flags returns
> * Ignore multiple calls to set_wake_allowed to the same value
> * Emit property error busy if same value is already sent to mgmt
> * Fix up build issues reported by bluez.test.bot
>
> Changes in v5:
> - Use device_flags mgmt op
> * Decode device flags
> * Refactor to use set_wake_flags and respond to device flags changed
> * Add wake_override so we can keep track of user/profile configuration
>   vs what is currently active
> * Only call device_set_wake_support
>
> Changes in v4:
> * Renamed wake_capable to wake_allowed
> * Removed set_wake_capable mgmt op and updated add_device to accept
>   flags to set whether a device is wakeable
> * Refactored adapter_whitelist_add and adapter_auto_connect_add to call
>   adapter_add_device
> * Renamed WakeCapable to WakeAllowed
> * Renamed WakeCapable to WakeAllowed
> * Renamed device_set_profile_wake_support to just
> device_set_wake_support
>
> Changes in v3:
> * Added profile_wake_support and made wake_capable dependent on it
> * Added documentation for WakeCapable
> * Mark HID device to support wake from suspend
>
> Changes in v2:
> * Added dbus api "WakeCapable" to set value
> * Update device_set_wake_capable to be called by
>   adapter_set_wake_capable_complete so we can emit property changed
> * Newly added to show whether device is wake capable
> * Removed automatically setting wake capable for HID devices
>
> Abhishek Pandit-Subedi (6):
>   mgmt: Add mgmt op and events for device flags
>   monitor: Decode device flags mgmt ops and event
>   device: Support marking a device with wake allowed
>   client: Display wake allowed property with info
>   doc/device-api: Add WakeAllowed
>   input: Make HID devices support wake
>
>  client/main.c           |   1 +
>  doc/device-api.txt      |   5 +
>  lib/mgmt.h              |  33 +++++++
>  monitor/packet.c        |  70 ++++++++++++++
>  profiles/input/device.c |   1 +
>  profiles/input/hog.c    |   1 +
>  src/adapter.c           |  93 ++++++++++++++++++
>  src/adapter.h           |   3 +-
>  src/device.c            | 210 ++++++++++++++++++++++++++++++++++++++++
>  src/device.h            |  10 ++
>  10 files changed, 426 insertions(+), 1 deletion(-)
>
> --
> 2.27.0.212.ge8ba1cc988-goog

Applied, thanks.

-- 
Luiz Augusto von Dentz



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux