• Kuninori Morimoto's avatar
    ASoC: rsnd: adjust disabled module · c413983e
    Kuninori Morimoto authored
    In general Renesas SoC's SSI/SRC are all enabled, but some SoC is not.
    
    	H2	E2
    
    	SRC0	      <=
    	SRC1	SRC1
    	SRC2	SRC2
    	...	...
    
    Renesas Sound driver is assuming that *all* modules are
    enabled, and thus it is using *data array* to access each modules.
    Because of it, we have been using "status = disabled" at DT,
    and using *full size* array but avoiding disabled module.
    
    ex)
    	rcar_sound,src {
    		src-0 {
    =>			status = "disabled";
    		};
    		src1: src-1 {
    			...
    		};
    		...
    
    But R-Car D3 have many disabled modules (It has SSI3/SSI4, SRC5/SRC6),
    and Renesas SoC maintainer don't want above style on DT.
    
    ex)
    	rcar_sound,src {
    =>		src0: src-0 { status = "disabled"; };
    =>		src1: src-1 { status = "disabled"; };
    =>		src2: src-2 { status = "disabled"; };
    =>		src3: src-3 { status = "disabled"; };
    =>		src4: src-4 { status = "disabled"; };
    		src5: src-5 {
    			...
    		};
    		src6: src-6 {
    			...
    		};
    	};
    
    	rcar_sound,ssi {
    =>		ssi0: ssi-0 { status = "disabled"; };
    =>		ssi1: ssi-1 { status = "disabled"; };
    =>		ssi2: ssi-2 { status = "disabled"; };
    		ssi3: ssi-3 {
    			...
    		};
    		ssi4: ssi-4 {
    			...
    		};
    	};
    
    To adjust it, it needs to care about related for_each_child_of_node()
    loop on rsnd driver, and it is used from...
    
    	> grep -l for_each_child_of_node sound/soc/sh/rcar/*
    	sound/soc/sh/rcar/core.c
    	sound/soc/sh/rcar/ctu.c
    	sound/soc/sh/rcar/dma.c
    	sound/soc/sh/rcar/dvc.c
    	sound/soc/sh/rcar/mix.c
    	sound/soc/sh/rcar/src.c
    	sound/soc/sh/rcar/ssi.c
    	sound/soc/sh/rcar/ssiu.c
    
    This patch adjust to this situation.
    By this patch, we can avoid disabled modules on DT
    
    	rcar_sound,src {
    		src5: src-5 {
    			...
    		};
    		src6: src-6 {
    			...
    		};
    	};
    
    	rcar_sound,ssi {
    		ssi3: ssi-3 {
    			...
    		};
    		ssi4: ssi-4 {
    			...
    		};
    	};
    Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Link: https://lore.kernel.org/r/875yyzk017.wl-kuninori.morimoto.gx@renesas.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    c413983e
core.c 45.2 KB