In case of MHI MMIO writes, the register field write function needs to do reads before writes are performed. Propagate read failures such that callers are made aware of those and can take appropriate action instead of running blind. Optimizing the MMIO initialization function to use mhi_write_reg() in most cases should also be done to improve design. These patches were tested on X86_64 architecture with Ubuntu 18.04 and SDX65 attach. v4: Address review comments about log messages, and a missing blank line v3: Noticed this was reviewed but never picked up. Rebased to -next v2: -Fix testbot reported missing set of changes from pm.c Bhaumik Bhatt (2): bus: mhi: host: Bail on writing register fields if read fails bus: mhi: host: Optimize and update MMIO register write method drivers/bus/mhi/host/boot.c | 22 +++++++++---- drivers/bus/mhi/host/init.c | 68 ++++++++++++++++++++++++----------------- drivers/bus/mhi/host/internal.h | 7 +++-- drivers/bus/mhi/host/main.c | 9 ++++-- drivers/bus/mhi/host/pm.c | 15 ++++++--- 5 files changed, 77 insertions(+), 44 deletions(-) -- 2.7.4