From 4538d03b364934e5b07f86a7d3efe7aecfb84b71 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Wed, 7 Oct 2015 16:22:48 -0400 Subject: [PATCH] hidraw: remove now useless storage of the udev hidraw node Signed-off-by: Benjamin Tissoires --- src/libratbag-hidraw.c | 44 ++++++++++++++---------------------------- src/libratbag-hidraw.h | 1 - 2 files changed, 14 insertions(+), 31 deletions(-) diff --git a/src/libratbag-hidraw.c b/src/libratbag-hidraw.c index 5955868d..0c01cf6d 100644 --- a/src/libratbag-hidraw.c +++ b/src/libratbag-hidraw.c @@ -133,41 +133,26 @@ out: return hidraw_udev; } -static int -ratbag_device_init_hidraw(struct ratbag_device *device) -{ - struct udev_device *hidraw_udev; - int rc = -ENODEV; - - hidraw_udev = udev_find_hidraw(device); - if (!hidraw_udev) - goto out; - - device->hidraw.udev_hidraw = udev_device_ref(hidraw_udev); - - log_debug(device->ratbag, - "%s is device '%s'.\n", - device->name, - udev_device_get_devnode(device->hidraw.udev_hidraw)); - - rc = 0; - udev_device_unref(hidraw_udev); -out: - return rc; -} - int ratbag_open_hidraw(struct ratbag_device *device) { struct hidraw_devinfo info; + struct udev_device *hidraw_udev; int fd, res; const char *devnode; - res = ratbag_device_init_hidraw(device); - if (res) - return res; + device->hidraw.fd = -1; - devnode = udev_device_get_devnode(device->hidraw.udev_hidraw); + hidraw_udev = udev_find_hidraw(device); + if (!hidraw_udev) + return -ENODEV; + + log_debug(device->ratbag, + "%s is device '%s'.\n", + device->name, + udev_device_get_devnode(hidraw_udev)); + + devnode = udev_device_get_devnode(hidraw_udev); fd = ratbag_open_path(device, devnode, O_RDWR); if (fd < 0) goto err; @@ -199,9 +184,11 @@ ratbag_open_hidraw(struct ratbag_device *device) ratbag_hidraw_parse_report_descriptor(device); } + udev_device_unref(hidraw_udev); return 0; err: + udev_device_unref(hidraw_udev); if (fd >= 0) ratbag_close_fd(device, fd); return -errno; @@ -226,9 +213,6 @@ ratbag_close_hidraw(struct ratbag_device *device) if (device->hidraw.fd < 0) return; - if (device->hidraw.udev_hidraw) - udev_device_unref(device->hidraw.udev_hidraw); - ratbag_close_fd(device, device->hidraw.fd); device->hidraw.fd = -1; diff --git a/src/libratbag-hidraw.h b/src/libratbag-hidraw.h index ac704457..80d2e24c 100644 --- a/src/libratbag-hidraw.h +++ b/src/libratbag-hidraw.h @@ -38,7 +38,6 @@ struct ratbag_hidraw { int fd; uint8_t *report_ids; unsigned num_report_ids; - struct udev_device *udev_hidraw; }; /**