[U-Boot] [PATCH] ARM: zynq: Add function to get reboot status register value.

Moritz Fischer moritz.fischer at ettus.com
Wed Jan 27 14:53:30 CET 2016


Hi Michal,

On Wed, Jan 27, 2016 at 2:15 PM, Michal Simek <michal.simek at xilinx.com> wrote:
> On 27.1.2016 12:22, Moritz Fischer wrote:
>> Signed-off-by: Moritz Fischer <moritz.fischer at ettus.com>
>> ---
>> Hi Michal,
>>
>>    I was planning to use this in future to boot into recovery mode.
>>    The change is small enough I feel that we could directly take it.
>>    If you want to hold off until there's a user that's fine for me, too.
>>
>>    Cheers,
>>
>>    Moritz
>> ---
>>  arch/arm/mach-zynq/slcr.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/arch/arm/mach-zynq/slcr.c b/arch/arm/mach-zynq/slcr.c
>> index 05f4099..709711a 100644
>> --- a/arch/arm/mach-zynq/slcr.c
>> +++ b/arch/arm/mach-zynq/slcr.c
>> @@ -166,6 +166,11 @@ u32 zynq_slcr_get_boot_mode(void)
>>       return readl(&slcr_base->boot_mode);
>>  }
>>
>> +u32 zynq_slcr_get_reboot_status(void)
>> +{
>> +     return readl(&slcr_base->reboot_status);
>> +}
>> +
>>  u32 zynq_slcr_get_idcode(void)
>>  {
>>       return (readl(&slcr_base->pss_idcode) & SLCR_IDCODE_MASK) >>
>>
>
> Isn't this generating sparse warning if it is not used and declared?

Derp. It doesn't generate a warning for not being used, however for
not being declared it does,
the entry in sys_proto.h is missing:

  CHECK   arch/arm/mach-zynq/slcr.c
arch/arm/mach-zynq/slcr.c:97:9: warning: cast to restricted __le32
arch/arm/mach-zynq/slcr.c:97:9: warning: incorrect type in assignment
(different base types)
arch/arm/mach-zynq/slcr.c:97:9:    expected unsigned int volatile
[unsigned] <noident>
arch/arm/mach-zynq/slcr.c:97:9:    got restricted __le32 [usertype] <noident>
arch/arm/mach-zynq/slcr.c:169:5: warning: symbol
'zynq_slcr_get_reboot_status' was not declared. Should it be static?
  CC      arch/arm/mach-zynq/slcr.o
  LD      arch/arm/mach-zynq/built-in.o

when added to header this becomes:

  CHECK   arch/arm/mach-zynq/slcr.c
arch/arm/mach-zynq/slcr.c:97:9: warning: cast to restricted __le32
arch/arm/mach-zynq/slcr.c:97:9: warning: incorrect type in assignment
(different base types)
arch/arm/mach-zynq/slcr.c:97:9:    expected unsigned int volatile
[unsigned] <noident>
arch/arm/mach-zynq/slcr.c:97:9:    got restricted __le32 [usertype] <noident>
  CC      arch/arm/mach-zynq/slcr.o
  LD      arch/arm/mach-zynq/built-in.o

These were there before ;-)

I can resend with the header line added,

Moritz


More information about the U-Boot mailing list