linux-mediatek.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Allen Pais <allen.lkml@gmail.com>
To: herbert@gondor.apana.org.au
Cc: giovanni.cabiddu@intel.com, alexandre.belloni@bootlin.com,
	aymen.sghaier@nxp.com, heiko@sntech.de, qat-linux@intel.com,
	jamie@jamieiles.com, jesper.nilsson@axis.com,
	linux-samsung-soc@vger.kernel.org, horia.geanta@nxp.com,
	k.konieczny@samsung.com, schalla@marvell.com, krzk@kernel.org,
	linux-rockchip@lists.infradead.org,
	ludovic.desroches@microchip.com, thomas.lendacky@amd.com,
	arno@natisbad.org, vz@mleia.com, gilad@benyossef.com,
	gcherian@marvell.com, linux-mediatek@lists.infradead.org,
	lars.persson@axis.com, matthias.bgg@gmail.com,
	Allen Pais <apais@linux.microsoft.com>,
	john.allen@amd.com, bbrezillon@kernel.org,
	nicolas.ferre@microchip.com, linux-crypto@vger.kernel.org,
	Romain Perier <romain.perier@gmail.com>,
	davem@davemloft.net
Subject: [PATCH v4 07/19] crypto: ccree: convert tasklets to use new tasklet_setup() API
Date: Thu, 21 Jan 2021 10:11:14 +0530	[thread overview]
Message-ID: <20210121044126.152274-8-allen.lkml@gmail.com> (raw)
In-Reply-To: <20210121044126.152274-1-allen.lkml@gmail.com>

From: Allen Pais <apais@linux.microsoft.com>

In preparation for unconditionally passing the
struct tasklet_struct pointer to all tasklet
callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.

Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <apais@linux.microsoft.com>
---
 drivers/crypto/ccree/cc_fips.c        |  8 ++++----
 drivers/crypto/ccree/cc_request_mgr.c | 12 ++++++------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/crypto/ccree/cc_fips.c b/drivers/crypto/ccree/cc_fips.c
index 702aefc21447..c1d03d99e3c3 100644
--- a/drivers/crypto/ccree/cc_fips.c
+++ b/drivers/crypto/ccree/cc_fips.c
@@ -8,7 +8,7 @@
 #include "cc_driver.h"
 #include "cc_fips.h"
 
-static void fips_dsr(unsigned long devarg);
+static void fips_dsr(struct tasklet_struct *tsk);
 
 struct cc_fips_handle {
 	struct tasklet_struct tasklet;
@@ -109,9 +109,9 @@ void cc_tee_handle_fips_error(struct cc_drvdata *p_drvdata)
 }
 
 /* Deferred service handler, run as interrupt-fired tasklet */
-static void fips_dsr(unsigned long devarg)
+static void fips_dsr(struct tasklet_struct *tsk)
 {
-	struct cc_drvdata *drvdata = (struct cc_drvdata *)devarg;
+	struct cc_drvdata *drvdata = from_tasklet(drvdata, tsk, tasklet);
 	u32 irq, val;
 
 	irq = (drvdata->irq & (CC_GPR0_IRQ_MASK));
@@ -143,7 +143,7 @@ int cc_fips_init(struct cc_drvdata *p_drvdata)
 	p_drvdata->fips_handle = fips_h;
 
 	dev_dbg(dev, "Initializing fips tasklet\n");
-	tasklet_init(&fips_h->tasklet, fips_dsr, (unsigned long)p_drvdata);
+	tasklet_setup(&fips_h->tasklet, fips_dsr);
 	fips_h->drvdata = p_drvdata;
 	fips_h->nb.notifier_call = cc_ree_fips_failure;
 	atomic_notifier_chain_register(&fips_fail_notif_chain, &fips_h->nb);
diff --git a/drivers/crypto/ccree/cc_request_mgr.c b/drivers/crypto/ccree/cc_request_mgr.c
index 33fb27745d52..ec0f3bf00d33 100644
--- a/drivers/crypto/ccree/cc_request_mgr.c
+++ b/drivers/crypto/ccree/cc_request_mgr.c
@@ -70,7 +70,7 @@ static const u32 cc_cpp_int_masks[CC_CPP_NUM_ALGS][CC_CPP_NUM_SLOTS] = {
 	  BIT(CC_HOST_IRR_REE_OP_ABORTED_SM_7_INT_BIT_SHIFT) }
 };
 
