Message ID | 20210112014650.10887-7-allen.lkml@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | crypto: convert tasklets to use new tasklet_setup API() | expand |
On Tue, Jan 12, 2021 at 07:16:37AM +0530, Allen Pais wrote: > 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> Acked-by: John Allen <john.allen@amd.com> > --- > drivers/crypto/ccp/ccp-dev-v3.c | 9 ++++----- > drivers/crypto/ccp/ccp-dev-v5.c | 9 ++++----- > drivers/crypto/ccp/ccp-dmaengine.c | 7 +++---- > 3 files changed, 11 insertions(+), 14 deletions(-) > > diff --git a/drivers/crypto/ccp/ccp-dev-v3.c b/drivers/crypto/ccp/ccp-dev-v3.c > index 0d5576f6ad21..858566867fa3 100644 > --- a/drivers/crypto/ccp/ccp-dev-v3.c > +++ b/drivers/crypto/ccp/ccp-dev-v3.c > @@ -321,9 +321,9 @@ static void ccp_enable_queue_interrupts(struct ccp_device *ccp) > iowrite32(ccp->qim, ccp->io_regs + IRQ_MASK_REG); > } > > -static void ccp_irq_bh(unsigned long data) > +static void ccp_irq_bh(struct tasklet_struct *t) > { > - struct ccp_device *ccp = (struct ccp_device *)data; > + struct ccp_device *ccp = from_tasklet(ccp, t, irq_tasklet); > struct ccp_cmd_queue *cmd_q; > u32 q_int, status; > unsigned int i; > @@ -361,7 +361,7 @@ static irqreturn_t ccp_irq_handler(int irq, void *data) > if (ccp->use_tasklet) > tasklet_schedule(&ccp->irq_tasklet); > else > - ccp_irq_bh((unsigned long)ccp); > + ccp_irq_bh(&ccp->irq_tasklet); > > return IRQ_HANDLED; > } > @@ -457,8 +457,7 @@ static int ccp_init(struct ccp_device *ccp) > > /* Initialize the ISR tasklet? */ > if (ccp->use_tasklet) > - tasklet_init(&ccp->irq_tasklet, ccp_irq_bh, > - (unsigned long)ccp); > + tasklet_setup(&ccp->irq_tasklet, ccp_irq_bh); > > dev_dbg(dev, "Starting threads...\n"); > /* Create a kthread for each queue */ > diff --git a/drivers/crypto/ccp/ccp-dev-v5.c b/drivers/crypto/ccp/ccp-dev-v5.c > index 7838f63bab32..e68b05a3169b 100644 > --- a/drivers/crypto/ccp/ccp-dev-v5.c > +++ b/drivers/crypto/ccp/ccp-dev-v5.c > @@ -733,9 +733,9 @@ static void ccp5_enable_queue_interrupts(struct ccp_device *ccp) > iowrite32(SUPPORTED_INTERRUPTS, ccp->cmd_q[i].reg_int_enable); > } > > -static void ccp5_irq_bh(unsigned long data) > +static void ccp5_irq_bh(struct tasklet_struct *t) > { > - struct ccp_device *ccp = (struct ccp_device *)data; > + struct ccp_device *ccp = from_tasklet(ccp, t, irq_tasklet); > u32 status; > unsigned int i; > > @@ -772,7 +772,7 @@ static irqreturn_t ccp5_irq_handler(int irq, void *data) > if (ccp->use_tasklet) > tasklet_schedule(&ccp->irq_tasklet); > else > - ccp5_irq_bh((unsigned long)ccp); > + ccp5_irq_bh(&ccp->irq_tasklet); > return IRQ_HANDLED; > } > > @@ -894,8 +894,7 @@ static int ccp5_init(struct ccp_device *ccp) > } > /* Initialize the ISR tasklet */ > if (ccp->use_tasklet) > - tasklet_init(&ccp->irq_tasklet, ccp5_irq_bh, > - (unsigned long)ccp); > + tasklet_setup(&ccp->irq_tasklet, ccp5_irq_bh); > > dev_dbg(dev, "Loading LSB map...\n"); > /* Copy the private LSB mask to the public registers */ > diff --git a/drivers/crypto/ccp/ccp-dmaengine.c b/drivers/crypto/ccp/ccp-dmaengine.c > index 0770a83bf1a5..a85690866b05 100644 > --- a/drivers/crypto/ccp/ccp-dmaengine.c > +++ b/drivers/crypto/ccp/ccp-dmaengine.c > @@ -121,9 +121,9 @@ static void ccp_cleanup_desc_resources(struct ccp_device *ccp, > } > } > > -static void ccp_do_cleanup(unsigned long data) > +static void ccp_do_cleanup(struct tasklet_struct *t) > { > - struct ccp_dma_chan *chan = (struct ccp_dma_chan *)data; > + struct ccp_dma_chan *chan = from_tasklet(chan, t, cleanup_tasklet); > unsigned long flags; > > dev_dbg(chan->ccp->dev, "%s - chan=%s\n", __func__, > @@ -712,8 +712,7 @@ int ccp_dmaengine_register(struct ccp_device *ccp) > INIT_LIST_HEAD(&chan->active); > INIT_LIST_HEAD(&chan->complete); > > - tasklet_init(&chan->cleanup_tasklet, ccp_do_cleanup, > - (unsigned long)chan); > + tasklet_setup(&chan->cleanup_tasklet, ccp_do_cleanup); > > dma_chan->device = dma_dev; > dma_cookie_init(dma_chan); > -- > 2.25.1 >
diff --git a/drivers/crypto/ccp/ccp-dev-v3.c b/drivers/crypto/ccp/ccp-dev-v3.c index 0d5576f6ad21..858566867fa3 100644 --- a/drivers/crypto/ccp/ccp-dev-v3.c +++ b/drivers/crypto/ccp/ccp-dev-v3.c @@ -321,9 +321,9 @@ static void ccp_enable_queue_interrupts(struct ccp_device *ccp) iowrite32(ccp->qim, ccp->io_regs + IRQ_MASK_REG); } -static void ccp_irq_bh(unsigned long data) +static void ccp_irq_bh(struct tasklet_struct *t) { - struct ccp_device *ccp = (struct ccp_device *)data; + struct ccp_device *ccp = from_tasklet(ccp, t, irq_tasklet); struct ccp_cmd_queue *cmd_q; u32 q_int, status; unsigned int i; @@ -361,7 +361,7 @@ static irqreturn_t ccp_irq_handler(int irq, void *data) if (ccp->use_tasklet) tasklet_schedule(&ccp->irq_tasklet); else - ccp_irq_bh((unsigned long)ccp); + ccp_irq_bh(&ccp->irq_tasklet); return IRQ_HANDLED; } @@ -457,8 +457,7 @@ static int ccp_init(struct ccp_device *ccp) /* Initialize the ISR tasklet? */ if (ccp->use_tasklet) - tasklet_init(&ccp->irq_tasklet, ccp_irq_bh, - (unsigned long)ccp); + tasklet_setup(&ccp->irq_tasklet, ccp_irq_bh); dev_dbg(dev, "Starting threads...\n"); /* Create a kthread for each queue */ diff --git a/drivers/crypto/ccp/ccp-dev-v5.c b/drivers/crypto/ccp/ccp-dev-v5.c index 7838f63bab32..e68b05a3169b 100644 --- a/drivers/crypto/ccp/ccp-dev-v5.c +++ b/drivers/crypto/ccp/ccp-dev-v5.c @@ -733,9 +733,9 @@ static void ccp5_enable_queue_interrupts(struct ccp_device *ccp) iowrite32(SUPPORTED_INTERRUPTS, ccp->cmd_q[i].reg_int_enable); } -static void ccp5_irq_bh(unsigned long data) +static void ccp5_irq_bh(struct tasklet_struct *t) { - struct ccp_device *ccp = (struct ccp_device *)data; + struct ccp_device *ccp = from_tasklet(ccp, t, irq_tasklet); u32 status; unsigned int i; @@ -772,7 +772,7 @@ static irqreturn_t ccp5_irq_handler(int irq, void *data) if (ccp->use_tasklet) tasklet_schedule(&ccp->irq_tasklet); else - ccp5_irq_bh((unsigned long)ccp); + ccp5_irq_bh(&ccp->irq_tasklet); return IRQ_HANDLED; } @@ -894,8 +894,7 @@ static int ccp5_init(struct ccp_device *ccp) } /* Initialize the ISR tasklet */ if (ccp->use_tasklet) - tasklet_init(&ccp->irq_tasklet, ccp5_irq_bh, - (unsigned long)ccp); + tasklet_setup(&ccp->irq_tasklet, ccp5_irq_bh); dev_dbg(dev, "Loading LSB map...\n"); /* Copy the private LSB mask to the public registers */ diff --git a/drivers/crypto/ccp/ccp-dmaengine.c b/drivers/crypto/ccp/ccp-dmaengine.c index 0770a83bf1a5..a85690866b05 100644 --- a/drivers/crypto/ccp/ccp-dmaengine.c +++ b/drivers/crypto/ccp/ccp-dmaengine.c @@ -121,9 +121,9 @@ static void ccp_cleanup_desc_resources(struct ccp_device *ccp, } } -static void ccp_do_cleanup(unsigned long data) +static void ccp_do_cleanup(struct tasklet_struct *t) { - struct ccp_dma_chan *chan = (struct ccp_dma_chan *)data; + struct ccp_dma_chan *chan = from_tasklet(chan, t, cleanup_tasklet); unsigned long flags; dev_dbg(chan->ccp->dev, "%s - chan=%s\n", __func__, @@ -712,8 +712,7 @@ int ccp_dmaengine_register(struct ccp_device *ccp) INIT_LIST_HEAD(&chan->active); INIT_LIST_HEAD(&chan->complete); - tasklet_init(&chan->cleanup_tasklet, ccp_do_cleanup, - (unsigned long)chan); + tasklet_setup(&chan->cleanup_tasklet, ccp_do_cleanup); dma_chan->device = dma_dev; dma_cookie_init(dma_chan);