From: Shannon Nelson <[email protected]>
Date: Mon, 22 Jul 2019 14:40:06 -0700
> +void ionic_init_devinfo(struct ionic_dev *idev)
> +{
> + idev->dev_info.asic_type = ioread8(&idev->dev_info_regs->asic_type);
> + idev->dev_info.asic_rev = ioread8(&idev->dev_info_regs->asic_rev);
> +
> + memcpy_fromio(idev->dev_info.fw_version,
> + idev->dev_info_regs->fw_version,
> + IONIC_DEVINFO_FWVERS_BUFLEN);
> +
> + memcpy_fromio(idev->dev_info.serial_num,
> + idev->dev_info_regs->serial_num,
> + IONIC_DEVINFO_SERIAL_BUFLEN);
...
> + sig = ioread32(&idev->dev_info_regs->signature);
I think if you are going to use the io{read,write}{8,16,32,64}()
interfaces then you should use io{read,write}{8,16,32,64}_rep()
instead of memcpy_{to,from}io().