msm: ADSPRPC: Use module specific class name

Update the class name passed during class creation to match the module
rather than use a generic one. If another driver uses this same generic
name then the class creation would fail.

Change-Id: I33d7527e27c56fd943c93f823d99d244e2348319
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
msm: ADSPRPC: Add checks for erroneous values

Check for invalid parameters passed in user invocation
and validate the return values using appropriate macros.

Change-Id: If529873d025ac0c13725efbedda5a58fae327722
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
msm: ADSPRPC: Close SMD channel after RPC session ends

The SMD channel open request needs to be delayed as the
remote processor may not be up early on when the driver
is initialized. The SMD channel is opened when the first
RPC session is opened and closed when the last RPC
session ends.

Change-Id: I0bbff2956c3e367312d4344107340feb29e643ab
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
introduce kref_put_mutex()

equivalent of
	mutex_lock(mutex);
	if (!kref_put(kref, release))
		mutex_unlock(mutex);

Change-Id: I59f3dd1425e871e0b73b463447f74bc66d65ba0b
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
[mitchelh@codeaurora.org: trivial conflict due to moved code]
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Merge "introduce kref_put_mutex()"
Merge "msm: ADSPRPC: Use module specific class name"
Merge "msm: ADSPRPC: Add checks for erroneous values"
msm: ADSPRPC: Add mappings to IOMMU for remote heap

The remote heap buffers need to be mapped and unmapped in
the IOMMU when SMMU is present on the remote processor.

Change-Id: I9d78e1098a4163109dbde4c23681be4cfb8a353a
Acked-by: Sathish Ambley <sambley@qti.qualcomm.com>
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
input: touchscreen: release all invalid point after resume

Touchscreen sometimes get invalid touch event after suspend and
resume, this may cause framework hang. This change fix this issue
by send release event for all possiaple ptouch points.

Change-Id: Ib0f0f837499e9f77c3bb4d87f7b52621009b3317
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
Merge "msm: ADSPRPC: Add mappings to IOMMU for remote heap"
Merge "input: touchscreen: release all invalid point after resume"
Merge "msm: ADSPRPC: Close SMD channel after RPC session ends"