Add updated (partically) and fixed driver in kernel tree