lkml.org 
[lkml]   [2022]   [Jan]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH v7 03/16] net: dsa: tag_qca: convert to FIELD macro
    Date
    Convert driver to FIELD macro to drop redundant define.

    Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
    ---
    net/dsa/tag_qca.c | 34 +++++++++++++++-------------------
    1 file changed, 15 insertions(+), 19 deletions(-)

    diff --git a/net/dsa/tag_qca.c b/net/dsa/tag_qca.c
    index 1ea9401b8ace..55fa6b96b4eb 100644
    --- a/net/dsa/tag_qca.c
    +++ b/net/dsa/tag_qca.c
    @@ -4,29 +4,24 @@
    */

    #include <linux/etherdevice.h>
    +#include <linux/bitfield.h>

    #include "dsa_priv.h"

    #define QCA_HDR_LEN 2
    #define QCA_HDR_VERSION 0x2

    -#define QCA_HDR_RECV_VERSION_MASK GENMASK(15, 14)
    -#define QCA_HDR_RECV_VERSION_S 14
    -#define QCA_HDR_RECV_PRIORITY_MASK GENMASK(13, 11)
    -#define QCA_HDR_RECV_PRIORITY_S 11
    -#define QCA_HDR_RECV_TYPE_MASK GENMASK(10, 6)
    -#define QCA_HDR_RECV_TYPE_S 6
    +#define QCA_HDR_RECV_VERSION GENMASK(15, 14)
    +#define QCA_HDR_RECV_PRIORITY GENMASK(13, 11)
    +#define QCA_HDR_RECV_TYPE GENMASK(10, 6)
    #define QCA_HDR_RECV_FRAME_IS_TAGGED BIT(3)
    -#define QCA_HDR_RECV_SOURCE_PORT_MASK GENMASK(2, 0)
    -
    -#define QCA_HDR_XMIT_VERSION_MASK GENMASK(15, 14)
    -#define QCA_HDR_XMIT_VERSION_S 14
    -#define QCA_HDR_XMIT_PRIORITY_MASK GENMASK(13, 11)
    -#define QCA_HDR_XMIT_PRIORITY_S 11
    -#define QCA_HDR_XMIT_CONTROL_MASK GENMASK(10, 8)
    -#define QCA_HDR_XMIT_CONTROL_S 8
    +#define QCA_HDR_RECV_SOURCE_PORT GENMASK(2, 0)
    +
    +#define QCA_HDR_XMIT_VERSION GENMASK(15, 14)
    +#define QCA_HDR_XMIT_PRIORITY GENMASK(13, 11)
    +#define QCA_HDR_XMIT_CONTROL GENMASK(10, 8)
    #define QCA_HDR_XMIT_FROM_CPU BIT(7)
    -#define QCA_HDR_XMIT_DP_BIT_MASK GENMASK(6, 0)
    +#define QCA_HDR_XMIT_DP_BIT GENMASK(6, 0)

    static struct sk_buff *qca_tag_xmit(struct sk_buff *skb, struct net_device *dev)
    {
    @@ -40,8 +35,9 @@ static struct sk_buff *qca_tag_xmit(struct sk_buff *skb, struct net_device *dev)
    phdr = dsa_etype_header_pos_tx(skb);

    /* Set the version field, and set destination port information */
    - hdr = QCA_HDR_VERSION << QCA_HDR_XMIT_VERSION_S |
    - QCA_HDR_XMIT_FROM_CPU | BIT(dp->index);
    + hdr = FIELD_PREP(QCA_HDR_XMIT_VERSION, QCA_HDR_VERSION);
    + hdr |= QCA_HDR_XMIT_FROM_CPU;
    + hdr |= FIELD_PREP(QCA_HDR_XMIT_DP_BIT, BIT(dp->index));

    *phdr = htons(hdr);

    @@ -62,7 +58,7 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
    hdr = ntohs(*phdr);

    /* Make sure the version is correct */
    - ver = (hdr & QCA_HDR_RECV_VERSION_MASK) >> QCA_HDR_RECV_VERSION_S;
    + ver = FIELD_GET(QCA_HDR_RECV_VERSION, hdr);
    if (unlikely(ver != QCA_HDR_VERSION))
    return NULL;

    @@ -71,7 +67,7 @@ static struct sk_buff *qca_tag_rcv(struct sk_buff *skb, struct net_device *dev)
    dsa_strip_etype_header(skb, QCA_HDR_LEN);

    /* Get source port information */
    - port = (hdr & QCA_HDR_RECV_SOURCE_PORT_MASK);
    + port = FIELD_GET(QCA_HDR_RECV_SOURCE_PORT, hdr);

    skb->dev = dsa_master_find_slave(dev, 0, port);
    if (!skb->dev)
    --
    2.33.1
    \
     
     \ /
      Last update: 2022-01-23 02:34    [W:4.489 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site