On 8/3/2013 9:47 AM, Marek Vasut wrote:
Dear Troy Kisky,
[...]
Why is there a union ? It looks to me like you just want to access the
same variable
with 2 naming strategies.
That is correct. I can either pass it further into functions as the
struct mxs_register_32 name_reg or I can directly access it as
name_set/_clr/_tog . Works just fine.
I never said it didn't work, obviously it does.
Best regards,
Marek Vasut
There may be code that you can point at that would make this useful, but
I have
a hard time envisioning it. The code I added, I know doesn't need a
union, and I bet most
of the other variable accesses don't need a union. That's why I asked if
you'd like
me to attempt to clean it up (always access thru struct, ie replace
name_set with name.set).
No, I want to keep this as-is. Especially because the MX28 has the registers
named exactly by this scheme.
Exactly matching documentation is a good advantage.
I don't want to change the code I added to use this.
Please do, I do not want a duplicit implementation of these register structures
in the tree.
I can see a small advantage in consistency with the mx28.
THe MX6 uses many IP blocks from MX28 -- APBH DMA, NAND, USB -- to name a few.
Keeping mx28 and mx6 aligned is more than helpful.
Best regards,
Marek Vasut
Marek, I really appreciate your willingness to explain your reasoning.
Though I wouldn't do this
without prompting, perhaps my dislike of unions is a bit irrational. But
since there are also many
other places where this change could be made (grep _tog in
arch-mx6/crm_regs.h, imx-regs.h,)
I'd like Stefano to say he is OK with using mxs_reg_32 and doesn't share
my opinion and doesn't
want to rename it to something else. After all, you're talking about
removing a structure with only
4 members, not a great amount of duplication.
Troy
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot