Re: [PATCH v7 net-next 10/11] net/nebula-matrix: add common/ctrl dev init/reinit operation

From: Paolo Abeni

Date: Thu Mar 12 2026 - 08:18:23 EST


On 3/10/26 1:09 PM, illusion.wang wrote:
> +/* ---------- Dev init process ---------- */
> +static int nbl_dev_setup_common_dev(struct nbl_adapter *adapter,
> + struct nbl_init_param *param)
> +{
> + struct nbl_dev_mgt *dev_mgt = adapter->core.dev_mgt;
> + struct nbl_dispatch_ops *disp_ops = dev_mgt->disp_ops_tbl->ops;
> + struct nbl_dispatch_mgt *priv = dev_mgt->disp_ops_tbl->priv;
> + struct nbl_common_info *common = dev_mgt->common;
> + struct nbl_dev_common *common_dev;
> + int ret;
> +
> + common_dev = devm_kzalloc(&adapter->pdev->dev,
> + sizeof(struct nbl_dev_common), GFP_KERNEL);
> + if (!common_dev)
> + return -ENOMEM;
> + common_dev->dev_mgt = dev_mgt;
> +
> + ret = nbl_dev_setup_chan_queue(dev_mgt, NBL_CHAN_TYPE_MAILBOX);
> + if (ret)
> + return ret;
> +
> + INIT_WORK(&common_dev->clean_mbx_task, nbl_dev_clean_mailbox_task);
> + common->vsi_id = disp_ops->get_vsi_id(priv, 0, NBL_VSI_DATA);
> + disp_ops->get_eth_id(priv, common->vsi_id, &common->eth_mode,
> + &common->eth_id, &common->logic_eth_id);
> +
> + nbl_dev_register_chan_task(dev_mgt, NBL_CHAN_TYPE_MAILBOX,
> + &common_dev->clean_mbx_task);
> +
> + dev_mgt->common_dev = common_dev;
> + nbl_dev_init_msix_cnt(dev_mgt);
> + return 0;
> +}

AI review says:

Is the 'param' parameter actually needed here? The function signature
declares it but never references it anywhere in the body. All the data
comes from 'adapter' and its sub-structures.

> +static int nbl_dev_setup_ctrl_dev(struct nbl_adapter *adapter,
> + struct nbl_init_param *param)
> +{
> + struct nbl_dev_mgt *dev_mgt = adapter->core.dev_mgt;
> + struct nbl_dispatch_ops *disp_ops = dev_mgt->disp_ops_tbl->ops;
> + int i, ret;
> +
> + ret = disp_ops->init_chip_module(dev_mgt->disp_ops_tbl->priv);
> + if (ret)
> + goto chip_init_fail;
> +
> + for (i = 0; i < NBL_CHAN_TYPE_MAX; i++) {
> + ret = nbl_dev_setup_chan_qinfo(dev_mgt, i);
> + if (ret)
> + goto setup_chan_q_fail;
> + }
> +
> + return 0;
> +setup_chan_q_fail:
> + disp_ops->deinit_chip_module(dev_mgt->disp_ops_tbl->priv);
> +chip_init_fail:
> + return ret;
> +}

The 'param' parameter is also unused in this function. This will produce
-Wunused-parameter warnings when compiled with W=1.

/P