From dc3ae2aeb9919b0a45d9ff2dfe07d26a9625e57d Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Tue, 30 Sep 2014 15:51:38 +0200 Subject: qeditor: rework register dump to be more general and flexible Change-Id: I2fb7a2813c93f0804ed1ca6223625706d0dff9a5 Reviewed-on: http://gerrit.rockbox.org/998 Reviewed-by: Amaury Pouly --- utils/regtools/qeditor/backend.cpp | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'utils/regtools/qeditor/backend.cpp') diff --git a/utils/regtools/qeditor/backend.cpp b/utils/regtools/qeditor/backend.cpp index c2db1f2..e9d7941 100644 --- a/utils/regtools/qeditor/backend.cpp +++ b/utils/regtools/qeditor/backend.cpp @@ -587,10 +587,17 @@ bool BackendHelper::ReadRegisterField(const QString& dev, const QString& reg, return true; } -bool BackendHelper::DumpAllRegisters(const QString& filename) +bool BackendHelper::DumpAllRegisters(const QString& filename, bool ignore_errors) { FileIoBackend b(filename, QString::fromStdString(m_soc.GetSoc().name)); - BackendHelper bh(&b, m_soc); + bool ret = DumpAllRegisters(&b, ignore_errors); + return ret && b.Commit(); +} + +bool BackendHelper::DumpAllRegisters(IoBackend *backend, bool ignore_errors) +{ + BackendHelper bh(backend, m_soc); + bool ret = true; for(size_t i = 0; i < m_soc.GetSoc().dev.size(); i++) { const soc_dev_t& dev = m_soc.GetSoc().dev[i]; @@ -605,12 +612,20 @@ bool BackendHelper::DumpAllRegisters(const QString& filename) QString regname = QString::fromStdString(reg.addr[l].name); soc_word_t val; if(!ReadRegister(devname, regname, val)) - return false; + { + ret = false; + if(!ignore_errors) + return false; + } if(!bh.WriteRegister(devname, regname, val)) - return false; + { + ret = false; + if(!ignore_errors) + return false; + } } } } } - return b.Commit(); + return ret; } -- cgit v1.1