Re: [PATCH] [v2] watchdog: introduce the ARM64 SBSA watchdog driver

Timur Tabi
2015-05-14T20:15:55Z

On 05/14/2015 03:03 PM, Arnd Bergmann wrote:
>> >+ writel(cpu_to_le32(wor), &data->control->wor);
> Why the double endianess swap? Are the registers defined to be CPU-endian?
>
> You probably mean le32_to_cpu() here, not the other way round, although
> the effect is the same.

Maybe I'd doing the whole __le32 thing wrong, but I think
cpu_to_le32(wor) is correct. 'wor' is a normal integer, so it's in
"cpu" format. I want to convert it to le32 format so that I write an
le32 value to memory. Therefore, cpu_to_le32(). Most calls to writel()
use cpu_to_le32():

$ git grep -l "writel(cpu_to_le32"
arch/m68k/coldfire/pci.c
arch/mips/pci/ops-bcm63xx.c
arch/mips/pci/ops-bonito64.c
arch/mips/pci/ops-loongson2.c
arch/parisc/include/asm/io.h
drivers/atm/fore200e.c
drivers/block/umem.c
drivers/isdn/hardware/mISDN/hfcmulti.c
drivers/mtd/nand/r852.c
drivers/net/ethernet/brocade/bna/bfa_ioc.c
drivers/parisc/eisa.c
drivers/scsi/bfa/bfa_ioc.c
drivers/scsi/bnx2fc/bnx2fc_hwi.c
drivers/scsi/bnx2i/bnx2i_hwi.c
drivers/scsi/hptiop.c
drivers/scsi/mpt2sas/mpt2sas_base.c
drivers/scsi/mpt3sas/mpt3sas_base.c
drivers/scsi/nsp32_io.h
drivers/staging/i2o/i2o.h
drivers/usb/isp1760/isp1760-hcd.c
sound/pci/mixart/mixart_hwdep.h

$ git grep -l "writel(le32_to_cpu"
drivers/scsi/hpsa.c
drivers/scsi/megaraid/megaraid_sas_fusion.c
drivers/virtio/virtio_mmio.c

--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.