[PATCH v2 2/4] block: add private field to struct keyslot_manager

From: Satya Tangirala
Date: Thu Oct 15 2020 - 17:46:55 EST


Add a (void *) pointer to struct keyslot_manager that the owner of the
struct can use for any purpose it wants.

Right now, the struct keyslot_manager is expected to be embedded directly
into other structs (and the owner of the keyslot_manager would use
container_of() to access any other data the owner needs). However, this
might take up more space than is acceptable, and it would be better to be
able to add only a pointer to a struct keyslot_manager into other structs
rather than embed the entire struct directly. But container_of() can't be
used when only the pointer to the keyslot_manager is embded. The primary
motivation of this patch is to get around that issue.

Signed-off-by: Satya Tangirala <satyat@xxxxxxxxxx>
---
include/linux/keyslot-manager.h | 3 +++
1 file changed, 3 insertions(+)

diff --git a/include/linux/keyslot-manager.h b/include/linux/keyslot-manager.h
index 323e15dd6fa7..37f1022b256f 100644
--- a/include/linux/keyslot-manager.h
+++ b/include/linux/keyslot-manager.h
@@ -59,6 +59,9 @@ struct blk_keyslot_manager {
/* Device for runtime power management (NULL if none) */
struct device *dev;

+ /* Private data for owner */
+ void *priv;
+
/* Here onwards are *private* fields for internal keyslot manager use */

unsigned int num_slots;
--
2.29.0.rc1.297.gfa9743e501-goog