diff mbox series

[U-Boot,v6,02/16] Makefile: Fix mrproper make target

Message ID 20190209063052.29092-3-anup.patel@wdc.com
State Superseded
Delegated to: Andes
Headers show
Series SiFive FU540 Support | expand

Commit Message

Anup Patel Feb. 9, 2019, 6:31 a.m. UTC
Currently, the mrproper make target tries to force remove all
"arch/*/include/asm/arch" paths assuming they are symlinks but
this prevents us from adding place-holder headers under the
arch/riscv/include/asm/arch directory.

To solve this, we fix mrproper make target to only remove
"arch/*/include/asm/arch" paths which are symlinks and do
nothing for paths which are directory.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lukas Auer Feb. 10, 2019, 6:31 p.m. UTC | #1
On Sat, 2019-02-09 at 06:31 +0000, Anup Patel wrote:
> Currently, the mrproper make target tries to force remove all
> "arch/*/include/asm/arch" paths assuming they are symlinks but
> this prevents us from adding place-holder headers under the
> arch/riscv/include/asm/arch directory.
> 
> To solve this, we fix mrproper make target to only remove
> "arch/*/include/asm/arch" paths which are symlinks and do
> nothing for paths which are directory.
> 
> Signed-off-by: Anup Patel <anup.patel@wdc.com>
> ---
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index cf7b2b10bc..2d05b8da9a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1782,7 +1782,7 @@ $(mrproper-dirs):
>  mrproper: clean $(mrproper-dirs)
>  	$(call cmd,rmdirs)
>  	$(call cmd,rmfiles)
> -	@rm -f arch/*/include/asm/arch
> +	@for d in `dirname arch/*/include/asm/arch`; do if [ -L
> $$d/arch ]; then echo "  CLEAN   "$$d/arch; rm -f $$d/arch; fi; done
>  
>  # distclean
>  #

This looks good to me, but I am not familiar enough with the other
architectures to know if this could affect them somehow. I have added
Tom on CC. Maybe he can weigh in on this.

Thanks,
Lukas
Tom Rini Feb. 11, 2019, 1:12 a.m. UTC | #2
On Sun, Feb 10, 2019 at 06:31:02PM +0000, Auer, Lukas wrote:
> On Sat, 2019-02-09 at 06:31 +0000, Anup Patel wrote:
> > Currently, the mrproper make target tries to force remove all
> > "arch/*/include/asm/arch" paths assuming they are symlinks but
> > this prevents us from adding place-holder headers under the
> > arch/riscv/include/asm/arch directory.
> > 
> > To solve this, we fix mrproper make target to only remove
> > "arch/*/include/asm/arch" paths which are symlinks and do
> > nothing for paths which are directory.
> > 
> > Signed-off-by: Anup Patel <anup.patel@wdc.com>
> > ---
> >  Makefile | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/Makefile b/Makefile
> > index cf7b2b10bc..2d05b8da9a 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -1782,7 +1782,7 @@ $(mrproper-dirs):
> >  mrproper: clean $(mrproper-dirs)
> >  	$(call cmd,rmdirs)
> >  	$(call cmd,rmfiles)
> > -	@rm -f arch/*/include/asm/arch
> > +	@for d in `dirname arch/*/include/asm/arch`; do if [ -L
> > $$d/arch ]; then echo "  CLEAN   "$$d/arch; rm -f $$d/arch; fi; done
> >  
> >  # distclean
> >  #
> 
> This looks good to me, but I am not familiar enough with the other
> architectures to know if this could affect them somehow. I have added
> Tom on CC. Maybe he can weigh in on this.

I'll grant there may be one, but what is the use-case for non-symlink
<asm/arch/foo.h> ?  We _shouldn't_ be forcing that in to generic code,
but might have let some users in.
Anup Patel Feb. 11, 2019, 4:27 a.m. UTC | #3
> -----Original Message-----
> From: Tom Rini [mailto:trini@konsulko.com]
> Sent: Monday, February 11, 2019 6:43 AM
> To: Auer, Lukas <lukas.auer@aisec.fraunhofer.de>
> Cc: sjg@chromium.org; michal.simek@xilinx.com; bmeng.cn@gmail.com;
> joe.hershberger@ni.com; rick@andestech.com;
> yamada.masahiro@socionext.com; monstr@monstr.eu; Anup Patel
> <Anup.Patel@wdc.com>; palmer@sifive.com; agraf@suse.de; u-
> boot@lists.denx.de
> Subject: Re: [U-Boot] [PATCH v6 02/16] Makefile: Fix mrproper make target
> 
> On Sun, Feb 10, 2019 at 06:31:02PM +0000, Auer, Lukas wrote:
> > On Sat, 2019-02-09 at 06:31 +0000, Anup Patel wrote:
> > > Currently, the mrproper make target tries to force remove all
> > > "arch/*/include/asm/arch" paths assuming they are symlinks but this
> > > prevents us from adding place-holder headers under the
> > > arch/riscv/include/asm/arch directory.
> > >
> > > To solve this, we fix mrproper make target to only remove
> > > "arch/*/include/asm/arch" paths which are symlinks and do nothing
> > > for paths which are directory.
> > >
> > > Signed-off-by: Anup Patel <anup.patel@wdc.com>
> > > ---
> > >  Makefile | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/Makefile b/Makefile
> > > index cf7b2b10bc..2d05b8da9a 100644
> > > --- a/Makefile
> > > +++ b/Makefile
> > > @@ -1782,7 +1782,7 @@ $(mrproper-dirs):
> > >  mrproper: clean $(mrproper-dirs)
> > >  	$(call cmd,rmdirs)
> > >  	$(call cmd,rmfiles)
> > > -	@rm -f arch/*/include/asm/arch
> > > +	@for d in `dirname arch/*/include/asm/arch`; do if [ -L
> > > $$d/arch ]; then echo "  CLEAN   "$$d/arch; rm -f $$d/arch; fi; done
> > >
> > >  # distclean
> > >  #
> >
> > This looks good to me, but I am not familiar enough with the other
> > architectures to know if this could affect them somehow. I have added
> > Tom on CC. Maybe he can weigh in on this.
> 
> I'll grant there may be one, but what is the use-case for non-symlink
> <asm/arch/foo.h> ?  We _shouldn't_ be forcing that in to generic code, but
> might have let some users in.

There are drivers such as drivers/net/macb.c (which expect
asm/arch/clk.h) which we want to use for SiFive board support
but we don't have arch specific clk provider and SiFive clk driver
uses DM framework hence PATCH1, PATCH2 and PATCH5.

I agree with you (even Bin pointed out the same).

I will use CREATE_ARCH_SYMLINK and add placeholder clk.h
for RISC-V generic CPU. With that, we will not require PATCH1
and PATCH2, instead we will have separate patch to select
CREATE_ARCH_SYMLINK for RISCV.

Regards,
Anup
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index cf7b2b10bc..2d05b8da9a 100644
--- a/Makefile
+++ b/Makefile
@@ -1782,7 +1782,7 @@  $(mrproper-dirs):
 mrproper: clean $(mrproper-dirs)
 	$(call cmd,rmdirs)
 	$(call cmd,rmfiles)
-	@rm -f arch/*/include/asm/arch
+	@for d in `dirname arch/*/include/asm/arch`; do if [ -L $$d/arch ]; then echo "  CLEAN   "$$d/arch; rm -f $$d/arch; fi; done
 
 # distclean
 #