rebase to use hardware from cm
i really hare to revert upstream commits :(