Most of these are internal details to the device and shouldn't be exposed outside of the .c file.

These things should move to the _priv.h:
````
  ADC_SINGLE_ENDED
  ADC_THREE_DIFF_INPUTS
  ADC_SINGLE_ENDED_AND_DIFF_MIXED
  ADC_TWO_DIFF_INPUTS
````
because they represent the adc_types that you would fill into the cfg struct.

All of the rest should be moved to the .c file and hidden from everyone.

After that, this .h file could probably be deleted.