예제 #1
0
파일: ranges.c 프로젝트: E-LLP/n900
void
prom_apply_generic_ranges (int node, int parent, struct linux_prom_registers *regs, int nregs)
{
	int success;
	int num_ranges;
	struct linux_prom_ranges ranges[PROMREG_MAX];
	
	success = prom_getproperty(node, "ranges",
				   (char *) ranges,
				   sizeof (ranges));
	if (success != -1) {
		num_ranges = (success/sizeof(struct linux_prom_ranges));
		if (parent) {
			struct linux_prom_ranges parent_ranges[PROMREG_MAX];
			int num_parent_ranges;
		
			success = prom_getproperty(parent, "ranges",
				   		   (char *) parent_ranges,
				   		   sizeof (parent_ranges));
			if (success != -1) {
				num_parent_ranges = (success/sizeof(struct linux_prom_ranges));
				prom_adjust_ranges (ranges, num_ranges, parent_ranges, num_parent_ranges);
			}
		}
		prom_adjust_regs(regs, nregs, ranges, num_ranges);
	}
}
예제 #2
0
파일: ranges.c 프로젝트: andreiw/mkunity
/* Apply probed sbus ranges to registers passed, if no ranges return. */
void
prom_apply_sbus_ranges(struct linux_prom_registers *regs, int nregs)
{
	if(!num_sbus_ranges) return;
	prom_adjust_regs(regs, nregs, promlib_sbus_ranges, num_sbus_ranges);
	return;
}
예제 #3
0
파일: ranges.c 프로젝트: E-LLP/n900
/* Apply probed obio ranges to registers passed, if no ranges return. */
void
prom_apply_obio_ranges(struct linux_prom_registers *regs, int nregs)
{
	if(num_obio_ranges)
		prom_adjust_regs(regs, nregs, promlib_obio_ranges, num_obio_ranges);
}