• # Re: Porter un driver sur un 2.6

    Posté par . En réponse au journal Porter un driver sur un 2.6. Évalué à 1.

    Bon, en commentant les erreurs, il n'y en a que 4
    J'ai réussit a me dépatouiller pour le driver_data, merci, mais maintenant, problème suivant, cette fois ci c'est du C :

    On a cette structure et cette définition de type :


    typedef struct _khal_dev
    {
    /* general khal globals */
    hw_if_supp_t dev_type; /* supported hw_i/f for this device */

    ...

    /* spinlock for khal_blktra_put_mac_indication() via interrupt buffer */
    spinlock_t blktra_spinlock;

    ...


    UINT8 interrupt_node_name[MAX_INTERRUPT_NODE_STRING];
    /* unique identifer for PCI */
    /* interrupt node used in */
    /* /proc/interrupts */

    } khal_dev_t, *pKhal_dev_t, **ppKhal_dev_t;



    On a cette fonction qui utilise la structure ci-dessus :


    oswr_success_t khal_create_instance(ppKhal_dev_t ppKhal_dev)
    {

    oswr_success_t result = OSWR_UNSUCCESSFUL;

    OSWR_DPF(("===> khal_create_instance\n"));

    *ppKhal_dev = (pKhal_dev_t) kmalloc(sizeof(khal_dev_t), GFP_KERNEL);

    if (*ppKhal_dev != NULL)
    {
    /* initialization of data */
    memset(*ppKhal_dev, 0, sizeof(khal_dev_t));
    spin_lock_init(&(*ppKhal_dev->blktra_spinlock));
    result = OSWR_SUCCESSFUL;
    }

    OSWR_DPF(("<=== khal_create_instance\n"));

    return (result);
    }


    Et on a ce message d'erreur à la compilation :

    gcc -DCONFIG_KMOD -DEXPORT_SYMTAB -DMODULE -D__KERNEL__ -DLINUX -DCONFIG_PROC_FS -I/home/lastnico/Am1771/Linux/../Include -I/usr/src/linux/include -Wall -DNAUTILUS_CFG_PLATF_X86 -DNAUTILUS_CFG_PCI -DNAUTILUS_SYSTEM_IS_MAC_SME_TARGET -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=`uname -m` -malign-functions=4 -fno-omit-frame-pointer -Os -I/home/lastnico/Am1771/Linux/../Include -I/usr/src/linux/include -IInclude -I../Include -c -o obj/x86/2.6.1/Khal.o "Khal.c"
    cc1: warning: -malign-functions is obsolete, use -falign-functions
    Khal.c: In function `khal_create_instance':
    Khal.c:641: error: request for member `blktra_spinlock' in something not a structure or union
    make[1]: *** [obj/x86/2.6.1/Khal.o] Erreur 1



    A votre avis, quel est la solution ?

    Forum Software Reviews: Comparez et testez les logiciels de forums Internet!