@Sachin, Both the CONFIG_INTEL_MEI_DAL and CONFIG_INTEL_MEI_VIRTIO code paths have build breakages currently.
I have not looked in to these failures too much yet, but the virtio one looks like missing function prototypes, or actually missing functions. This may be a patch is that is missing, or something has moved/renamed.
The MEI_DAL one looks like the function pointer return type changed from "int" to "void".
Looking at dal_remove(), I suspect changing the return type from int to void would be safe, but there I haven't found an upstream version of this code to compare with.
With: CONFIG_INTEL_MEI_VIRTIO=m
/build/focal/drivers/misc/mei/hw-virtio.c: In function 'mei_virtio_intr_enable':
/build/focal/drivers/misc/mei/hw-virtio.c:178:2: error: implicit declaration of function 'virtio_config_enable'; did you mean 'virtio_config_changed'? [-Werror=implicit-function-declaration]
178 | virtio_config_enable(vdev);
| ^~~~~~~~~~~~~~~~~~~~
/build/focal/drivers/misc/mei/hw-virtio.c: In function 'mei_virtio_intr_disable':
/build/focal/drivers/misc/mei/hw-virtio.c:194:2: error: implicit declaration of function 'virtio_config_disable'; did you mean 'virtio_config_changed'? [-Werror=implicit-function-declaration]
194 | virtio_config_disable(vdev);
| ^~~~~~~~~~~~~~~~~~~~~
| virtio_config_changed
With CONFIG_INTEL_MEI_DAL=m
/build/focal/drivers/misc/mei/dal/dal_class.c:800:12: error: initialization of 'void (*)(struct mei_cl_device *)' from incompatible pointer type 'int (*)(struct mei_cl_device *)' [-Werror=incompatible-pointer-types]
800 | .remove = dal_remove,
| ^~~~~~~~~~
/build/focal/drivers/misc/mei/dal/dal_class.c:800:12: note: (near initialization for 'dal_driver.remove')
@Sachin, Both the CONFIG_ INTEL_MEI_ DAL and CONFIG_ INTEL_MEI_ VIRTIO code paths have build breakages currently.
I have not looked in to these failures too much yet, but the virtio one looks like missing function prototypes, or actually missing functions. This may be a patch is that is missing, or something has moved/renamed.
The MEI_DAL one looks like the function pointer return type changed from "int" to "void".
Looking at dal_remove(), I suspect changing the return type from int to void would be safe, but there I haven't found an upstream version of this code to compare with.
With: CONFIG_ INTEL_MEI_ VIRTIO= m
/build/ focal/drivers/ misc/mei/ hw-virtio. c: In function 'mei_virtio_ intr_enable' : focal/drivers/ misc/mei/ hw-virtio. c:178:2: error: implicit declaration of function 'virtio_ config_ enable' ; did you mean 'virtio_ config_ changed' ? [-Werror= implicit- function- declaration] config_ enable( vdev); ~~~~~~~ ~~~~~~
/build/
178 | virtio_
| ^~~~~~~
/build/ focal/drivers/ misc/mei/ hw-virtio. c: In function 'mei_virtio_ intr_disable' : focal/drivers/ misc/mei/ hw-virtio. c:194:2: error: implicit declaration of function 'virtio_ config_ disable' ; did you mean 'virtio_ config_ changed' ? [-Werror= implicit- function- declaration] config_ disable( vdev); ~~~~~~~ ~~~~~~~ config_ changed
/build/
194 | virtio_
| ^~~~~~~
| virtio_
With CONFIG_ INTEL_MEI_ DAL=m
/build/ focal/drivers/ misc/mei/ dal/dal_ class.c: 800:12: error: initialization of 'void (*)(struct mei_cl_device *)' from incompatible pointer type 'int (*)(struct mei_cl_device *)' [-Werror= incompatible- pointer- types] focal/drivers/ misc/mei/ dal/dal_ class.c: 800:12: note: (near initialization for 'dal_driver. remove' )
800 | .remove = dal_remove,
| ^~~~~~~~~~
/build/