Lines Matching full:part
16 * if specified or truncated size is 0 the part is skipped
18 * if omitted the part will immediately follow the previous part
19 * or 0 if the first part
49 #define dbg(x) do { printk("DEBUG-CMDLINE-PART: "); printk x; } while(0)
302 struct cmdline_mtd_partition *part; in parse_cmdline_partitions() local
316 for (part = partitions; part; part = part->next) { in parse_cmdline_partitions()
317 if ((!mtd_id) || (!strcmp(part->mtd_id, mtd_id))) in parse_cmdline_partitions()
321 if (!part) in parse_cmdline_partitions()
324 for (i = 0, offset = 0; i < part->num_parts; i++) { in parse_cmdline_partitions()
325 if (part->parts[i].offset == OFFSET_CONTINUOUS) in parse_cmdline_partitions()
326 part->parts[i].offset = offset; in parse_cmdline_partitions()
328 offset = part->parts[i].offset; in parse_cmdline_partitions()
330 if (part->parts[i].size == SIZE_REMAINING) in parse_cmdline_partitions()
331 part->parts[i].size = master->size - offset; in parse_cmdline_partitions()
333 if (offset + part->parts[i].size > master->size) { in parse_cmdline_partitions()
335 part->mtd_id); in parse_cmdline_partitions()
336 part->parts[i].size = master->size - offset; in parse_cmdline_partitions()
338 offset += part->parts[i].size; in parse_cmdline_partitions()
340 if (part->parts[i].size == 0) { in parse_cmdline_partitions()
342 part->mtd_id); in parse_cmdline_partitions()
343 part->num_parts--; in parse_cmdline_partitions()
344 memmove(&part->parts[i], &part->parts[i + 1], in parse_cmdline_partitions()
345 sizeof(*part->parts) * (part->num_parts - i)); in parse_cmdline_partitions()
350 *pparts = kmemdup(part->parts, sizeof(*part->parts) * part->num_parts, in parse_cmdline_partitions()
355 return part->num_parts; in parse_cmdline_partitions()