[PATCH] Continue pcnet probing. Introduce driver's private block

Denis Kirjanov kirjanov at gmail.com
Sat Sep 18 04:11:40 EDT 2010


2010/9/18 Dmitry Podgorny <pasis.ua at gmail.com>:
> В Fri, 17 Sep 2010 19:02:38 +0400
> Denis Kirjanov <kirjanov at gmail.com> пишет:
>
>> +/* Why do we need to create protos like this? */
>> +static int pcnet_dummy_init_netdev(struct pci_dev *pdev, unsigned
>> long ioaddr);
>
> Нужны ли вообще прототипы функций? Мне показалось, что удобнее
> разместить pcnet_dummy_init_netdev после функции инициализации, но я
> тут больше на правах ученика, так что рад выслушать любые
> предложения :).

Прототипы - личное дело каждого. У меня насчет них такое представление -
создать абстракцию в текущем месте(ф-ию, структуру etc) и описать её выше.
Мне кажется что в данном случае эти прототипы не особо полезны и занимают
лишнее место в коде.
>> +     ndev = alloc_etherdev(sizeof(*pp));
>> +     SET_NETDEV_DEV(ndev, &pdev->dev);
>
> Почему мы выполняем действия с net_device не закончив инициализацию pci
> устройства? Здесь есть какая-то специфика? Я планировал вынести
> подобные действия в pcnet_dummy_init_netdev() или здесь я не прав?
Специфика такая что автор сам решает как ему поступить :) Вообще
правильное место
для этого макроса - после функции pci_set_drvdata ;) Но в данном
случае это безопасно.
>
>>  static void __devexit pcnet_dummy_remove_one(struct pci_dev *pdev)
>
> Будет ли вызвана эта функция, если инициализация устройства завершилась
> неудачей и мы возвратили -ENODEV?
Почему мы должны вызывать remove для драйвера, который не смог успешно
зарегестрироваться? ;)
> _______________________________________________
> 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