[Cbe-oss-dev] [PATCH] cell: move SPU affinity init code to a separate file

André Detsch adetsch at br.ibm.com
Wed Jul 25 05:09:42 EST 2007


Geoff Levand wrote:
> Andre Detsch wrote:
>> +static int init_spu_affinity(void)
>> +{
>> +	if (of_has_vicinity()) {
>> +		init_aff_fw_vicinity();
>> +	} else {
>> +		long root = of_get_flat_dt_root();
>> +		if (of_flat_dt_is_compatible(root, "IBM,CPBW-1.0"))
>> +			init_aff_QS20_harcoded();
>> +	}
>> +
>> +	return 0;
>> +}

> There is nothing here to prevent this code from executing
> on the PS3.  module_init() will unconditionaly run
> init_spu_affinity() for all platforms.  PS3 has no OF, and
> when this code runs it will most likely fault.  Even if it
> does run, it won't be doing the correct thing.

Adding something like

if (!machine_is(cell))
	return -ENODEV;

at the beginning of init_spu_affinity(void) would be enough?

--
Andre Detsch



More information about the cbe-oss-dev mailing list