git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
config: add pkgconfig for arm64
[dpdk.git]
/
drivers
/
bus
/
fslmc
/
fslmc_bus.c
diff --git
a/drivers/bus/fslmc/fslmc_bus.c
b/drivers/bus/fslmc/fslmc_bus.c
index
e3f5248
..
b3e964a
100644
(file)
--- a/
drivers/bus/fslmc/fslmc_bus.c
+++ b/
drivers/bus/fslmc/fslmc_bus.c
@@
-1,6
+1,6
@@
/* SPDX-License-Identifier: BSD-3-Clause
*
/* SPDX-License-Identifier: BSD-3-Clause
*
- * Copyright 2016,2018 NXP
+ * Copyright 2016,2018
-2019
NXP
*
*/
*
*/
@@
-235,8
+235,9
@@
rte_fslmc_parse(const char *name, void *addr)
{
uint16_t dev_id;
char *t_ptr;
{
uint16_t dev_id;
char *t_ptr;
- c
har *sep = NULL
;
+ c
onst char *sep
;
uint8_t sep_exists = 0;
uint8_t sep_exists = 0;
+ int ret = -1;
DPAA2_BUS_DEBUG("Parsing dev=(%s)", name);
DPAA2_BUS_DEBUG("Parsing dev=(%s)", name);
@@
-266,10
+267,11
@@
rte_fslmc_parse(const char *name, void *addr)
} else {
DPAA2_BUS_DEBUG("Invalid device for matching (%s).",
name);
} else {
DPAA2_BUS_DEBUG("Invalid device for matching (%s).",
name);
+ ret = -EINVAL;
goto err_out;
}
} else
goto err_out;
}
} else
- sep =
strdup(name)
;
+ sep =
name
;
jump_out:
/* Validate device name */
jump_out:
/* Validate device name */
@@
-283,23
+285,23
@@
jump_out:
strncmp("dpdmai", sep, 6) &&
strncmp("dpdmux", sep, 6)) {
DPAA2_BUS_DEBUG("Unknown or unsupported device (%s)", sep);
strncmp("dpdmai", sep, 6) &&
strncmp("dpdmux", sep, 6)) {
DPAA2_BUS_DEBUG("Unknown or unsupported device (%s)", sep);
+ ret = -EINVAL;
goto err_out;
}
t_ptr = strchr(sep, '.');
if (!t_ptr || sscanf(t_ptr + 1, "%hu", &dev_id) != 1) {
DPAA2_BUS_ERR("Missing device id in device name (%s)", sep);
goto err_out;
}
t_ptr = strchr(sep, '.');
if (!t_ptr || sscanf(t_ptr + 1, "%hu", &dev_id) != 1) {
DPAA2_BUS_ERR("Missing device id in device name (%s)", sep);
+ ret = -EINVAL;
goto err_out;
}
if (addr)
strcpy(addr, sep);
goto err_out;
}
if (addr)
strcpy(addr, sep);
- ret
urn
0;
+ ret
=
0;
err_out:
err_out:
- if (!sep_exists && sep)
- free(sep);
- return -EINVAL;
+ return ret;
}
static int
}
static int
@@
-324,8
+326,7
@@
rte_fslmc_scan(void)
goto scan_fail;
/* Scan devices on the group */
goto scan_fail;
/* Scan devices on the group */
- snprintf(fslmc_dirpath, sizeof(fslmc_dirpath), "%s/%d/devices",
- VFIO_IOMMU_GROUP_PATH, groupid);
+ sprintf(fslmc_dirpath, "%s/%s", SYSFS_FSL_MC_DEVICES, fslmc_container);
dir = opendir(fslmc_dirpath);
if (!dir) {
DPAA2_BUS_ERR("Unable to open VFIO group directory");
dir = opendir(fslmc_dirpath);
if (!dir) {
DPAA2_BUS_ERR("Unable to open VFIO group directory");
@@
-333,7
+334,7
@@
rte_fslmc_scan(void)
}
while ((entry = readdir(dir)) != NULL) {
}
while ((entry = readdir(dir)) != NULL) {
- if (entry->d_name[0] == '.' || entry->d_type != DT_
LNK
)
+ if (entry->d_name[0] == '.' || entry->d_type != DT_
DIR
)
continue;
ret = scan_one_fslmc_device(entry->d_name);
continue;
ret = scan_one_fslmc_device(entry->d_name);