soc/fsl/qbman: Drop set/clear_bits usage
authorMadalin Bucur <madalin.bucur@nxp.com>
Mon, 18 Sep 2017 20:39:40 +0000 (16:39 -0400)
committerLi Yang <leoyang.li@nxp.com>
Fri, 22 Sep 2017 18:33:07 +0000 (13:33 -0500)
Replace PPC specific set/clear_bits API with standard
bit twiddling so driver is portalable outside PPC.

Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Li Yang <leoyang.li@nxp.com>
drivers/soc/fsl/qbman/bman.c
drivers/soc/fsl/qbman/qman.c

index a3d6d7c..3acded1 100644 (file)
@@ -607,7 +607,7 @@ int bman_p_irqsource_add(struct bman_portal *p, u32 bits)
        unsigned long irqflags;
 
        local_irq_save(irqflags);
-       set_bits(bits & BM_PIRQ_VISIBLE, &p->irq_sources);
+       p->irq_sources |= bits & BM_PIRQ_VISIBLE;
        bm_out(&p->p, BM_REG_IER, p->irq_sources);
        local_irq_restore(irqflags);
        return 0;
index da68f88..8829bbd 100644 (file)
@@ -909,12 +909,12 @@ static inline int qm_mc_result_timeout(struct qm_portal *portal,
 
 static inline void fq_set(struct qman_fq *fq, u32 mask)
 {
-       set_bits(mask, &fq->flags);
+       fq->flags |= mask;
 }
 
 static inline void fq_clear(struct qman_fq *fq, u32 mask)
 {
-       clear_bits(mask, &fq->flags);
+       fq->flags &= ~mask;
 }
 
 static inline int fq_isset(struct qman_fq *fq, u32 mask)
@@ -1562,7 +1562,7 @@ void qman_p_irqsource_add(struct qman_portal *p, u32 bits)
        unsigned long irqflags;
 
        local_irq_save(irqflags);
-       set_bits(bits & QM_PIRQ_VISIBLE, &p->irq_sources);
+       p->irq_sources |= bits & QM_PIRQ_VISIBLE;
        qm_out(&p->p, QM_REG_IER, p->irq_sources);
        local_irq_restore(irqflags);
 }
@@ -1585,7 +1585,7 @@ void qman_p_irqsource_remove(struct qman_portal *p, u32 bits)
         */
        local_irq_save(irqflags);
        bits &= QM_PIRQ_VISIBLE;
-       clear_bits(bits, &p->irq_sources);
+       p->irq_sources &= ~bits;
        qm_out(&p->p, QM_REG_IER, p->irq_sources);
        ier = qm_in(&p->p, QM_REG_IER);
        /*