Message ID | 20201207085931.661267-8-allen.lkml@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | crypto: convert tasklets to use new tasklet_setup API() | expand |
Hi Allen, Thank you for the patch. Please make sure to CC maintainers on changes to drivers they maintain, otherwise it's hard to keep track. Thanks! On Mon, Dec 7, 2020 at 11:02 AM Allen Pais <allen.lkml@gmail.com> wrote: > > From: Allen Pais <apais@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@microsoft.com> > --- > drivers/crypto/ccree/cc_fips.c | 6 +++--- > drivers/crypto/ccree/cc_request_mgr.c | 12 ++++++------ > 2 files changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/crypto/ccree/cc_fips.c b/drivers/crypto/ccree/cc_fips.c > index 702aefc21447..bad228a36776 100644 > --- a/drivers/crypto/ccree/cc_fips.c > +++ b/drivers/crypto/ccree/cc_fips.c > @@ -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 *t) Sorry for the nitpick, but I would really prefer to have a more meaningful name for this parameter than just 't'. tasklet, task, tsk... any descriptive name is fine. > { > - struct cc_drvdata *drvdata = (struct cc_drvdata *)devarg; > + struct cc_drvdata *drvdata = from_tasklet(drvdata, t, 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 > Other than that it looks good to me. Thanks, Gilad -- Gilad Ben-Yossef Chief Coffee Drinker values of β will give rise to dom!
> > > > Signed-off-by: Romain Perier <romain.perier@gmail.com> > > Signed-off-by: Allen Pais <apais@microsoft.com> > > --- > > drivers/crypto/ccree/cc_fips.c | 6 +++--- > > drivers/crypto/ccree/cc_request_mgr.c | 12 ++++++------ > > 2 files changed, 9 insertions(+), 9 deletions(-) > > > > diff --git a/drivers/crypto/ccree/cc_fips.c b/drivers/crypto/ccree/cc_fips.c > > index 702aefc21447..bad228a36776 100644 > > --- a/drivers/crypto/ccree/cc_fips.c > > +++ b/drivers/crypto/ccree/cc_fips.c > > @@ -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 *t) > > Sorry for the nitpick, but I would really prefer to have a more > meaningful name for this parameter than just 't'. > > tasklet, task, tsk... any descriptive name is fine. > Sure, I will fix it and send out V2. Thanks. > > { > > - struct cc_drvdata *drvdata = (struct cc_drvdata *)devarg; > > + struct cc_drvdata *drvdata = from_tasklet(drvdata, t, 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 > > > > Other than that it looks good to me. > > Thanks, > Gilad > > -- > Gilad Ben-Yossef > Chief Coffee Drinker > > values of β will give rise to dom! -- - Allen
diff --git a/drivers/crypto/ccree/cc_fips.c b/drivers/crypto/ccree/cc_fips.c index 702aefc21447..bad228a36776 100644 --- a/drivers/crypto/ccree/cc_fips.c +++ b/drivers/crypto/ccree/cc_fips.c @@ -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 *t) { - struct cc_drvdata *drvdata = (struct cc_drvdata *)devarg; + struct cc_drvdata *drvdata = from_tasklet(drvdata, t, 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;