remoteproc: qcom: Add per subsystem SSR notification
authorRishabh Bhatnagar <rishabhb@codeaurora.org>
Wed, 24 Jun 2020 02:23:27 +0000 (19:23 -0700)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 9 Jul 2020 04:45:03 +0000 (21:45 -0700)
commit5abfe5cf0b8358b8ad0da99e4188c2519839d67c
tree946f66d432818175a3593a48b596bf13be1204c4
parentd4c78d2167913b3f7af0d2189fd3d76f6614a1bf
remoteproc: qcom: Add per subsystem SSR notification

Currently there is a single notification chain which is called whenever any
remoteproc shuts down. This leads to all the listeners being notified, and
is not an optimal design as kernel drivers might only be interested in
listening to notifications from a particular remoteproc. Create a global
list of remoteproc notification info data structures. This will hold the
name and notifier_list information for a particular remoteproc. The API
to register for notifications will use name argument to retrieve the
notification info data structure and the notifier block will be added to
that data structure's notification chain. Also move from blocking notifier
to srcu notifer based implementation to support dynamic notifier head
creation.

Reviewed-by: Alex Elder <elder@linaro.org>
Co-developed-by: Siddharth Gupta <sidgup@codeaurora.org>
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
Signed-off-by: Rishabh Bhatnagar <rishabhb@codeaurora.org>
Link: https://lore.kernel.org/r/1592965408-16908-2-git-send-email-rishabhb@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/qcom_common.c
drivers/remoteproc/qcom_common.h
include/linux/remoteproc/qcom_rproc.h