diff options
author | Satoshi Noguchi <satoshi.noguchi@jp.synaptics.com> | 2014-09-29 02:47:25 -0700 |
---|---|---|
committer | Satoshi Noguchi <satoshi.noguchi@jp.synaptics.com> | 2014-09-29 13:50:05 -0700 |
commit | 3020cbb062d094612429051eec89f268133799ac (patch) | |
tree | d2bf0c4bf712586528f667697c490fb9d4889998 /rmidevice/rmidevice.cpp | |
parent | 2230416db6b17770d7006b37bef08bff5c48cbf0 (diff) | |
download | rmi4utils-3020cbb062d094612429051eec89f268133799ac.tar.gz |
Have interrupt register number and mask in RMIFunction
Diffstat (limited to 'rmidevice/rmidevice.cpp')
-rw-r--r-- | rmidevice/rmidevice.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/rmidevice/rmidevice.cpp b/rmidevice/rmidevice.cpp index 6802d8e..454998c 100644 --- a/rmidevice/rmidevice.cpp +++ b/rmidevice/rmidevice.cpp @@ -262,6 +262,7 @@ int RMIDevice::ScanPDT(int endFunc, int endPage) unsigned int maxPage; unsigned int addr; unsigned char entry[RMI_DEVICE_PDT_ENTRY_SIZE]; + unsigned int interruptCount = 0; maxPage = (unsigned int)((endPage < 0) ? RMI_DEVICE_MAX_PAGE : endPage); @@ -282,11 +283,12 @@ int RMIDevice::ScanPDT(int endFunc, int endPage) return rc; } - RMIFunction func(entry, page_start); + RMIFunction func(entry, page_start, interruptCount); if (func.GetFunctionNumber() == 0) break; m_functionList.push_back(func); + interruptCount += func.GetInterruptSourceCount(); found = true; if (func.GetFunctionNumber() == endFunc) @@ -297,6 +299,8 @@ int RMIDevice::ScanPDT(int endFunc, int endPage) break; } + m_numInterruptRegs = (interruptCount + 7) / 8; + return 0; } |