Should remove PIOS_PCF8591_NUMBER_OF_ADC_CHANNELS so you have [].  Then, instead of using PIOS_PCF8591_CHANNELS macro, just put the initializer here verbatim.

You can also, at your discretion, replace all usage of NUMBER_OF_ADC_CHANNELS with NELEMENTS(ADC_CHANNEL).  That ties the usage to exactly the size of the array even if someone changes how it is defined.  This has the additional advantage that it auto-adjusts the size of the array as well as the number of channels by just adding/removing entries in the initializer.