Message ID | 20190312212318.17822-1-malat@debian.org (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | [v2] powerpc/32: sstep: Move variable `rc` within CONFIG_PPC64 sentinels | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch next (9580b71b5a7863c24a9bd18bcd2ad759b86b1eff) |
snowpatch_ozlabs/build-ppc64le | success | build succeeded & removed 0 sparse warning(s) |
snowpatch_ozlabs/build-ppc64be | success | build succeeded & removed 0 sparse warning(s) |
snowpatch_ozlabs/build-ppc64e | success | build succeeded & removed 0 sparse warning(s) |
snowpatch_ozlabs/build-pmac32 | success | build succeeded & removed 0 sparse warning(s) |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 20 lines checked |
ping ? On Tue, Mar 12, 2019 at 10:23 PM Mathieu Malaterre <malat@debian.org> wrote: > > Fix warnings treated as errors with W=1: > > arch/powerpc/lib/sstep.c:1172:31: error: variable 'rc' set but not used [-Werror=unused-but-set-variable] > > Suggested-by: Christophe Leroy <christophe.leroy@c-s.fr> > Signed-off-by: Mathieu Malaterre <malat@debian.org> > --- > v2: as suggested prefer CONFIG_PPC64 sentinel instead of unused keyword > > arch/powerpc/lib/sstep.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c > index 3d33fb509ef4..9996dc7a0b46 100644 > --- a/arch/powerpc/lib/sstep.c > +++ b/arch/powerpc/lib/sstep.c > @@ -1169,7 +1169,10 @@ static nokprobe_inline int trap_compare(long v1, long v2) > int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, > unsigned int instr) > { > - unsigned int opcode, ra, rb, rc, rd, spr, u; > + unsigned int opcode, ra, rb, rd, spr, u; > +#ifdef CONFIG_PPC64 > + unsigned int rc; > +#endif > unsigned long int imm; > unsigned long int val, val2; > unsigned int mb, me, sh; > @@ -1292,7 +1295,9 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, > rd = (instr >> 21) & 0x1f; > ra = (instr >> 16) & 0x1f; > rb = (instr >> 11) & 0x1f; > +#ifdef CONFIG_PPC64 > rc = (instr >> 6) & 0x1f; > +#endif > > switch (opcode) { > #ifdef __powerpc64__ > -- > 2.20.1 >
Mathieu Malaterre <malat@debian.org> writes: > Fix warnings treated as errors with W=1: > > arch/powerpc/lib/sstep.c:1172:31: error: variable 'rc' set but not used [-Werror=unused-but-set-variable] > > Suggested-by: Christophe Leroy <christophe.leroy@c-s.fr> > Signed-off-by: Mathieu Malaterre <malat@debian.org> > --- > v2: as suggested prefer CONFIG_PPC64 sentinel instead of unused keyword I'd rather avoid adding more ifdefs if we can. I think this works? cheers diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c index 3d33fb509ef4..600b036ddfda 100644 --- a/arch/powerpc/lib/sstep.c +++ b/arch/powerpc/lib/sstep.c @@ -1169,7 +1169,7 @@ static nokprobe_inline int trap_compare(long v1, long v2) int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, unsigned int instr) { - unsigned int opcode, ra, rb, rc, rd, spr, u; + unsigned int opcode, ra, rb, rd, spr, u; unsigned long int imm; unsigned long int val, val2; unsigned int mb, me, sh; @@ -1292,7 +1292,6 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, rd = (instr >> 21) & 0x1f; ra = (instr >> 16) & 0x1f; rb = (instr >> 11) & 0x1f; - rc = (instr >> 6) & 0x1f; switch (opcode) { #ifdef __powerpc64__ @@ -1307,10 +1306,14 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, return 1; #ifdef __powerpc64__ - case 4: + case 4: { + unsigned int rc; + if (!cpu_has_feature(CPU_FTR_ARCH_300)) return -1; + rc = (instr >> 6) & 0x1f; + switch (instr & 0x3f) { case 48: /* maddhd */ asm volatile(PPC_MADDHD(%0, %1, %2, %3) : @@ -1336,6 +1339,7 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, * primary opcode which do not have emulation support yet. */ return -1; + } #endif case 7: /* mulli */
On Tue, May 28, 2019 at 1:40 PM Michael Ellerman <mpe@ellerman.id.au> wrote: > > Mathieu Malaterre <malat@debian.org> writes: > > > Fix warnings treated as errors with W=1: > > > > arch/powerpc/lib/sstep.c:1172:31: error: variable 'rc' set but not used [-Werror=unused-but-set-variable] > > > > Suggested-by: Christophe Leroy <christophe.leroy@c-s.fr> > > Signed-off-by: Mathieu Malaterre <malat@debian.org> > > --- > > v2: as suggested prefer CONFIG_PPC64 sentinel instead of unused keyword > > I'd rather avoid adding more ifdefs if we can. > > I think this works? It does ! ;) Reviewed-by: Mathieu Malaterre <malat@debian.org> > cheers > > diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c > index 3d33fb509ef4..600b036ddfda 100644 > --- a/arch/powerpc/lib/sstep.c > +++ b/arch/powerpc/lib/sstep.c > @@ -1169,7 +1169,7 @@ static nokprobe_inline int trap_compare(long v1, long v2) > int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, > unsigned int instr) > { > - unsigned int opcode, ra, rb, rc, rd, spr, u; > + unsigned int opcode, ra, rb, rd, spr, u; > unsigned long int imm; > unsigned long int val, val2; > unsigned int mb, me, sh; > @@ -1292,7 +1292,6 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, > rd = (instr >> 21) & 0x1f; > ra = (instr >> 16) & 0x1f; > rb = (instr >> 11) & 0x1f; > - rc = (instr >> 6) & 0x1f; > > switch (opcode) { > #ifdef __powerpc64__ > @@ -1307,10 +1306,14 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, > return 1; > > #ifdef __powerpc64__ > - case 4: > + case 4: { > + unsigned int rc; > + > if (!cpu_has_feature(CPU_FTR_ARCH_300)) > return -1; > > + rc = (instr >> 6) & 0x1f; > + > switch (instr & 0x3f) { > case 48: /* maddhd */ > asm volatile(PPC_MADDHD(%0, %1, %2, %3) : > @@ -1336,6 +1339,7 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, > * primary opcode which do not have emulation support yet. > */ > return -1; > + } > #endif > > case 7: /* mulli */
diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c index 3d33fb509ef4..9996dc7a0b46 100644 --- a/arch/powerpc/lib/sstep.c +++ b/arch/powerpc/lib/sstep.c @@ -1169,7 +1169,10 @@ static nokprobe_inline int trap_compare(long v1, long v2) int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, unsigned int instr) { - unsigned int opcode, ra, rb, rc, rd, spr, u; + unsigned int opcode, ra, rb, rd, spr, u; +#ifdef CONFIG_PPC64 + unsigned int rc; +#endif unsigned long int imm; unsigned long int val, val2; unsigned int mb, me, sh; @@ -1292,7 +1295,9 @@ int analyse_instr(struct instruction_op *op, const struct pt_regs *regs, rd = (instr >> 21) & 0x1f; ra = (instr >> 16) & 0x1f; rb = (instr >> 11) & 0x1f; +#ifdef CONFIG_PPC64 rc = (instr >> 6) & 0x1f; +#endif switch (opcode) { #ifdef __powerpc64__
Fix warnings treated as errors with W=1: arch/powerpc/lib/sstep.c:1172:31: error: variable 'rc' set but not used [-Werror=unused-but-set-variable] Suggested-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Mathieu Malaterre <malat@debian.org> --- v2: as suggested prefer CONFIG_PPC64 sentinel instead of unused keyword arch/powerpc/lib/sstep.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)