Add the missing callback and the corresponding description in the
relevant chapter.

Signed-off-by: Antonio Borneo <[email protected]>
---
 Documentation/locking/hwspinlock.rst | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Documentation/locking/hwspinlock.rst 
b/Documentation/locking/hwspinlock.rst
index a737c702a7d1d..fbca4e7bf4ceb 100644
--- a/Documentation/locking/hwspinlock.rst
+++ b/Documentation/locking/hwspinlock.rst
@@ -425,6 +425,7 @@ There are three possible callbacks defined in 'struct 
hwspinlock_ops'::
        struct hwspinlock_ops {
                int (*trylock)(struct hwspinlock *lock);
                void (*unlock)(struct hwspinlock *lock);
+               int (*bust)(struct hwspinlock *lock, unsigned int id);
                void (*relax)(struct hwspinlock *lock);
        };
 
@@ -436,6 +437,10 @@ return 0 on failure and 1 on success. This callback may 
**not** sleep.
 The ->unlock() callback releases the lock. It always succeed, and it, too,
 may **not** sleep.
 
+The ->bust() callback is optional. It is called by hwspinlock core to bust a
+specific lock when the remote processor 'id' is not responding, e.g. due to a
+firmware crash.
+
 The ->relax() callback is optional. It is called by hwspinlock core while
 spinning on a lock, and can be used by the underlying implementation to force
 a delay between two successive invocations of ->trylock(). It may **not** 
sleep.

base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
-- 
2.34.1


Reply via email to