提交 fc9e8b4e 编写于 作者: T Timur Tabi 提交者: Paul Mackerras

[PATCH] Optimize qe_brg struct to use an array

The qe_brg structure manually defined each of the 16 BRG registers, which
made any code that used them cumbersome.  This patch replaces the fields
with a single 16-element array.
Signed-off-by: NTimur Tabi <timur@freescale.com>
Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
Signed-off-by: NPaul Mackerras <paulus@samba.org>
上级 0613ffbf
......@@ -175,8 +175,7 @@ void qe_setbrg(u32 brg, u32 rate)
u32 divisor, tempval;
int div16 = 0;
bp = &qe_immr->brg.brgc1;
bp += brg;
bp = &qe_immr->brg.brgc[brg];
divisor = (get_brg_clk() / rate);
if (divisor > QE_BRGC_DIVISOR_MAX + 1) {
......
......@@ -136,22 +136,7 @@ struct qe_timers {
/* BRG */
struct qe_brg {
__be32 brgc1; /* BRG1 configuration register */
__be32 brgc2; /* BRG2 configuration register */
__be32 brgc3; /* BRG3 configuration register */
__be32 brgc4; /* BRG4 configuration register */
__be32 brgc5; /* BRG5 configuration register */
__be32 brgc6; /* BRG6 configuration register */
__be32 brgc7; /* BRG7 configuration register */
__be32 brgc8; /* BRG8 configuration register */
__be32 brgc9; /* BRG9 configuration register */
__be32 brgc10; /* BRG10 configuration register */
__be32 brgc11; /* BRG11 configuration register */
__be32 brgc12; /* BRG12 configuration register */
__be32 brgc13; /* BRG13 configuration register */
__be32 brgc14; /* BRG14 configuration register */
__be32 brgc15; /* BRG15 configuration register */
__be32 brgc16; /* BRG16 configuration register */
__be32 brgc[16]; /* BRG configuration registers */
u8 res0[0x40];
} __attribute__ ((packed));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册