[U-Boot] [PATCH 1/1] arm: clean sizes.h

remove duplicated and clean it
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD plagnioj@jcrosoft.com --- include/asm-arm/arch-arm925t/sizes.h | 50 ---------------------------- include/asm-arm/arch-arm926ejs/sizes.h | 51 ----------------------------- include/asm-arm/arch-omap/sizes.h | 52 ------------------------------ include/asm-arm/arch-omap24xx/omap2420.h | 2 +- include/asm-arm/arch-omap24xx/sizes.h | 49 ---------------------------- include/asm-arm/sizes.h | 6 +++- include/configs/h2_p2_dbg_board.h | 2 +- include/configs/omap1510.h | 2 +- include/configs/omap730.h | 2 +- 9 files changed, 9 insertions(+), 207 deletions(-) delete mode 100644 include/asm-arm/arch-arm925t/sizes.h delete mode 100644 include/asm-arm/arch-arm926ejs/sizes.h delete mode 100644 include/asm-arm/arch-omap/sizes.h delete mode 100644 include/asm-arm/arch-omap24xx/sizes.h
diff --git a/include/asm-arm/arch-arm925t/sizes.h b/include/asm-arm/arch-arm925t/sizes.h deleted file mode 100644 index 7319bd9..0000000 --- a/include/asm-arm/arch-arm925t/sizes.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -/* DO NOT EDIT!! - this file automatically generated - * from .s file by awk -f s2h.awk - */ -/* Size defintions - * Copyright (C) ARM Limited 1998. All rights reserved. - */ - -#ifndef __sizes_h -#define __sizes_h 1 - -/* handy sizes */ -#define SZ_1K 0x00000400 -#define SZ_4K 0x00001000 -#define SZ_8K 0x00002000 -#define SZ_16K 0x00004000 -#define SZ_64K 0x00010000 -#define SZ_128K 0x00020000 -#define SZ_256K 0x00040000 -#define SZ_512K 0x00080000 - -#define SZ_1M 0x00100000 -#define SZ_2M 0x00200000 -#define SZ_4M 0x00400000 -#define SZ_8M 0x00800000 -#define SZ_16M 0x01000000 -#define SZ_32M 0x02000000 -#define SZ_64M 0x04000000 -#define SZ_128M 0x08000000 -#define SZ_256M 0x10000000 -#define SZ_512M 0x20000000 - -#define SZ_1G 0x40000000 -#define SZ_2G 0x80000000 - -#endif /* __sizes_h */ diff --git a/include/asm-arm/arch-arm926ejs/sizes.h b/include/asm-arm/arch-arm926ejs/sizes.h deleted file mode 100644 index ef0b99b..0000000 --- a/include/asm-arm/arch-arm926ejs/sizes.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA0 2111-1307 - * USA - */ -/* DO NOT EDIT!! - this file automatically generated - * from .s file by awk -f s2h.awk - */ -/* Size defintions - * Copyright (C) ARM Limited 1998. All rights reserved. - */ - -#ifndef __sizes_h -#define __sizes_h 1 - -/* handy sizes */ -#define SZ_1K 0x00000400 -#define SZ_4K 0x00001000 -#define SZ_8K 0x00002000 -#define SZ_16K 0x00004000 -#define SZ_64K 0x00010000 -#define SZ_128K 0x00020000 -#define SZ_256K 0x00040000 -#define SZ_512K 0x00080000 - -#define SZ_1M 0x00100000 -#define SZ_2M 0x00200000 -#define SZ_4M 0x00400000 -#define SZ_8M 0x00800000 -#define SZ_16M 0x01000000 -#define SZ_32M 0x02000000 -#define SZ_64M 0x04000000 -#define SZ_128M 0x08000000 -#define SZ_256M 0x10000000 -#define SZ_512M 0x20000000 - -#define SZ_1G 0x40000000 -#define SZ_2G 0x80000000 - -#endif /* __sizes_h */ diff --git a/include/asm-arm/arch-omap/sizes.h b/include/asm-arm/arch-omap/sizes.h deleted file mode 100644 index f8d92ca..0000000 --- a/include/asm-arm/arch-omap/sizes.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -/* DO NOT EDIT!! - this file automatically generated - * from .s file by awk -f s2h.awk - */ -/* Size defintions - * Copyright (C) ARM Limited 1998. All rights reserved. - */ - -#ifndef __sizes_h -#define __sizes_h 1 - -/* handy sizes */ -#define SZ_1K 0x00000400 -#define SZ_4K 0x00001000 -#define SZ_8K 0x00002000 -#define SZ_16K 0x00004000 -#define SZ_64K 0x00010000 -#define SZ_128K 0x00020000 -#define SZ_256K 0x00040000 -#define SZ_512K 0x00080000 - -#define SZ_1M 0x00100000 -#define SZ_2M 0x00200000 -#define SZ_4M 0x00400000 -#define SZ_8M 0x00800000 -#define SZ_16M 0x01000000 -#define SZ_32M 0x02000000 -#define SZ_64M 0x04000000 -#define SZ_128M 0x08000000 -#define SZ_256M 0x10000000 -#define SZ_512M 0x20000000 - -#define SZ_1G 0x40000000 -#define SZ_2G 0x80000000 - -#endif - -/* END */ diff --git a/include/asm-arm/arch-omap24xx/omap2420.h b/include/asm-arm/arch-omap24xx/omap2420.h index 0c11bec..6032419 100644 --- a/include/asm-arm/arch-omap24xx/omap2420.h +++ b/include/asm-arm/arch-omap24xx/omap2420.h @@ -25,7 +25,7 @@ #ifndef _OMAP2420_SYS_H_ #define _OMAP2420_SYS_H_
-#include <asm/arch/sizes.h> +#include <asm/sizes.h>
/* * 2420 specific Section diff --git a/include/asm-arm/arch-omap24xx/sizes.h b/include/asm-arm/arch-omap24xx/sizes.h deleted file mode 100644 index aaba18f..0000000 --- a/include/asm-arm/arch-omap24xx/sizes.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ -/* Size defintions - * Copyright (C) ARM Limited 1998. All rights reserved. - */ - -#ifndef __sizes_h -#define __sizes_h 1 - -/* handy sizes */ -#define SZ_1K 0x00000400 -#define SZ_4K 0x00001000 -#define SZ_8K 0x00002000 -#define SZ_16K 0x00004000 -#define SZ_32K 0x00008000 -#define SZ_64K 0x00010000 -#define SZ_128K 0x00020000 -#define SZ_256K 0x00040000 -#define SZ_512K 0x00080000 - -#define SZ_1M 0x00100000 -#define SZ_2M 0x00200000 -#define SZ_4M 0x00400000 -#define SZ_8M 0x00800000 -#define SZ_16M 0x01000000 -#define SZ_31M 0x01F00000 -#define SZ_32M 0x02000000 -#define SZ_64M 0x04000000 -#define SZ_128M 0x08000000 -#define SZ_256M 0x10000000 -#define SZ_512M 0x20000000 - -#define SZ_1G 0x40000000 -#define SZ_2G 0x80000000 - -#endif /* __sizes_h */ diff --git a/include/asm-arm/sizes.h b/include/asm-arm/sizes.h index f8d92ca..503843d 100644 --- a/include/asm-arm/sizes.h +++ b/include/asm-arm/sizes.h @@ -16,7 +16,7 @@ /* DO NOT EDIT!! - this file automatically generated * from .s file by awk -f s2h.awk */ -/* Size defintions +/* Size definitions * Copyright (C) ARM Limited 1998. All rights reserved. */
@@ -24,6 +24,10 @@ #define __sizes_h 1
/* handy sizes */ +#define SZ_16 0x00000010 +#define SZ_256 0x00000100 +#define SZ_512 0x00000200 + #define SZ_1K 0x00000400 #define SZ_4K 0x00001000 #define SZ_8K 0x00002000 diff --git a/include/configs/h2_p2_dbg_board.h b/include/configs/h2_p2_dbg_board.h index e0d823f..a4dea7d 100644 --- a/include/configs/h2_p2_dbg_board.h +++ b/include/configs/h2_p2_dbg_board.h @@ -31,7 +31,7 @@ #ifndef __INCLUDED_H2_P2_DBH_BOARD_H #define __INCLUDED_H2_P2_DBH_BOARD_H
-#include <asm/arch/sizes.h> +#include <asm/sizes.h>
/* * The Debug board is designed to function with the P2 Sample, H2 diff --git a/include/configs/omap1510.h b/include/configs/omap1510.h index 931560c..e6d9c7a 100644 --- a/include/configs/omap1510.h +++ b/include/configs/omap1510.h @@ -28,7 +28,7 @@ * 675 Mass Ave, Cambridge, MA 02139, USA. */
-#include <asm/arch/sizes.h> +#include <asm/sizes.h>
/* There are 2 sets of general I/O --> diff --git a/include/configs/omap730.h b/include/configs/omap730.h index 04d5144..c7682a1 100644 --- a/include/configs/omap730.h +++ b/include/configs/omap730.h @@ -31,7 +31,7 @@ #ifndef __INCLUDED_OMAP730_H #define __INCLUDED_OMAP730_H
-#include <asm/arch/sizes.h> +#include <asm/sizes.h>
/*************************************************************************** * OMAP730 Configuration Registers

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 1241219918-22846-1-git-send-email-plagnioj@jcrosoft.com you wrote:
remove duplicated and clean it
Please just remove this. I mean, without attempting to clean it up.
[And not only on ARM, but everywhere.]
I never understood why "SZ_8K" would be better than 8192 or 8*1024 ?
Note that, apart from personal preferences, these "helpful" defi- nitions are misleading and at least sometimes even plain wrong. See below for details.
....
--- a/include/asm-arm/sizes.h +++ b/include/asm-arm/sizes.h @@ -16,7 +16,7 @@ /* DO NOT EDIT!! - this file automatically generated
from .s file by awk -f s2h.awk
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It seems you ignore this warning? Is this a wise thing to do?
/* handy sizes */ +#define SZ_16 0x00000010 +#define SZ_256 0x00000100 +#define SZ_512 0x00000200
NAK. I will not accept a patch that adds such definitions. That's ridiculous. What is the problem of writing "16" when you mean "16"? Why would "SZ_512" be any better than plain "512" - except that it's twice as much to type.
#define SZ_1K 0x00000400 #define SZ_4K 0x00001000 #define SZ_8K 0x00002000
Please keep in mind that "K", "M", and "G" are non-standard prefixes, and it is not clear if they refer to decimal or binary multiples. This makes their use in the code a PITA.
We should try to be precise, and we should follow existing standards.
Prefixes and symbols for binary multiples are standardized in IEC 60027-2. [They are not part of the SI metric system of units, though.] Correct names for 1024 = (1 << 10), 1024*1024 = ( 1 << 20) and 1024*1024*1024 = (1 << 30) are "kibi" (kilobinary, abbreviated as "Ki"), "mebi" (megabinary, "Mi"), and "gibi" (gigabinary, "Gi"), respective. Note that this is "Ki", not "K".
So if you think youmust define something that means 8192, then please name it "8 Ki", as "Ki" is the correct, standardized symbol for the name "kibi", meaning "kilobinary".
With "8 K", nobody ever knows for sure what is meant - is it 8*10**3 or is it 8*2**10.
Thus my urgent recommendation: let's get rid of all this ambiguous SZ_* definitions and use numbers. "8 * 1024" is at least as readable as "SZ_8K", and it leaves no doubt what might be meant.
Thanks.
Best regards,
Wolfgang Denk

On 20:32 Sat 02 May , Wolfgang Denk wrote:
Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 1241219918-22846-1-git-send-email-plagnioj@jcrosoft.com you wrote:
remove duplicated and clean it
Please just remove this. I mean, without attempting to clean it up.
[And not only on ARM, but everywhere.]
Actually For ARM we ask us tp use it so to simplify the import from linux this "helper" are also imported
I never understood why "SZ_8K" would be better than 8192 or 8*1024 ?
Honnestly it's not my goal here. My goal is to rationalize the sizes.h file content and location to be the same as the kernel
Note that, apart from personal preferences, these "helpful" defi- nitions are misleading and at least sometimes even plain wrong. See below for details.
....
--- a/include/asm-arm/sizes.h +++ b/include/asm-arm/sizes.h @@ -16,7 +16,7 @@ /* DO NOT EDIT!! - this file automatically generated
from .s file by awk -f s2h.awk
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It seems you ignore this warning? Is this a wise thing to do?
I've import the last linux version of it
/* handy sizes */ +#define SZ_16 0x00000010 +#define SZ_256 0x00000100 +#define SZ_512 0x00000200
NAK. I will not accept a patch that adds such definitions. That's ridiculous. What is the problem of writing "16" when you mean "16"? Why would "SZ_512" be any better than plain "512" - except that it's twice as much to type.
#define SZ_1K 0x00000400 #define SZ_4K 0x00001000 #define SZ_8K 0x00002000
Please keep in mind that "K", "M", and "G" are non-standard prefixes, and it is not clear if they refer to decimal or binary multiples. This makes their use in the code a PITA.
I do not choose it
We should try to be precise, and we should follow existing standards.
Prefixes and symbols for binary multiples are standardized in IEC 60027-2. [They are not part of the SI metric system of units, though.] Correct names for 1024 = (1 << 10), 1024*1024 = ( 1 << 20) and 1024*1024*1024 = (1 << 30) are "kibi" (kilobinary, abbreviated as "Ki"), "mebi" (megabinary, "Mi"), and "gibi" (gigabinary, "Gi"), respective. Note that this is "Ki", not "K".
I known but it's the linux implementation choice not mine
So if you think youmust define something that means 8192, then please name it "8 Ki", as "Ki" is the correct, standardized symbol for the name "kibi", meaning "kilobinary".
Honnestly I think I'll let you try to deal it with Russel
With "8 K", nobody ever knows for sure what is meant - is it 8*10**3 or is it 8*2**10.
Thus my urgent recommendation: let's get rid of all this ambiguous SZ_* definitions and use numbers. "8 * 1024" is at least as readable as "SZ_8K", and it leaves no doubt what might be meant.
To simplify linux import I'll not prefer it
Best Regards, J.

