bus: simplify finding starting point

A separate boolean variable is not necessary when searching for
starting point in find_device. Just use the passed argument
as its own flag value.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
Stephen Hemminger 2017-07-06 08:28:10 -07:00 committed by Thomas Monjalon
parent 61d04efc38
commit c7fe1eea8a
4 changed files with 8 additions and 16 deletions

View File

@ -111,12 +111,10 @@ rte_fslmc_find_device(const struct rte_device *start, rte_dev_cmp_t cmp,
const void *data)
{
struct rte_dpaa2_device *dev;
bool start_found = !start;
TAILQ_FOREACH(dev, &rte_fslmc_bus.device_list, next) {
if (!start_found) {
if (&dev->device == start)
start_found = 1;
if (start && &dev->device == start)
start = NULL; /* starting point found */
continue;
}

View File

@ -154,12 +154,10 @@ rte_bus_find(const struct rte_bus *start, rte_bus_cmp_t cmp,
const void *data)
{
struct rte_bus *bus = NULL;
bool start_found = !start;
TAILQ_FOREACH(bus, &rte_bus_list, next) {
if (!start_found) {
if (bus == start)
start_found = 1;
if (start && bus == start) {
start = NULL; /* starting point found */
continue;
}
if (cmp(bus, data) == 0)

View File

@ -491,12 +491,10 @@ pci_find_device(const struct rte_device *start, rte_dev_cmp_t cmp,
const void *data)
{
struct rte_pci_device *dev;
bool start_found = !start;
FOREACH_DEVICE_ON_PCIBUS(dev) {
if (!start_found) {
if (&dev->device == start)
start_found = 1;
if (start && &dev->device == start) {
start = NULL; /* starting point found */
continue;
}
if (cmp(&dev->device, data) == 0)

View File

@ -342,12 +342,10 @@ vdev_find_device(const struct rte_device *start, rte_dev_cmp_t cmp,
const void *data)
{
struct rte_vdev_device *dev;
bool start_found = !start;
TAILQ_FOREACH(dev, &vdev_device_list, next) {
if (start_found == 0) {
if (&dev->device == start)
start_found = 1;
if (start && &dev->device == start) {
start = NULL;
continue;
}
if (cmp(&dev->device, data) == 0)