[PATCH] Added some PCI stubs

Denis Kirjanov kirjanov at gmail.com
Wed Sep 15 02:40:12 EDT 2010


Это минимально необходимая структура для pci драйвера.
по id_table код PCI core вызывает функцию инициализации драйвера
(.probe = pcnet_dummy_init_one ),
которая в конечном итоге должна зарегестрировать новый сетевой
интерфейс в системе. (register_netdev())
и предоставить структуру net_device_ops, которая является основным и
главным интерфейсом между
драйвером и сетевым стеком.
Другие поля структуры используются не очень часто. Все примеры есть в
drivers/net

Thanks!

On Wed, Sep 15, 2010 at 3:13 AM, Alex Naumov <posix.ru at googlemail.com> wrote:
> On Tue, Sep 14, 2010 at 9:52 PM, Denis Kirjanov <kirjanov at gmail.com> wrote:
>>
>> +static struct pci_driver pcnet_dummy_driver = {
>> +       .name           = DRV_NAME,
>> +       .id_table       = pcnet_dummy_pci_tbl,
>> +       .probe          = pcnet_dummy_init_one,
>> +       .remove         = __devexit_p(pcnet_dummy_remove_one),
>>
>
> Это ничего, что мы оставляем столько элементов неинициализированными?
>
> struct pci_driver {
>         struct list_head node;
>         char *name;
>         const struct pci_device_id *id_table;   /* must be non-NULL for
> probe to be called */
>         int  (*probe)  (struct pci_dev *dev, const struct pci_device_id
> *id);   /* New device inserted */
>         void (*remove) (struct pci_dev *dev);   /* Device removed (NULL if
> not a hot-plug capable driver) */
>         int  (*suspend) (struct pci_dev *dev, pm_message_t state);      /*
> Device suspended */
>         int  (*suspend_late) (struct pci_dev *dev, pm_message_t state);
>         int  (*resume_early) (struct pci_dev *dev);
>         int  (*resume) (struct pci_dev *dev);                   /* Device
> woken up */
>         void (*shutdown) (struct pci_dev *dev);
>         struct pm_ext_ops *pm;
>         struct pci_error_handlers *err_handler;
>         struct device_driver    driver;
>         struct pci_dynids dynids;
> };
>
> Было бы здорово, Ден, некоторые комментарии к коду ;)
>
> _______________________________________________
> Kernel-russian mailing list
> Kernel-russian at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernel-russian
>
>



-- 
Regards,
Denis


More information about the Kernel-russian mailing list