public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dave Jones <davej@codemonkey.org.uk>
To: Grzegorz Jaskiewicz <gj@pointblue.com.pl>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: mb800 watchdog driver
Date: Thu, 13 Mar 2003 15:10:33 -0100	[thread overview]
Message-ID: <20030313161033.GA8751@suse.de> (raw)
In-Reply-To: <1047543064.16975.23.camel@gregs>

On Thu, Mar 13, 2003 at 08:11:04AM +0000, Grzegorz Jaskiewicz wrote:
 > 
 > I've wrote small driver for mb800 motherboards (x86, intel). And i want
 > to share with others. 
 > Any comments/patches are welcome.


> #include <sys/syscall.h>

not needed.
 
> #include <linux/version.h>

not needed.

> #include <linux/errno.h>            
> #include <linux/stddef.h>           

not needed.

> #include <asm/page.h>               
> #include <asm/pgtable.h>            

not needed.

> #ifdef CONFIG_DEVFS_FS
> #include <linux/devfs_fs_kernel.h>
> #else
> #error "this driver requires devfs, otherwise it would not work - sorry dude"
> #endif

devfs only drivers == EVIL. Pure EVIL.

> spinlock_t tab_lock;

can be static

> static struct proc_dir_entry *proc_mtd;
> int tab_o_count;

unused

>static struct file_operations tabfs = {
>    owner   : THIS_MODULE,
>    open    : open_wdog,      /* open */
>    write   : write_wdog,	/* write */
>    release : close_wdog,   /* release */
> };

use C99  .owner = THIS_MODULE
Ok, this is a 2.4 driver, but it makes forward porting simpler.
Also, the comments are pointless.

> void LockChip()
> void UnLockChip()

can be static (as can most other functions in this file)

>/*
>    if (check_region(0x2e, 2)){
>	printk(KERN_INFO "tab: my I/O space is allready in use, can't share it .. sorry\n");
>	return -1;
>    }
>
>    request_region(0x2e, 2, "mb800 watchdog");
>*/    

1. Probably shouldn't be commented out.
2. Don't use check_region, just check return of request_region.

>    printk(KERN_INFO "watchdog: DIE !!!\n");

Something more userfriendly "mb8wdog: unloading\n" would be nicer.

>	printk(KERN_INFO "MB800 WATCHDOG: LOAD DEVICE ENDED\n");

KERN_DEBUG ? and STOP SHOUTING!

>	printk(KERN_INFO "MB800 WATCHDOG: ENTER CREATE DISPATCH\n");

in fact, these printk's should probably be something like dprintk's
with dprintk being defined at the top of source like..

#define DEBUG
#ifndef DEBUG
# define dprintk(format, args...)
#else
# define dprintk(format, args...) printk(KERN_DEBUG "mb8wdog:", ## args)
#endif

>    if (copy_from_user(&b, buf, 1)){
>	return -EFAULT;
>    }
>
>    if (b){    
>	EnableAndSetWatchdog(b);
>    }
>    else{
>	DisableWatchdog();
>    }

Please choose one indentation style, and stick to it.
Preferably the one described in Documenation/CodingStyle

	if (b) {
		EnableAndSetWatchdog(b);
	} else {
		DisableWatchdog();
	}

Other than these small nits, I don't see any problems with it.
The biggest issue is the devfs-only requirement, which as I mentioned,
is really evil, and afaics, totally unnecessary.

		Dave

  reply	other threads:[~2003-03-13 15:02 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-13  8:11 mb800 watchdog driver Grzegorz Jaskiewicz
2003-03-13 16:10 ` Dave Jones [this message]
2003-03-13 15:36   ` Joern Engel
2003-03-13 16:19   ` Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2003-03-13 22:52 Grzegorz Jaskiewicz
2004-01-28 15:23 mb800 WatchDog driver Grzegorz Jaskiewicz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030313161033.GA8751@suse.de \
    --to=davej@codemonkey.org.uk \
    --cc=gj@pointblue.com.pl \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox