As suggested by Greg, new functions were introduced in the parport subsystem which will use the device-model and we convert the drivers one by one. So accordingly we now have parport_register_drv(), parport_register_dev() and attach_ret() which are using the device-model. And we have a flag to indicate if the driver has registered using this new api, and based on that flag other functions are behaving. The registration of ports is using the device-model and we now will have /sys/bus/parport and as and when new ports are discovered they will be added to the tree. The drivers after converting to the device-model will register their device as an subdevice under the relevant port it is using and when they claim the port the actual binding between the device and the driver will take place. Greg also suggested to use a probe function in the drivers which will return 0 for automatic binding, but since we do not have specific deviceid for many parallel port devices so I was not sure what the logic will be in the probe to identify and match the device. So instead I thought of using device_attach() for the actual binding. As of now only two drivers have been converted, i2c-parport which Jean says he can test, and staging/panel which i can test as I have the hardware for LCD part. The zip-driver is stil not converted, but still cc-ing gnomes@xxxxxxxxxxxxxxxxxxx if he can please check the zip drive to know if the changes are not breaking the drivers which have not yet been converted. I am also in the process of procuring a parallel port printer so that the code can properly be maintained and can be marked as Maintained. Sudip Mukherjee (4): parport: modify parport subsystem to use devicemodel parport: update TODO and documentation i2c-parport: use device-model parport staging: panel: use parport in device-model Documentation/parport-lowlevel.txt | 49 ++++++++ drivers/i2c/busses/i2c-parport.c | 19 +-- drivers/parport/TODO-parport | 4 + drivers/parport/procfs.c | 15 ++- drivers/parport/share.c | 236 +++++++++++++++++++++++++++++++++++-- drivers/staging/panel/panel.c | 20 ++-- include/linux/parport.h | 29 ++++- 7 files changed, 343 insertions(+), 29 deletions(-) -- 1.8.1.2 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel