Subject: Re: Missing '#size-cells' in /ht@0,f2000000/pci@8/mac-io@7/i2s@0 on G5/G4 (kernel 6.13-rc3)

From: Erhard Furtner <[email-masked]>
Date: Wed, 26 Feb 2025 23:14:18 +0100

On Mon, 23 Dec 2024 23:58:26 +1100
Michael Ellerman <[email-masked]> wrote:

> Erhard Furtner <[email-masked]> writes:
> > Greetings!
> >
> > I am aware there is commit cf89c9434af122f28a3552e6f9cc5158c33ce50a
> > (already merged in v6.13-rc3) which fixes some of the "Missing
> > '#size-cells' errors" but there is more:
> >
> > ------------[ cut here ]------------
> > hub 3-0:1.0: USB hub found
> > Missing '#size-cells' in /ht@0,f2000000/pci@8/mac-io@7/i2s@0  
> 
> Something like below might fix it.
> 
> cheers
> 
> 
> diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
> index 8e776ba39497..462ee36ef891 100644
> --- a/arch/powerpc/kernel/prom_init.c
> +++ b/arch/powerpc/kernel/prom_init.c
> @@ -2898,11 +2898,11 @@ static void __init fixup_device_tree_pmac(void)
>  	char type[8];
>  	phandle node;
>  
> -	// Some pmacs are missing #size-cells on escc nodes
> +	// Some pmacs are missing #size-cells on escc & i2s nodes
>  	for (node = 0; prom_next_node(&node); ) {
>  		type[0] = '\0';
>  		prom_getprop(node, "device_type", type, sizeof(type));
> -		if (prom_strcmp(type, "escc"))
> +		if (prom_strcmp(type, "escc") && prom_strcmp(type, "i2s"))
>  			continue;
>  
>  		if (prom_getproplen(node, "#size-cells") != PROM_ERROR)
> 

The fix works on my PowerMac G4 DP. And there is also https://patchwork.ozlabs.org/project/linuxppc-dev/patch/[email-masked]/ which seems to be the same patch.

But as of kernel v6.14-rc3 none of these is included. Could one of these patches be upstreamed?

Regards,
Erhard