#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/kmod.h>

MODULE_LICENSE("GPL");
MODULE_AUTHOR("Linux-Magazine <info@linux-magazine.es>");
MODULE_DESCRIPTION("Y si no existiese lsmod...");

char *modulo;

module_param(modulo, charp, S_IRUSR);
MODULE_PARM_DESC(modulo, "Módulo a buscar.");

static int __init lkm_s_init(void)
{
  int mod=request_module("%s", modulo);

  if (mod == 0)
    printk(KERN_INFO "El módulo está cargado.\n");
  else
    printk(KERN_INFO "El módulo no está cargado.\n");
  return 0;
}

static void __exit lkm_s_exit(void)
{
  printk(KERN_INFO "Fin.\n");
}

module_init(lkm_s_init);
module_exit(lkm_s_exit);
