The insn_table_MM is an array of constant structures and as such should be declared const. This change saves 1024 bytes of kernel text on a micro32r2el_defconfig. Before: text data bss dec hex filename 4138863 1130964 296432 5566259 54ef33 vmlinux After: text data bss dec hex filename 4137839 1130964 296432 5565235 54eb33 vmlinux Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx> --- arch/mips/mm/uasm-micromips.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/mips/mm/uasm-micromips.c b/arch/mips/mm/uasm-micromips.c index 277cf52d80e1..ddc5a9cfe2a5 100644 --- a/arch/mips/mm/uasm-micromips.c +++ b/arch/mips/mm/uasm-micromips.c @@ -40,7 +40,7 @@ #include "uasm.c" -static struct insn insn_table_MM[] = { +static const struct insn insn_table_MM[] = { { insn_addu, M(mm_pool32a_op, 0, 0, 0, 0, mm_addu32_op), RT | RS | RD }, { insn_addiu, M(mm_addiu32_op, 0, 0, 0, 0, 0), RT | RS | SIMM }, { insn_and, M(mm_pool32a_op, 0, 0, 0, 0, mm_and_op), RT | RS | RD }, @@ -156,7 +156,7 @@ static inline u32 build_jimm(u32 arg) */ static void build_insn(u32 **buf, enum opcode opc, ...) { - struct insn *ip = NULL; + const struct insn *ip = NULL; unsigned int i; va_list ap; u32 op; -- 2.7.4