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

Reply via email to