[OE-core] [meta-oe][PATCH] kernel-devicetree: Corrected normalize_dtb

Khem Raj raj.khem at gmail.com
Wed Jul 4 16:28:30 UTC 2018



On 7/2/18 8:03 AM, Paulo Neves wrote:
> The normalize_dtb function was buggy because
> it only converted from .dts suffix to .dtb
> suffix if the user passed a full source path to
> KERNEL_DEVICETREE containing the /dts/ path.
> The problem is that if the user did that there
> would be a warning.
> 
> On the othet hand if user just set the variable
> KERNEL_DEVICETREE="file.dts" the bbclass translation
> to the respective .dtb target did not occur and
> make would fail saying it has no rule to make target
> file.dts
> 
> This patch decouples the logic of having /dts/ in the
> path from the target translation.
> 

Looking a bit more into the problem you are trying to solve, I think 
adding another check for files ending with .dts and then applying the 
dts-2-dtb tranform is better approach. Which will let us keep building 
dtb overlays as well as fix the case you have pointed out.

> Signed-off-by: Paulo Neves <ptsneves at gmail.com>
> ---
>   meta/classes/kernel-devicetree.bbclass | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/classes/kernel-devicetree.bbclass b/meta/classes/kernel-devicetree.bbclass
> index 4f80cc62eb..9866d844ab 100644
> --- a/meta/classes/kernel-devicetree.bbclass
> +++ b/meta/classes/kernel-devicetree.bbclass
> @@ -13,8 +13,8 @@ normalize_dtb () {
>   	DTB="$1"
>   	if echo ${DTB} | grep -q '/dts/'; then
>   		bbwarn "${DTB} contains the full path to the the dts file, but only the dtb name should be used."
> -		DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'`
>   	fi
> +	DTB=`basename ${DTB} | sed 's,\.dts$,.dtb,g'`
>   	echo "${DTB}"
>   }
>   
> 



More information about the Openembedded-core mailing list