drivers/pnp/isapnp/compat.c

Source file repositories/reference/linux-study-clean/drivers/pnp/isapnp/compat.c

File Facts

System
Linux kernel
Corpus path
drivers/pnp/isapnp/compat.c
Extension
.c
Size
1684 bytes
Lines
67
Domain
Driver Families
Bucket
drivers/pnp
Inferred role
Driver Families: exported/initcall integration point
Status
integration implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

while (list != &pnp_global) {
			struct pnp_dev *dev = global_to_pnp_dev(list);

			if (compare_pnp_id(dev->id, id) ||
			    (memcmp(id, any, 7) == 0))
				return dev;
			list = list->next;
		}
	} else {
		struct list_head *list;

		list = card->devices.next;
		if (from) {
			list = from->card_list.next;
			if (from->card != card)	/* something is wrong */
				return NULL;
		}
		while (list != &card->devices) {
			struct pnp_dev *dev = card_to_pnp_dev(list);

			if (compare_pnp_id(dev->id, id))
				return dev;
			list = list->next;
		}
	}
	return NULL;
}
EXPORT_SYMBOL(pnp_find_dev);

Annotation

Implementation Notes