lkml.org 
[lkml]   [2017]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[v5 05/12] soc/fsl/qbman: Drop set/clear_bits usage
    Date
    From: Madalin Bucur <madalin.bucur@nxp.com>

    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>
    ---
    drivers/soc/fsl/qbman/bman.c | 2 +-
    drivers/soc/fsl/qbman/qman.c | 8 ++++----
    2 files changed, 5 insertions(+), 5 deletions(-)

    diff --git a/drivers/soc/fsl/qbman/bman.c b/drivers/soc/fsl/qbman/bman.c
    index 604e45c..ff8998f 100644
    --- a/drivers/soc/fsl/qbman/bman.c
    +++ b/drivers/soc/fsl/qbman/bman.c
    @@ -616,7 +616,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;
    diff --git a/drivers/soc/fsl/qbman/qman.c b/drivers/soc/fsl/qbman/qman.c
    index 1bcfc51..25419e1 100644
    --- a/drivers/soc/fsl/qbman/qman.c
    +++ b/drivers/soc/fsl/qbman/qman.c
    @@ -908,12 +908,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)
    @@ -1574,7 +1574,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);
    }
    @@ -1597,7 +1597,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);
    /*
    --
    2.7.4
    \
     
     \ /
      Last update: 2017-09-18 22:42    [W:4.114 / U:0.768 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site