I've properly configured the kernel, instantiated and loaded the driver, but It still doesn't work expectedly.
What did I do wrong or what can I do to root cause the issue?
Check the kernel console startup messages. (use dmesg command or cat /var/log/messages)
Often you see error messages like this:
ad7877: probe of spi0.1 failed with error -16
Sometimes they are verbose and tell you what the issue is, but sometimes they just return an error number.
To identify what these numbers mean see include/asm-generic/errno-base.h.
Typical errors are:
Retrieving data ...