I've implemented the changes suggested here for the AoE driver for 2.6.9. Here's a list of changes since December 6 when the 2.6.9 patch was first submitted. Suggestions made by more than one person are only listed once. Greg KH suggestions: * tell sysfs about our char drivers with class_simple * don't use typedefs * use list.h macros instead of our queue manipulation functions * get rid of our getfields function * remove stacked if statements (a Bell Labs-ism) * comment ioctl: device node permissions should be restrictive * return -ENOTTY for unsupported ioctls * return apropos errors instead of -1 in char device operations * remove aoeutils.c and use in-kernel functionality * move example scripts into Documentation/aoe Jan-Benedict Glaw suggestions: * move Kconfig entry into parent dir * use NULL instead of nil * use ARRAY_SIZE instead of our nelems macro * remove unused device path macros * use C99 struct initializers * use __init and __exit more Arjan van de Ven suggestions: * remove u.h * use mempool allocation in make_request_fn * use bdev->bd_openers instead of our own nopen Pekka Enberg suggestions: * name our header aoe.h * only include needed headers each .c file * split one enum according to meaning * eliminate unnecessary casts from void * to typed pointer Provide support for ATA over Ethernet devices Signed-off-by: Ed L. Cashin