Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5bfc43a0 authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Linus Torvalds
Browse files

PNP: simplify PNP card error handling



No functional change; just return errors early instead of putting the main
part of the function inside an "if" statement.

Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 402b310c
Loading
Loading
Loading
Loading
+29 −28
Original line number Diff line number Diff line
@@ -197,8 +197,12 @@ int pnp_add_card(struct pnp_card *card)
	card->dev.bus = NULL;
	card->dev.release = &pnp_release_card;
	error = device_register(&card->dev);
	if (error) {
		pnp_err("sysfs failure, card '%s' will be unavailable",
			card->dev.bus_id);
		return error;
	}

	if (error == 0) {
	pnp_interface_attach_card(card);
	spin_lock(&pnp_lock);
	list_add_tail(&card->global_list, &pnp_cards);
@@ -207,7 +211,7 @@ int pnp_add_card(struct pnp_card *card)

	/* we wait until now to add devices in order to ensure the drivers
	 * will be able to use all of the related devices on the card
		 * without waiting any unresonable length of time */
	 * without waiting an unreasonable length of time */
	list_for_each(pos, &card->devices) {
		struct pnp_dev *dev = card_to_pnp_dev(pos);
		__pnp_add_device(dev);
@@ -220,10 +224,7 @@ int pnp_add_card(struct pnp_card *card)
			       global_list);
		card_probe(card, drv);
	}
	} else
		pnp_err("sysfs failure, card '%s' will be unavailable",
			card->dev.bus_id);
	return error;
	return 0;
}

/**
@@ -291,14 +292,15 @@ struct pnp_dev *pnp_request_card_device(struct pnp_card_link *clink,
	struct pnp_card *card;

	if (!clink || !id)
		goto done;
		return NULL;

	card = clink->card;
	drv = clink->driver;
	if (!from) {
		pos = card->devices.next;
	} else {
		if (from->card != card)
			goto done;
			return NULL;
		pos = from->card_list.next;
	}
	while (pos != &card->devices) {
@@ -308,7 +310,6 @@ struct pnp_dev *pnp_request_card_device(struct pnp_card_link *clink,
		pos = pos->next;
	}

done:
	return NULL;

found: