OSDN Git Service

soc: qcom: rpmh-rsc: Loop over fewer bits in irq handler
authorStephen Boyd <swboyd@chromium.org>
Thu, 21 May 2020 06:04:24 +0000 (23:04 -0700)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 12 Mar 2021 02:22:20 +0000 (20:22 -0600)
readl() returns a u32, and BITS_PER_LONG is different on 32-bit vs.
64-bit architectures. Let's loop over the possible bits set in that type
instead of looping over more bits than we ever may need to.

Cc: Maulik Shah <mkshah@codeaurora.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20200521060425.24285-3-swboyd@chromium.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/soc/qcom/rpmh-rsc.c

index 8985e3b..49c2456 100644 (file)
@@ -392,7 +392,7 @@ static irqreturn_t tcs_tx_done(int irq, void *p)
 
        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);