On Thu 23 Apr 21:54 PDT 2020, Stephen Boyd wrote: > readl returns a u32, and BITS_PER_LONG is different on 32-bit vs. 64-bit > architectures. Let's make the type we stash the readl into a u32 and > then loop over the bits set in that type instead of potentially looping > over more bits than we will ever need to. > > Cc: Maulik Shah <mkshah@xxxxxxxxxxxxxx> > Cc: Douglas Anderson <dianders@xxxxxxxxxxxx> > Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx> Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > --- > drivers/soc/qcom/rpmh-rsc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c > index 76e0294a672c..462dd267afef 100644 > --- a/drivers/soc/qcom/rpmh-rsc.c > +++ b/drivers/soc/qcom/rpmh-rsc.c > @@ -365,13 +365,13 @@ static irqreturn_t tcs_tx_done(int irq, void *p) > { > struct rsc_drv *drv = p; > int i, j, err = 0; > - unsigned long irq_status; > + u32 irq_status; > const struct tcs_request *req; > struct tcs_cmd *cmd; > > irq_status = readl_relaxed(drv->tcs_base + RSC_DRV_IRQ_STATUS); > > - for_each_set_bit(i, &irq_status, BITS_PER_LONG) { > + for_each_set_bit(i, &irq_status, BITS_PER_TYPE(u32)) { > req = get_req_from_tcs(drv, i); > if (!req) { > WARN_ON(1); > -- > Sent by a computer, using git, on the internet >