kernel/adc: backport essential fixes for ad799x

This patch ports back some fixes of the ad799x driver, which were
committed between 3.10 and 3.15.

Signed-off-by: Hartmut Knaack <knaack.h@gmx.de>

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42993 3c298f89-4303-0410-b956-a3cf2f4a3e73