Code review for a no-std derive-macro

Hi, this is my first actual rust library where I've put effort into it. It's a no_std library where you can declare a register and assign permissions (read,write,edit). With the permissions assigned, you implement a trait from your driver and can then read/write/edit all the registers that have a common definition with respect to their permission. (i.e., cannot write on a read only register).

Any feedback on the code or the doc is appreciated but most of the focus should be on this file and this file. The async api is a bit more rough and not really ready, but comments are still welcomed.

Here is the link for the full repo: