Subject: Re: [PATCH v2 2/11] Add PRRN Event Handler

From: Nathan Fontenot <[email-masked]>
Date: Mon, 15 Apr 2013 15:12:11 -0500

On 04/10/2013 03:30 AM, Michael Ellerman wrote:
> On Mon, Mar 25, 2013 at 01:52:32PM -0500, Nathan Fontenot wrote:
>> From: Jesse Larrew <[email-masked]>
>>
>> A PRRN event is signaled via the RTAS event-scan mechanism, which
>> returns a Hot Plug Event message "fixed part" indicating "Platform
>> Resource Reassignment". In response to the Hot Plug Event message,
>> we must call ibm,update-nodes to determine which resources were
>> reassigned and then ibm,update-properties to obtain the new affinity
>> information about those resources.
> ..
> 
>> Index: powerpc/arch/powerpc/kernel/rtasd.c
>> ===================================================================
>> --- powerpc.orig/arch/powerpc/kernel/rtasd.c	2013-03-20 08:24:14.000000000 -0500
>> +++ powerpc/arch/powerpc/kernel/rtasd.c	2013-03-20 08:52:08.000000000 -0500
>> @@ -87,6 +87,8 @@
>>  			return "Resource Deallocation Event";
>>  		case RTAS_TYPE_DUMP:
>>  			return "Dump Notification Event";
>> +		case RTAS_TYPE_PRRN:
>> +			return "Platform Resource Reassignment Event";
>>  	}
>>  
>>  	return rtas_type[0];
>> @@ -265,7 +267,38 @@
>>  		spin_unlock_irqrestore(&rtasd_log_lock, s);
>>  		return;
>>  	}
>> +}
>> +
>> +static s32 update_scope;
>> +
>> +static void prrn_work_fn(struct work_struct *work)
>> +{
>> +	/*
>> +	 * For PRRN, we must pass the negative of the scope value in
>> +	 * the RTAS event.
>> +	 */
>> +	pseries_devicetree_update(-update_scope);
>> +}
>> +static DECLARE_WORK(prrn_work, prrn_work_fn);
> 
> This breaks the 32-bit build (ppc6xx_defconfig):
> 
> arch/powerpc/kernel/rtasd.c:280: undefined reference to `pseries_devicetree_update'
> 

I'm not seeing this error. rtasd.c compilkes fine, but I am hitting another
error later in the build that keeps it from finishing.

arch/powerpc/platforms/52xx/mpc52xx_pic.c: In function ‘mpc52xx_irqhost_map’:
arch/powerpc/platforms/52xx/mpc52xx_pic.c:343: error: ‘irqchip’ may be used uninitialized in this function

-Nathan