
On Sunday 01 June 2008, Wolfgang Denk wrote:
In message 1212298724-15152-8-git-send-email-vapier@gentoo.org you wrote:
If the board config does not specify an explicit EBIU_SDBCTL value, set it up with sane values based on other configuration options.
...
+#ifndef EBIU_RSTCTL +/* Blackfin with SDRAM */ +#ifndef CONFIG_EBIU_SDBCTL_VAL +# if CONFIG_MEM_SIZE == 16 +# define CONFIG_EBSZ_VAL EBSZ_16 +# elif CONFIG_MEM_SIZE == 32 +# define CONFIG_EBSZ_VAL EBSZ_32 +# elif CONFIG_MEM_SIZE == 64 +# define CONFIG_EBSZ_VAL EBSZ_64 +# elif CONFIG_MEM_SIZE == 128 +# define CONFIG_EBSZ_VAL EBSZ_128 +# elif CONFIG_MEM_SIZE == 256 +# define CONFIG_EBSZ_VAL EBSZ_256 +# elif CONFIG_MEM_SIZE == 512 +# define CONFIG_EBSZ_VAL EBSZ_512 +# else +# error You need to define CONFIG_EBIU_SDBCTL_VAL or CONFIG_MEM_SIZE +# endif +# if CONFIG_MEM_ADD_WDTH == 8 +# define CONFIG_EBCAW_VAL EBCAW_8 +# elif CONFIG_MEM_ADD_WDTH == 9 +# define CONFIG_EBCAW_VAL EBCAW_9 +# elif CONFIG_MEM_ADD_WDTH == 10 +# define CONFIG_EBCAW_VAL EBCAW_10 +# elif CONFIG_MEM_ADD_WDTH == 11 +# define CONFIG_EBCAW_VAL EBCAW_11
This is pretty ugly code.
little cruft on the backend makes the lives of board porters a lot easier.
Why do you need the numeric values for CONFIG_MEM_SIZE
because it gets used in many other places as a real value to create a large number of sane defaults. the bitmask EBSZ_# would not be usable.
and CONFIG_MEM_ADD_WDTH at all? If you change for example
#define CONFIG_MEM_ADD_WDTH 9
in your board config file into
#define CONFIG_MEM_ADD_WDTH EBCAW_9
this is barely less readable, but allow for much simpler code.
historically EBCAW_# did not exist. i could make this transition, but then it'd be a little odd wrt CONFIG_MEM_SIZE being a straight number. doesnt matter terribly much to me. -mike