[PATCH i-g-t 07/10] lib/igt_kmod: Add rebind abstraction

Riana Tauro riana.tauro at intel.com
Tue Apr 15 05:49:48 UTC 2025


Hi Lucas

On 4/11/2025 4:18 AM, Lucas De Marchi wrote:
> Abstract the "set one file in the drivers dir" and share the
> implementation with unbind/rebind.
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
>   lib/igt_kmod.c | 11 +++++++++++
>   lib/igt_kmod.h |  2 ++
>   2 files changed, 13 insertions(+)
> 
> diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
> index 14b6b957a..6d7f5705c 100644
> --- a/lib/igt_kmod.c
> +++ b/lib/igt_kmod.c
> @@ -665,6 +665,17 @@ int igt_kmod_bind(const char *mod_name, const char *pci_device)
>   	return ret;
>   }
>   
> +/**
> + * igt_kmod_rebind: Unbind driver from devices and bind it again
> + * @mod_name: name of the module to rebind
> + * @pci_device: device to rebind to
> + */
> +int igt_kmod_rebind(const char *mod_name, const char *pci_device)
Why not have a void function? Not using the return value anywhere
Also unbind always returns 0 and asserts for errors

Thanks
Riana> +{
> +	return igt_kmod_unbind(mod_name, pci_device) ||
> +		igt_kmod_bind(mod_name, pci_device);
> +}
> +
>   /**
>    * igt_intel_driver_unload:
>    *
> diff --git a/lib/igt_kmod.h b/lib/igt_kmod.h
> index e3a4ce671..905070897 100644
> --- a/lib/igt_kmod.h
> +++ b/lib/igt_kmod.h
> @@ -39,6 +39,8 @@ int igt_kmod_unload(const char *mod_name);
>   int igt_kmod_unbind(const char *mod_name, const char *pci_device);
>   __attribute__((nonnull)) int igt_kmod_bind(const char *mod_name,
>   					   const char *pci_device);
> +__attribute__((nonnull)) int igt_kmod_rebind(const char *mod_name,
> +					     const char *pci_device);
>   
>   int igt_audio_driver_unload(char **whom);
>   
> 



More information about the igt-dev mailing list