/* Returns a pointer to an SMBIOS structure or NULL if none found.  */
static void __iomem* get_SMBIOS_entry(void __iomem *smbios_start, void __iomem *smbios_table, u8 type, void __iomem *previous)
/* Returns a pointer to an SMBIOS structure or NULL if none found.  */
static void __iomem* get_SMBIOS_entry(void __iomem *smbios_start, void __iomem *smbios_table, u8 type, void __iomem *previous)
{
	if (!smbios_table)
		return NULL;
	if (!previous)
		previous = smbios_start;
	else
		previous = get_subsequent_smbios_entry(smbios_start,
					smbios_table, previous);
	while (previous)
		if (readb(previous + SMBIOS_GENERIC_TYPE) != type)
			previous = get_subsequent_smbios_entry(smbios_start,
						smbios_table, previous);
		else
			break;
	return previous;
}