diff mbox series

[libdrm,1/2] xf86drm: merge get_normal_pci_path() into get_real_pci_path()

Message ID 20180905123149.18117-1-eric.engestrom@intel.com (mailing list archive)
State New, archived
Headers show
Series [libdrm,1/2] xf86drm: merge get_normal_pci_path() into get_real_pci_path() | expand

Commit Message

Eric Engestrom Sept. 5, 2018, 12:31 p.m. UTC
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
---
 xf86drm.c | 25 ++++++++-----------------
 1 file changed, 8 insertions(+), 17 deletions(-)

Comments

Emil Velikov Sept. 5, 2018, 12:58 p.m. UTC | #1
Hi Eric,
On 5 September 2018 at 13:31, Eric Engestrom <eric.engestrom@intel.com> wrote:

> -static char *
> +static void
>  get_real_pci_path(int maj, int min, char *real_path)
>  {
>      char path[PATH_MAX + 1], *term;
>
>      snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device", maj, min);
> -    if (!realpath(path, real_path))
> -        return NULL;
> +    if (!realpath(path, real_path)) {
> +        strcpy(real_path, path);
> +        return;
> +    }
>
I'm slightly inclined towards squashing this with 2/2 since as-is the
function name is misleading.

Either way, for the lot:
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>

-Emil
diff mbox series

Patch

diff --git a/xf86drm.c b/xf86drm.c
index 7807dce9c7fbba6d74f7..649d400bcbc494ac04e6 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -2998,26 +2998,20 @@  static int drmParseSubsystemType(int maj, int min)
 #endif
 }
 
-static char *
+static void
 get_real_pci_path(int maj, int min, char *real_path)
 {
     char path[PATH_MAX + 1], *term;
 
     snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device", maj, min);
-    if (!realpath(path, real_path))
-        return NULL;
+    if (!realpath(path, real_path)) {
+        strcpy(real_path, path);
+        return;
+    }
 
     term = strrchr(real_path, '/');
     if (term && strncmp(term, "/virtio", 7) == 0)
         *term = 0;
-
-    return real_path;
-}
-
-static void
-get_normal_pci_path(int maj, int min, char *normal_path)
-{
-    snprintf(normal_path, PATH_MAX, "/sys/dev/char/%d:%d/device", maj, min);
 }
 
 static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info)
@@ -3027,8 +3021,7 @@  static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info)
     char real_path[PATH_MAX + 1], *value;
     int num;
 
-    if (get_real_pci_path(maj, min, real_path) == NULL)
-        get_normal_pci_path(maj, min, real_path);
+    get_real_pci_path(maj, min, real_path);
 
     value = sysfs_uevent_get(real_path, "PCI_SLOT_NAME");
     if (!value)
@@ -3148,8 +3141,7 @@  static int parse_separate_sysfs_files(int maj, int min,
     FILE *fp;
     int ret;
 
-    if (get_real_pci_path(maj, min, real_path) == NULL)
-        get_normal_pci_path(maj, min, real_path);
+    get_real_pci_path(maj, min, real_path);
 
     for (unsigned i = ignore_revision ? 1 : 0; i < ARRAY_SIZE(attrs); i++) {
         snprintf(path, PATH_MAX, "%s/%s", real_path, attrs[i]);
@@ -3180,8 +3172,7 @@  static int parse_config_sysfs_file(int maj, int min,
     unsigned char config[64];
     int fd, ret;
 
-    if (get_real_pci_path(maj, min, real_path) == NULL)
-        get_normal_pci_path(maj, min, real_path);
+    get_real_pci_path(maj, min, real_path);
 
     snprintf(path, PATH_MAX, "%s/config", real_path);
     fd = open(path, O_RDONLY);