lkml.org 
[lkml]   [2004]   [May]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[RFC][DOC] writing IDE driver guidelines
Date

Feedback is welcomed.


writing IDE driver guidelines


general rules:

- code outside drivers/ide directory shouldn't need to
include <linux/ide.h> if it does something is wrong

- do not believe in popular myth that driver code
can be of less quality than core kernel code

- don't copy without thinking ugly and bogus code
(there is still lot of such in IDE)

- IDE is going into full host driver model
so write host driver for your interface

- host drivers should request/release IO resource
themelves and set hwif->mmio to 2

- remember about ordering issues
(you break device ordering and some machines won't boot)

- use linux-ide@vger.kernel.org mailing list


new architecture:

- add only what is really necessary to <asm/ide.h>
and put interface specific code into drivers/ide

- ide_init_hwif_ports() is obsolete and dying,
define IDE_ARCH_NO_OBSOLETE_INIT in <asm/ide.h>

- define ide_default_irq(), ide_init_default_irq()
and ide_default_io_base() to (0)

- ide_init_default_hwifs() is gone


architecture specific drivers:

- do not abuse ide_default_irq()/ide_default_io_base() from <asm/ide.h>

- your driver should be in drivers/ide/<your_arch>/<your_driver_name>

- see drivers in drivers/ide/arm and drivers/ide/legacy for examples
(especially m68k and arm specific drivers)

- do not use ide_setup_ports()


PCI drivers:

- no need to split your driver on .c and .h files

- /proc/ide/ interfaces are obsolete


--
Bartlomiej Zolnierkiewicz (15 May 2004)

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

\
 
 \ /
  Last update: 2005-03-22 14:03    [W:0.071 / U:0.376 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site