[PATCH 04/18] ARM: at91: make ST (System Timer) soc independent

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sun Feb 19 22:23:24 EST 2012


On 14:16 Mon 20 Feb     , Ryan Mallon wrote:
> On 20/02/12 14:02, Jean-Christophe PLAGNIOL-VILLARD wrote:
> 
> > On 12:52 Mon 20 Feb     , Ryan Mallon wrote:
> >> On 20/02/12 12:38, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >>
> >>> On 11:22 Mon 20 Feb     , Ryan Mallon wrote:
> >>>> On 18/02/12 04:49, Nicolas Ferre wrote:
> >>>>
> >>>>> From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> >>>>>
> >>>>> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> >>>>> Acked-by: Nicolas Ferre <nicolas.ferre at atmel.com>
> >>>>> ---
> >>>>>  arch/arm/mach-at91/at91rm9200.c              |    4 +-
> >>>>>  arch/arm/mach-at91/at91rm9200_time.c         |   37 ++++++++++++++++----------
> >>>>>  arch/arm/mach-at91/generic.h                 |    1 +
> >>>>>  arch/arm/mach-at91/include/mach/at91_st.h    |   32 +++++++++++++++-------
> >>>>>  arch/arm/mach-at91/include/mach/at91rm9200.h |    2 +-
> >>>>>  drivers/watchdog/at91rm9200_wdt.c            |    8 +++---
> >>>>>  6 files changed, 53 insertions(+), 31 deletions(-)
> >>>>>
> >>>>> diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c
> >>>>
> >>>> Hi Jean, Nicolas,
> >>>>
> >>>> Patch looks mostly good, couple of points below.
> >>>>
> >>>> ~Ryan
> >>>>
> >>>> <snip>
> >>>>
> >>>>>  	/* Cancel any pending alarm; flush any pending IRQ */
> >>>>> -	at91_sys_write(AT91_ST_RTAR, alm);
> >>>>> -	(void) at91_sys_read(AT91_ST_SR);
> >>>>> +	at91_st_write(AT91_ST_RTAR, alm);
> >>>>> +	(void) at91_st_read(AT91_ST_SR);
> >>>>
> >>>>
> >>>> Can we please remove the (void) casting of the return value when making
> >>>> this change, especially since at91_st_read is now a macro which doesn't
> >>>> even have a return value. Same in a few other places.
> >>> modification done by script and it's no the scope of this patch
> >>
> >>
> >> That isn't an excuse to leave incorrect code there. It is a simple fix.
> > no (void) in c means you don't care of the return so basically it's right
> 
> 
> Because of the way the __raw_writel is defined you are casting the
> result of an assignment, basically you are doing this:
> 
>    int foo, bar;
> 
>   (void)(foo = bar);
> 
> Which is pointless. Don't make excuses for silly, redundant code. Fix
> it, please.
except it's a read it has nothing to do with that

Best Regards,
J.



More information about the linux-arm-kernel mailing list