Re: Q: netdevice interface change

From: Andrew Morton (andrewm@uow.edu.au)
Date: Sat Dec 23 2000 - 10:05:59 EST

  • Next message: Arjan Filius: ""undefined reference" atm_lane_init & atm_mpoa_init with test13-pre4"

    Manfred wrote:
    >
    > Hi Andrew,
    >
    > I have 2 questions about your netdevice2.txt:
    > http://www.uow.edu.au/~andrewm/linux/netdevice2.txt
    >
    > * is withdraw_netdevice() really required, can't unregister_netdev
    > check "hidden", and notify the protocols/hotplug based on that value?

    Yes, it's basically the same thing and yes, it could be done
    this way. The only difference is that withdraw_netdev()
    will blurt out a warning if it is called on an unhidden device.
    This is useful now, but less so later. I guess it could be
    #defined onto unregister_netdev later..

    > * I don't like the backward compatibility section:
    >
    > <<<<<<<<
    > Other things:
    >
    > #define HAVE_PUBLISH_NETDEV
    >
    > This is for 2.2-compatible drivers. They can do this:
    >
    > #ifdef HAVE_PUBLISH_NETDEV
    > #define init_etherdev prepare_etherdev
    > #define publish_netdev(dev) do {} while (0)
    > #define withdraw_netdev unregister_netdev
    > #endif
    > >>>>>>>>
    >
    > As far as I know Linus prefers backward compatibility the other way
    > around:
    >
    > <<<<<<
    > A 2.4 driver that must remain compatible with 2.2 should use
    > the new interface and add these lines to their source file:
    >
    > #ifndef HAVE_PUBLISH_NETDEV
    > #define prepare_etherdev init_etherdev
    > #define publish_netdev(dev) do {} while (0)
    > #define withdraw_netdev unregister_netdev
    > #endif
    > >>>>>>

    You are correct, and that is in fact how I did it in rrunner.c.
    I'll do eepro100 and acenic that way too. The manual is wrong :)

    BTW: I just finished the ethernet devices, so my request for
    help can be ignored. Fixed a truckload of unchecked kmallocs
    and error-path memory leaks while I was at it. Sigh.

    -
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Sat Dec 23 2000 - 10:30:38 EST