util: resource: Enable updating resources with interest mask 69/270469/3
authorDongwoo Lee <dwoo08.lee@samsung.com>
Thu, 3 Feb 2022 06:31:33 +0000 (15:31 +0900)
committerDongwoo Lee <dwoo08.lee@samsung.com>
Thu, 3 Feb 2022 10:25:56 +0000 (19:25 +0900)
Change-Id: I0ea7b2b9bae7ad1c5291307581cbfae78004400f
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
include/util/resource.h
src/util/resource.c

index bae4314..49d7f45 100644 (file)
@@ -96,6 +96,7 @@ void delete_resource(struct resource *resource);
 
 int update_resource_attr(struct resource *resource, u_int64_t attr_id);
 int update_resource_attrs(struct resource *resource);
+int update_resource_attrs_interest(struct resource *resource, u_int64_t attr_interest_mask);
 struct resource_attribute_value *
 get_resource_attr_value(struct resource *resource, u_int64_t attr_id);
 int get_resource_attr_integer(struct resource *resource, u_int64_t attr_id);
index 73bf429..f164593 100644 (file)
@@ -143,7 +143,7 @@ int update_resource_attr(struct resource *resource, u_int64_t attr_id)
        return 0;
 }
 
-int update_resource_attrs(struct resource *resource)
+int update_resource_attrs_interest(struct resource *resource, u_int64_t interest_mask)
 {
        int i, ret;
 
@@ -151,6 +151,8 @@ int update_resource_attrs(struct resource *resource)
                return -EINVAL;
 
        for (i = 0; i < resource->num_attrs; i++) {
+               if (!(resource->attrs[i].id & interest_mask))
+                       continue;
                ret = update_resource_attr(resource, resource->attrs[i].id);
                if (ret < 0) {
                        _E("failed to update resource attr\n");
@@ -160,6 +162,11 @@ int update_resource_attrs(struct resource *resource)
        return 0;
 }
 
+int update_resource_attrs(struct resource *resource)
+{
+       return update_resource_attrs_interest(resource, RESOURCE_ATTR_MASK);
+}
+
 struct resource_attribute_value *
 get_resource_attr_value(struct resource *resource, u_int64_t attr_id)
 {