[U-Boot-Users] [PATCH/review] Blackfin: add support for BF538/BF539
Detlev Zundel
dzu at denx.de
Wed Jun 4 19:36:09 CEST 2008
Hi Mike,
>> Um actually, caring that a project stears clean of copyright violations
>
> copyright violations != licensing violations
Yes of course, you are right here.
>> that may later be used to take down the whole project has got zero to do
>> with subscribing to "the FSF mentatlity". Thinking about it, it doesn't
>> even make sense to me that you express your distaste of the FSF from
>> such a non-correlated topic.
>
> i dont think people really care what my opinion is on the matter and it is
> certainly off topic on this list
Indeed, why did you bring it up then?
>> As I did not follow this discussion, can you enlighten me to what the
>> *actual* positive effect of defines like the following is (random pick)?
>>
>> #define pVR_CTL ((uint16_t volatile *)VR_CTL) /*
>> Voltage Regulator Control Register (16-bit) */ #define bfin_read_VR_CTL()
>> bfin_read16(VR_CTL)
>> #define bfin_write_VR_CTL(val) bfin_write16(VR_CTL, val)
>>
>> To me (as a simple code reader), this will ultimately only make the end
>> c code harder to read. As it does not contain all the details any more
>> I potentially have to lookup every single define if I want to understand
>> what is going on.
>>
>> Thinking hard, I cannot see a positive result. At first I thought you
>> may hide the actual data sizes in this define layer (disregarding the
>> fact whether this is a good or bad thing to do), but this is not the
>> case, as the types will permeate the layer. So can you please tell me
>> what positive effects this is supposed to have?
>
> the data sizes are hidden from the developer (in so much that they dont need
> to worry about it in the important cases),
Even if I don't like hiding data sizes at such a place, I cannot follow
your argument. If you have correct typing on the called functions,
surely these types are in no way encapsulated by these shim-macros.
> we use functions to read/write values rather than pointers (which is
> common convention) and really is easier to read/manage), people dont
> have to look up random addresses in the HRM for their particular
> variant, etc...
I also cannot follow this. The macro substitution uses a symbolic
constant named exactly like the macro. What _exactly_ is that giving
you?
To be honest, as far as I can see, all other architectures get by
without such "macros" without loosing anything and the arguments you
gave this far did not convince me that they are needed.
I do not even want to think about e.g. the 4xx maintainers coming up
with one macro per soc register...
Cheers
Detlev
--
It's like manually inflatable airbags -- people will never
think to use it in time to actually get any help from it.
-- Miles Bader in <20030607122005.GA1086 at gnu.org>
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
More information about the U-Boot
mailing list