On Mon, May 18, 2020 at 2:57 PM Arnd Bergmann <arnd@xxxxxxxx> wrote: > On Mon, May 18, 2020 at 1:43 PM Andy Shevchenko > <andy.shevchenko@xxxxxxxxx> wrote: > > On Mon, May 18, 2020 at 2:39 PM Ramuthevar, Vadivel MuruganX > > <vadivel.muruganx.ramuthevar@xxxxxxxxxxxxxxx> wrote: > > > On 15/5/2020 10:30 pm, Arnd Bergmann wrote: > > > > On Fri, May 15, 2020 at 4:25 PM Andy Shevchenko > > > > <andy.shevchenko@xxxxxxxxx> wrote: > > > >> On Fri, May 15, 2020 at 4:48 PM kbuild test robot <lkp@xxxxxxxxx> wrote: > > > > > > iowrite_be32() is the correct way to store word into a big-endian mmio register, > > > > if that is the intention here. > > > Thank you for suggestions to use iowrite32be(), it suits exactly. > > > > Can you before doing this comment what is the real intention here? > > > > And note, if you are going to use iowrite*() / ioread*() in one place, > > you will probably need to replace all of the read*() / write*() to > > respective io* API. > > The way that ioread/iowrite are defined, they are required to be a superset > of what readl/writel do and can take __iomem pointers from either > ioremap() or ioport_map()/pci_iomap() style mappings, while readl/writel > are only required to work with ioremap(). > > There is no technical requirement to stick to one set or the other for > ioremap(), but the overhead of ioread/iowrite is also small enough > that it generally does not hurt. Right, my suggestion is solely for consistency. It would be a bit weird to see readl() along with ioread32() in the same driver (in case there are no differentiated callbacks specifically for different type of IP). -- With Best Regards, Andy Shevchenko