>> for example new hw with unexpected features appears and allows kernel >> driver changes, that you may want to do for whatever reason >> (effectivity, security, etc). > >That's exactly what a kernel API should do. Using a userspace API to be >able to change the kernel API without problems just moves the problem >and still doesn't bring us anywhere. Apart from IMHO: (1) The difference in hardware so that great that quite complex code needs to be written to provide a consistent API. (2) Other functions which are part of the user space standard C library need to be used i.e. mathematical functions. Certain things if done as part of the driver are much faster and therefore a strong justification exists. Personally I would rather have as much of the complex code as possible in a user space library. If a bug exists in the user space library then just the application is affected, if its part of the kernel then potentially the whole machine hangs. Dave