My network device don't work

Tobin C. Harding me at tobin.cc
Tue Jun 20 19:35:47 EDT 2017


On Tue, Jun 20, 2017 at 10:12:34PM +0800, Greg KH wrote:
> On Tue, Jun 20, 2017 at 02:32:31PM +0200, wiktoria.lewicka wrote:

Expanding on Greg's response, the document you want to read is

  Documentation/process/coding-style.rst

> > Hello.
> > I write simple network device, but its don't work. Module is loading, loading, loading...
> > Code:
> > 
> > #include <linux/kernel.h>
> > #include <linux/module.h>
> > #include <linux/init.h>
> > #include <linux/netdevice.h>
> > #include <linux/string.h>
> > #define DEV_NAME "chwdp"
> > 
> > struct net_device my_netdev;
> > 
> > int init_my_net_dev(struct net_device *dev);
> > 
> > struct net_device_ops nops = {
> >   .ndo_init = init_my_net_dev,

Preferred indentation is 8 characters.

> >   //.ndo_uninit = uninit_my_net_dev,

Prefer c89 comments.

> > };
> > 
> > static int __init init_dev(void)
> > {
> >   //my_netdev.netdev_ops = &nops;
> >   int result;
> >   if((netdev_boot_setup_check(&my_netdev))){
> >     printk(KERN_ERR "NETDEV: setup error");
> >     return 0;
> 
> Why are you returning success if there was an error?
> 
> And always try to use proper kernel coding style when writing kernel
> code if you expect/want someone else to read it :)

Also, you should run your code through scripts/checkpatch.pl. That
script will catch coding style issues for you and help you learn them.

Good luck,
Tobin.



More information about the Kernelnewbies mailing list