Commit cf5cbf9f authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt
Browse files

powerpc/nvram: Add nvram_find_partition()

parent fa2b4e54
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -429,6 +429,28 @@ static int nvram_get_partition_size(loff_t data_index)
}


/**
 * nvram_find_partition - Find an nvram partition by signature and name
 * @name: Name of the partition or NULL for any name
 * @sig: Signature to test against
 * @out_size: if non-NULL, returns the size of the data part of the partition
 */
loff_t nvram_find_partition(const char *name, int sig, int *out_size)
{
	struct nvram_partition *p;

	list_for_each_entry(p, &nvram_part->partition, partition) {
		if (p->header.signature == sig &&
		    (!name || !strncmp(p->header.name, name, 12))) {
			if (out_size)
				*out_size = (p->header.length - 1) *
					NVRAM_BLOCK_LEN;
			return p->index + NVRAM_HEADER_LEN;
		}
	}
	return 0;
}

/* nvram_setup_partition
 *
 * This will setup the partition we need for buffering the