[PATCH] intel_th: msu-sink: reduce priv allocation to 1

Rosen Penev posted 1 patch 2 weeks, 1 day ago
drivers/hwtracing/intel_th/msu-sink.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
[PATCH] intel_th: msu-sink: reduce priv allocation to 1
Posted by Rosen Penev 2 weeks, 1 day ago
Simpler to use a flexible array member and kzalloc_flex.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/hwtracing/intel_th/msu-sink.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/hwtracing/intel_th/msu-sink.c b/drivers/hwtracing/intel_th/msu-sink.c
index b809a7f805a9..608d0f3d9e1a 100644
--- a/drivers/hwtracing/intel_th/msu-sink.c
+++ b/drivers/hwtracing/intel_th/msu-sink.c
@@ -15,24 +15,18 @@
 
 struct msu_sink_private {
 	struct device	*dev;
-	struct sg_table **sgts;
 	unsigned int	nr_sgts;
+	struct sg_table *sgts[];
 };
 
 static void *msu_sink_assign(struct device *dev, int *mode)
 {
 	struct msu_sink_private *priv;
 
-	priv = kzalloc_obj(*priv);
+	priv = kzalloc_flex(*priv, sgts, MAX_SGTS, GFP_KERNEL);
 	if (!priv)
 		return NULL;
 
-	priv->sgts = kcalloc(MAX_SGTS, sizeof(void *), GFP_KERNEL);
-	if (!priv->sgts) {
-		kfree(priv);
-		return NULL;
-	}
-
 	priv->dev = dev;
 	*mode = MSC_MODE_MULTI;
 
@@ -43,7 +37,6 @@ static void msu_sink_unassign(void *data)
 {
 	struct msu_sink_private *priv = data;
 
-	kfree(priv->sgts);
 	kfree(priv);
 }
 
-- 
2.53.0