| From 4026225a854760fa355e393a386b6c96d794bce2 Mon Sep 17 00:00:00 2001 |
| From: Madalin Bucur <madalin.bucur@nxp.com> |
| Date: Tue, 24 Apr 2018 17:07:25 +0300 |
| Subject: [PATCH] sdk_dpa: adapt ceetm code to new kernel API |
| |
| Signed-off-by: Madalin Bucur <madalin.bucur@nxp.com> |
| --- |
| .../ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c | 26 +++++++++++++--------- |
| 1 file changed, 16 insertions(+), 10 deletions(-) |
| |
| --- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c |
| +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c |
| @@ -577,7 +577,8 @@ nla_put_failure: |
| |
| /* Configure a root ceetm qdisc */ |
| static int ceetm_init_root(struct Qdisc *sch, struct ceetm_qdisc *priv, |
| - struct tc_ceetm_qopt *qopt) |
| + struct tc_ceetm_qopt *qopt, |
| + struct netlink_ext_ack *extack) |
| { |
| struct netdev_queue *dev_queue; |
| struct Qdisc *qdisc; |
| @@ -622,7 +623,7 @@ static int ceetm_init_root(struct Qdisc |
| TC_H_MIN(i + PFIFO_MIN_OFFSET)); |
| |
| qdisc = qdisc_create_dflt(dev_queue, &pfifo_qdisc_ops, |
| - parent_id); |
| + parent_id, extack); |
| if (!qdisc) { |
| err = -ENOMEM; |
| goto err_init_root; |
| @@ -1035,7 +1036,8 @@ err_init_wbfs: |
| } |
| |
| /* Configure a generic ceetm qdisc */ |
| -static int ceetm_init(struct Qdisc *sch, struct nlattr *opt) |
| +static int ceetm_init(struct Qdisc *sch, struct nlattr *opt, |
| + struct netlink_ext_ack *extack) |
| { |
| struct tc_ceetm_qopt *qopt; |
| struct nlattr *tb[TCA_CEETM_QOPS + 1]; |
| @@ -1053,7 +1055,7 @@ static int ceetm_init(struct Qdisc *sch, |
| return -EINVAL; |
| } |
| |
| - ret = tcf_block_get(&priv->block, &priv->filter_list, sch); |
| + ret = tcf_block_get(&priv->block, &priv->filter_list, sch, extack); |
| if (ret) |
| return ret; |
| |
| @@ -1087,7 +1089,7 @@ static int ceetm_init(struct Qdisc *sch, |
| |
| switch (priv->type) { |
| case CEETM_ROOT: |
| - ret = ceetm_init_root(sch, priv, qopt); |
| + ret = ceetm_init_root(sch, priv, qopt, extack); |
| break; |
| case CEETM_PRIO: |
| ret = ceetm_init_prio(sch, priv, qopt); |
| @@ -1224,7 +1226,8 @@ change_err: |
| } |
| |
| /* Edit a ceetm qdisc */ |
| -static int ceetm_change(struct Qdisc *sch, struct nlattr *opt) |
| +static int ceetm_change(struct Qdisc *sch, struct nlattr *opt, |
| + struct netlink_ext_ack *extack) |
| { |
| struct tc_ceetm_qopt *qopt; |
| struct nlattr *tb[TCA_CEETM_QOPS + 1]; |
| @@ -1410,7 +1413,8 @@ static int ceetm_cls_change_wbfs(struct |
| |
| /* Add a ceetm root class or configure a ceetm root/prio/wbfs class */ |
| static int ceetm_cls_change(struct Qdisc *sch, u32 classid, u32 parentid, |
| - struct nlattr **tca, unsigned long *arg) |
| + struct nlattr **tca, unsigned long *arg, |
| + struct netlink_ext_ack *extack) |
| { |
| int err; |
| u64 bps; |
| @@ -1505,7 +1509,7 @@ static int ceetm_cls_change(struct Qdisc |
| if (!cl) |
| return -ENOMEM; |
| |
| - err = tcf_block_get(&cl->block, &cl->filter_list, sch); |
| + err = tcf_block_get(&cl->block, &cl->filter_list, sch, extack); |
| if (err) { |
| kfree(cl); |
| return err; |
| @@ -1699,7 +1703,8 @@ static struct Qdisc *ceetm_cls_leaf(stru |
| } |
| |
| static int ceetm_cls_graft(struct Qdisc *sch, unsigned long arg, |
| - struct Qdisc *new, struct Qdisc **old) |
| + struct Qdisc *new, struct Qdisc **old, |
| + struct netlink_ext_ack *extack) |
| { |
| if (new && strcmp(new->ops->id, ceetm_qdisc_ops.id)) { |
| pr_err("CEETM: only ceetm qdiscs can be attached to ceetm classes\n"); |
| @@ -1763,7 +1768,8 @@ static int ceetm_cls_dump_stats(struct Q |
| return gnet_stats_copy_app(d, &xstats, sizeof(xstats)); |
| } |
| |
| -static struct tcf_block *ceetm_tcf_block(struct Qdisc *sch, unsigned long arg) |
| +static struct tcf_block *ceetm_tcf_block(struct Qdisc *sch, unsigned long arg, |
| + struct netlink_ext_ack *extack) |
| { |
| struct ceetm_qdisc *priv = qdisc_priv(sch); |
| struct ceetm_class *cl = (struct ceetm_class *)arg; |