Re: [PATCH net-next 07/14] net/dibs: Define dibs_client_ops and dibs_dev_ops

Alexandra Winter
2025-09-08T07:01:14Z

On 05.09.25 16:54, Alexandra Winter wrote:
> diff --git a/net/smc/smc_ism.c b/net/smc/smc_ism.c
> index a7a965e3c0ce..d90e11e1a945 100644
> --- a/net/smc/smc_ism.c
> +++ b/net/smc/smc_ism.c
[..]
>
> -static void smcd_register_dev(struct ism_dev *ism)
> +static void smcd_register_dev(struct dibs_dev *dibs)
> {
> - const struct smcd_ops *ops = ism_get_smcd_ops();
> struct smcd_dev *smcd, *fentry;
> + const struct smcd_ops *ops;
> + struct smc_lo_dev *smc_lo;
> + struct ism_dev *ism;
>
> - if (!ops)
> - return;
> + if (smc_ism_is_loopback(dibs)) {
> + if (smc_loopback_init(&smc_lo))
> + return;
> + }
>
> - smcd = smcd_alloc_dev(&ism->pdev->dev, dev_name(&ism->pdev->dev), ops,
> - ISM_NR_DMBS);
> + if (smc_ism_is_loopback(dibs)) {
> + ops = smc_lo_get_smcd_ops();
> + smcd = smcd_alloc_dev(dev_name(&smc_lo->dev), ops,
> + SMC_LO_MAX_DMBS);
> + } else {
> + ism = dibs->drv_priv;
> + ops = ism_get_smcd_ops();
> + smcd = smcd_alloc_dev(dev_name(&ism->pdev->dev), ops,
> + ISM_NR_DMBS);
> + }

Patchwork says:
ERROR: modpost: "ism_get_smcd_ops" [net/smc/smc.ko] undefined!

ARGH!! another transient compile error when CONFIG_ISM is not set!
(whole series does compile, but not if you compile e.g. only up to this patch)
I thought I had tested all combinations, sorry about that.
I'll work on fixing it and on improving my script.