= container_of(resmon, struct pass_resource, resmon);;
int ret = 0;
- if (!monitor->result)
- return false;
-
/* Collect resource data according to enum resmon_src_type */
if (monitor->ops && monitor->ops->timer_handler) {
ret = monitor->ops->timer_handler(monitor, monitor->result);
/* Get instance of struct resmon_ops according to resmon_src_type */
monitor->ops = resmon_get_ops(src_type);
- if (!monitor->ops) {
- ret = -EINVAL;
- goto err;
- }
/* Add timer-based resource monitor */
ret = resmon_timer_add(monitor, timer_interval);
int fd;
int i;
+ if (!monitor->ops) {
+ _E("failed to add the udev-monitor\n");
+ return -EINVAL;
+ }
+
/* Initialize the udev-monitor instance and set buffer size */
udev_monitor = udev_monitor_new_from_netlink(g_udev, "kernel");
if (!udev_monitor) {
* Invoke the .init of each RESMON_SRC_* source
* before enabling the udev monitoring.
*/
- if (monitor->ops && monitor->ops->init) {
+ if (monitor->ops->init) {
ret = monitor->ops->init(monitor);
if (ret < 0) {
_E("failed to invoke .init of resmon source " \
/* Get instance of struct resmon_ops according to resmon_src_type */
monitor->ops = resmon_get_ops(src_type);
- if (!monitor->ops) {
- _E("failed to get resmon_ops (res_name: %s, type: 0x%x)\n",
- res->config_data.res_name, src_type);
- ret = -EINVAL;
- goto err;
- }
/* Add uevent-based resource monitor */
ret = resmon_uevent_add(monitor);