mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
soc: qcom: use assign_bit() where applicable
Convert open-coded if/else with set_bit/clear_bit and their
non-atomic __set_bit/__clear_bit variants to the assign_bit/__assign_bit
API.
Done with Coccinelle semantic patch:
// set_bit -> clear_bit => assign_bit
@@
expression cond, bit, addr;
@@
-if (cond)
- set_bit(bit, addr);
-else
- clear_bit(bit, addr);
+assign_bit(bit, addr, cond);
// clear_bit -> set_bit => assign_bit
@@
expression cond, bit, addr;
@@
-if (cond)
- clear_bit(bit, addr);
-else
- set_bit(bit, addr);
+assign_bit(bit, addr, !cond);
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Link: https://patch.msgid.link/20260918141833.3023124-1-peng.fan@oss.nxp.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
This commit is contained in:
parent
012cfa8037
commit
1cd31ba4f9
|
|
@ -411,15 +411,9 @@ static int smp2p_set_irq_type(struct irq_data *irqd, unsigned int type)
|
|||
if (!(type & IRQ_TYPE_EDGE_BOTH))
|
||||
return -EINVAL;
|
||||
|
||||
if (type & IRQ_TYPE_EDGE_RISING)
|
||||
set_bit(irq, entry->irq_rising);
|
||||
else
|
||||
clear_bit(irq, entry->irq_rising);
|
||||
assign_bit(irq, entry->irq_rising, type & IRQ_TYPE_EDGE_RISING);
|
||||
|
||||
if (type & IRQ_TYPE_EDGE_FALLING)
|
||||
set_bit(irq, entry->irq_falling);
|
||||
else
|
||||
clear_bit(irq, entry->irq_falling);
|
||||
assign_bit(irq, entry->irq_falling, type & IRQ_TYPE_EDGE_FALLING);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -277,10 +277,8 @@ static void smsm_unmask_irq(struct irq_data *irqd)
|
|||
u32 val;
|
||||
|
||||
/* Make sure our last cached state is up-to-date */
|
||||
if (readl(entry->remote_state) & BIT(irq))
|
||||
set_bit(irq, &entry->last_value);
|
||||
else
|
||||
clear_bit(irq, &entry->last_value);
|
||||
assign_bit(irq, &entry->last_value,
|
||||
readl(entry->remote_state) & BIT(irq));
|
||||
|
||||
set_bit(irq, entry->irq_enabled);
|
||||
|
||||
|
|
@ -304,15 +302,9 @@ static int smsm_set_irq_type(struct irq_data *irqd, unsigned int type)
|
|||
if (!(type & IRQ_TYPE_EDGE_BOTH))
|
||||
return -EINVAL;
|
||||
|
||||
if (type & IRQ_TYPE_EDGE_RISING)
|
||||
set_bit(irq, entry->irq_rising);
|
||||
else
|
||||
clear_bit(irq, entry->irq_rising);
|
||||
assign_bit(irq, entry->irq_rising, type & IRQ_TYPE_EDGE_RISING);
|
||||
|
||||
if (type & IRQ_TYPE_EDGE_FALLING)
|
||||
set_bit(irq, entry->irq_falling);
|
||||
else
|
||||
clear_bit(irq, entry->irq_falling);
|
||||
assign_bit(irq, entry->irq_falling, type & IRQ_TYPE_EDGE_FALLING);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user