From 3e04abde30f335ec4b4d8e81d3525d774c72b3c2 Mon Sep 17 00:00:00 2001 From: Thomas Hindoe Paaboel Andersen Date: Tue, 17 Oct 2017 00:50:00 +0200 Subject: [PATCH] add function to remove capabilites --- src/libratbag-private.h | 4 ++++ src/libratbag.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/libratbag-private.h b/src/libratbag-private.h index dfb184c6..fb96c688 100644 --- a/src/libratbag-private.h +++ b/src/libratbag-private.h @@ -426,6 +426,10 @@ void ratbag_device_set_capability(struct ratbag_device *device, enum ratbag_device_capability cap); +void +ratbag_device_unset_capability(struct ratbag_device *device, + enum ratbag_device_capability cap); + static inline void ratbag_profile_set_drv_data(struct ratbag_profile *profile, void *drv_data) { diff --git a/src/libratbag.c b/src/libratbag.c index 53e29eeb..65185110 100644 --- a/src/libratbag.c +++ b/src/libratbag.c @@ -881,6 +881,16 @@ ratbag_device_set_capability(struct ratbag_device *device, long_set_bit(device->capabilities, cap); } +void +ratbag_device_unset_capability(struct ratbag_device *device, + enum ratbag_device_capability cap) +{ + if (cap == RATBAG_DEVICE_CAP_NONE || cap >= MAX_CAP) + abort(); + + long_clear_bit(device->capabilities, cap); +} + LIBRATBAG_EXPORT int ratbag_device_has_capability(const struct ratbag_device *device, enum ratbag_device_capability cap)