Re: Section Mismatch error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



try removing __devinit and __devexit from probe and remove. This is not needed as it is module.


On Tue, Jul 30, 2013 at 4:36 PM, Vignesh Radhakrishnan <vignesh1192@xxxxxxxxx> wrote:
Hi,

I am facing the following error when i am building the kernel.


ERROR: modpost: Found 2 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
To build the kernel despite the mismatches, build with:
'make CONFIG_NO_ERROR_ON_MISMATCH=y'
(NOTE: This is not recommended)
make[3]: *** [__modpost] Error 1
make[2]: *** [modules] Error 2
make[1]: *** [sub-make] Error 2

After i did make the kernel using make CONFIG_DEBUG_SECTION_MISMATCH=y it said section mismatch .

I am trying to write a platform driver (not sure if my code is right )

#include<linux/spinlock.h>
#include <linux/module.h>       /* Needed by all modules */
#include <linux/kernel.h>
#include <asm/io.h>     /* Needed for KERN_INFO */
#include <linux/platform_device.h>
MODULE_LICENSE ("GPL");


static int __devinit my_module_probe(struct platform_device *pdev){
   
   
    printk(KERN_INFO "Probe\n");

       return 0;

}
static int  __devexit my_module_remove (struct platform_device *pdev)
{
   
        printk(KERN_INFO "Goodbye world 1.\n");
    return 0;

}
static struct of_device_id spinlock_match[] = {
        {.compatible = "spinlockcrash"},
        {}
};


static struct platform_driver spinlock_platformdev = {
        .probe          = my_module_probe,
        .remove         = __devexit_p(my_module_remove),
        .driver         = {
                .name   = "spinlock_platformdev",
                .owner  = THIS_MODULE,
        .of_match_table = spinlock_match,
        },
};



static int __init mymodule_init(void)
{
        printk(KERN_INFO "INIT");
       
            platform_driver_register(&spinlock_platformdev);
        return 0;
}
static void __exit mymodule_exit(void)
{
    printk(KERN_INFO "GOOD BYE");
        platform_driver_unregister(&spinlock_platformdev);
}
 
module_init(mymodule_init);
module_exit(mymodule_exit);



Can anybody throw some light on what might be happening here ?


Thanks and regards,
Vignesh

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux