lkml.org 
[lkml]   [2010]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/4] isdn: Cleanup Sections in PCMCIA driver teles
    Date
    Compiling this driver gave a section mismatch,
    so I reviewed the init/exit paths of the driver
    and made the correct changes.

    WARNING: drivers/isdn/hisax/built-in.o(.text+0x56bfb): Section mismatch
    in reference from the function teles_cs_config() to the function
    .devinit.text:hisax_init_pcmcia()
    The function teles_cs_config() references
    the function __devinit hisax_init_pcmcia().
    This is often because teles_cs_config lacks a __devinit
    annotation or the annotation of hisax_init_pcmcia is wrong.

    Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
    ---
    drivers/isdn/hisax/teles_cs.c | 12 ++++++------
    1 files changed, 6 insertions(+), 6 deletions(-)

    diff --git a/drivers/isdn/hisax/teles_cs.c b/drivers/isdn/hisax/teles_cs.c
    index b0c5976..d010a0d 100644
    --- a/drivers/isdn/hisax/teles_cs.c
    +++ b/drivers/isdn/hisax/teles_cs.c
    @@ -57,7 +57,7 @@ module_param(protocol, int, 0);
    handler.
    */

    -static int teles_cs_config(struct pcmcia_device *link);
    +static int teles_cs_config(struct pcmcia_device *link) __devinit ;
    static void teles_cs_release(struct pcmcia_device *link);

    /*
    @@ -66,7 +66,7 @@ static void teles_cs_release(struct pcmcia_device *link);
    needed to manage one actual PCMCIA card.
    */

    -static void teles_detach(struct pcmcia_device *p_dev);
    +static void teles_detach(struct pcmcia_device *p_dev) __devexit ;

    /*
    A linked list of "instances" of the teles_cs device. Each actual
    @@ -112,7 +112,7 @@ typedef struct local_info_t {

    ======================================================================*/

    -static int teles_probe(struct pcmcia_device *link)
    +static int __devinit teles_probe(struct pcmcia_device *link)
    {
    local_info_t *local;

    @@ -156,7 +156,7 @@ static int teles_probe(struct pcmcia_device *link)

    ======================================================================*/

    -static void teles_detach(struct pcmcia_device *link)
    +static void __devexit teles_detach(struct pcmcia_device *link)
    {
    local_info_t *info = link->priv;

    @@ -200,7 +200,7 @@ static int teles_cs_configcheck(struct pcmcia_device *p_dev,
    return -ENODEV;
    }

    -static int teles_cs_config(struct pcmcia_device *link)
    +static int __devinit teles_cs_config(struct pcmcia_device *link)
    {
    local_info_t *dev;
    int i;
    @@ -319,7 +319,7 @@ static struct pcmcia_driver teles_cs_driver = {
    .name = "teles_cs",
    },
    .probe = teles_probe,
    - .remove = teles_detach,
    + .remove = __devexit_p(teles_detach),
    .id_table = teles_ids,
    .suspend = teles_suspend,
    .resume = teles_resume,
    --
    1.6.3.3


    \
     
     \ /
      Last update: 2010-03-25 13:09    [W:3.394 / U:0.292 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site