Dear Jean-Christophe PLAGNIOL-VILLARD,
In message 20090502194009.GK25959@game.jcrosoft.org you wrote:
Please just remove this. I mean, without attempting to clean it up.
[And not only on ARM, but everywhere.]
Actually For ARM we ask us tp use it so to simplify the import from linux this "helper" are also imported
I don't know who "we" is, but you don;t have my ACK for this, and as long as it's not even correct youwill not get it.
#define SZ_1K 0x00000400 #define SZ_4K 0x00001000 #define SZ_8K 0x00002000
Please keep in mind that "K", "M", and "G" are non-standard prefixes, and it is not clear if they refer to decimal or binary multiples. This makes their use in the code a PITA.
I do not choose it
We can simply chose NOT to use this.
Prefixes and symbols for binary multiples are standardized in IEC 60027-2. [They are not part of the SI metric system of units, though.] Correct names for 1024 = (1 << 10), 1024*1024 = ( 1 << 20) and 1024*1024*1024 = (1 << 30) are "kibi" (kilobinary, abbreviated as "Ki"), "mebi" (megabinary, "Mi"), and "gibi" (gigabinary, "Gi"), respective. Note that this is "Ki", not "K".
I known but it's the linux implementation choice not mine
There is zero need to copy bugs or incorrect code from Linux.
Instead, someone should send patches to fix this in Linux, too (or better to kill it alltogether).
So if you think youmust define something that means 8192, then please name it "8 Ki", as "Ki" is the correct, standardized symbol for the name "kibi", meaning "kilobinary".
Honnestly I think I'll let you try to deal it with Russel
Russel? In case you are referring to RMK you better let not see him that you misspell his name. He is pretty allergic on this.
Anyway: RMK has zero votes on U-Boot code.
With "8 K", nobody ever knows for sure what is meant - is it 8*10**3 or is it 8*2**10.
Thus my urgent recommendation: let's get rid of all this ambiguous SZ_* definitions and use numbers. "8 * 1024" is at least as readable as "SZ_8K", and it leaves no doubt what might be meant.
To simplify linux import I'll not prefer it
But I insist.
My preference is to get rid of this, but at least fix the bugs before we use it.
Best regards,
Wolfgang Denk

Dear Jean-Christophe,
in message 20090502215903.894E783420E8@gemini.denx.de I wrote:
Actually For ARM we ask us tp use it so to simplify the import from linux this "helper" are also imported
I don't know who "we" is, but you don;t have my ACK for this, and as long as it's not even correct youwill not get it.
#define SZ_1K 0x00000400 #define SZ_4K 0x00001000 #define SZ_8K 0x00002000
Please keep in mind that "K", "M", and "G" are non-standard prefixes, and it is not clear if they refer to decimal or binary multiples. This makes their use in the code a PITA.
Situation is even worse, if you check existing U-Boot code; for example:
"include/asm-arm/sizes.h":
#define SZ_1K 0x00000400 #define SZ_4K 0x00001000 #define SZ_8K 0x00002000 #define SZ_16K 0x00004000 #define SZ_64K 0x00010000 #define SZ_128K 0x00020000 #define SZ_256K 0x00040000 #define SZ_512K 0x00080000 #define SZ_1M 0x00100000 #define SZ_2M 0x00200000 #define SZ_4M 0x00400000 #define SZ_8M 0x00800000 #define SZ_16M 0x01000000 #define SZ_32M 0x02000000 #define SZ_64M 0x04000000 #define SZ_128M 0x08000000 #define SZ_256M 0x10000000
"board/amcc/taishan/init.S", "board/amcc/yosemite/init.S", "board/pcs440ep/init.S", "board/prodrive/alpr/init.S", "board/prodrive/p3p440/init.S" and many more:
#define SZ_1K 0x00000000 #define SZ_4K 0x00000010 #define SZ_16K 0x00000020 #define SZ_64K 0x00000030 #define SZ_256K 0x00000040 #define SZ_1M 0x00000050 #define SZ_8M 0x00000060 #define SZ_16M 0x00000070 #define SZ_256M 0x00000090
So what is the "easy to read and understand" ``helper'' SZ_1M ? Is it 1,000,000 or 1,048,576 or ist it eventually just 80 ?
These defines are no ``helpers'', they are Faux Ami, and we should start to expunge this crap as soon as possible.
Best regards,
Wolfgang Denk
participants (2)
-
Jean-Christophe PLAGNIOL-VILLARD
-
Wolfgang Denk