-static void comp_handler(unsigned long devarg);
+static void comp_handler(struct tasklet_struct *t);
 #ifdef COMP_IN_WQ
 static void comp_work_handler(struct work_struct *work);
 #endif
@@ -140,8 +140,7 @@ int cc_req_mgr_init(struct cc_drvdata *drvdata)
 	INIT_DELAYED_WORK(&req_mgr_h->compwork, comp_work_handler);
 #else
 	dev_dbg(dev, "Initializing completion tasklet\n");
-	tasklet_init(&req_mgr_h->comptask, comp_handler,
-		     (unsigned long)drvdata);
+	tasklet_setup(&req_mgr_h->comptask, comp_handler);
 #endif
 	req_mgr_h->hw_queue_size = cc_ioread(drvdata,
 					     CC_REG(DSCRPTR_QUEUE_SRAM_SIZE));
@@ -611,11 +610,12 @@ static inline u32 cc_axi_comp_count(struct cc_drvdata *drvdata)
 }
 
 /* Deferred service handler, run as interrupt-fired tasklet */
-static void comp_handler(unsigned long devarg)
+static void comp_handler(struct tasklet_struct *t)
 {
-	struct cc_drvdata *drvdata = (struct cc_drvdata *)devarg;
 	struct cc_req_mgr_handle *request_mgr_handle =
-						drvdata->request_mgr_handle;
+				from_tasklet(request_mgr_handle, t, comptask);
+	struct cc_drvdata *drvdata = container_of((void *)request_mgr_handle,
+				     typeof(*drvdata), request_mgr_handle);
 	struct device *dev = drvdata_to_dev(drvdata);
 	u32 irq;
 
-- 
2.25.1


_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

  parent reply	other threads:[~2021-01-21  4:43 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-21  4:41 [PATCH v4 00/19]crypto: convert tasklets to use new tasklet_setup API() Allen Pais
2021-01-21  4:41 ` [PATCH v4 01/19] crypto: amcc: convert tasklets to use new tasklet_setup() API Allen Pais
2021-01-29  5:05   ` Herbert Xu
2021-01-29  9:08     ` Allen Pais
2021-01-21  4:41 ` [PATCH v4 02/19] crypto: atmel: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 03/19] crypto: axis: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 04/19] crypto: caam: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 05/19] crypto: cavium: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 06/19] crypto: ccp: " Allen Pais
2021-01-21  4:41 ` Allen Pais [this message]
2021-01-21  4:41 ` [PATCH v4 08/19] crypto: hifn_795x: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 09/19] crypto: img-hash: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 10/19] crypto: ixp4xx: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 11/19] crypto: mediatek: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 12/19] crypto: omap: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 13/19] crypto: picoxcell: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 14/19] crypto: qat: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 15/19] crypto: qce: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 16/19] crypto: rockchip: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 17/19] crypto: s5p: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 18/19] crypto: talitos: " Allen Pais
2021-01-21  4:41 ` [PATCH v4 19/19] crypto: octeontx: " Allen Pais

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210121044126.152274-8-allen.lkml@gmail.com \
    --to=allen.lkml@gmail.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=apais@linux.microsoft.com \
    --cc=arno@natisbad.org \
    --cc=aymen.sghaier@nxp.com \
    --cc=bbrezillon@kernel.org \
    --cc=davem@davemloft.net \
    --cc=gcherian@marvell.com \
    --cc=gilad@benyossef.com \
    --cc=giovanni.cabiddu@intel.com \
    --cc=heiko@sntech.de \
    --cc=herbert@gondor.apana.org.au \
    --cc=horia.geanta@nxp.com \
    --cc=jamie@jamieiles.com \
    --cc=jesper.nilsson@axis.com \
    --cc=john.allen@amd.com \
    --cc=k.konieczny@samsung.com \
    --cc=krzk@kernel.org \
    --cc=lars.persson@axis.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=ludovic.desroches@microchip.com \
    --cc=matthias.bgg@gmail.com \
    --cc=nicolas.ferre@microchip.com \
    --cc=qat-linux@intel.com \
    --cc=romain.perier@gmail.com \
    --cc=schalla@marvell.com \
    --cc=thomas.lendacky@amd.com \
    --cc=vz@mleia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).