And are you sure the amound of pins in bank 0, 1, 2 is the same on mx233 and
mx28 ?

Yes, I'm sure they're not ;-). I went through the manual and changed it into 
this:
static const int mxs_bank_pins[] = {
#if    defined(CONFIG_MX23)
MX23_BANK0_PINS,
MX23_BANK1_PINS,
MX23_BANK2_PINS
#elif    defined(CONFIG_MX28)
MX28_BANK0_PINS,
MX28_BANK1_PINS,
MX28_BANK2_PINS,
MX28_BANK3_PINS,
  MX28_BANK4_PINS
#endif
};

I also implemented a non-static function gpio_name_to_pin. I didn't implement 
validity checking in it, but is does check for set bits outside the pin and 
bank masks. To check if a pin is actually valid, I have added a non-static 
function gpio_invalid, as you suggested. I just named it differently because a 
function called gpio_is_valid returning 0 in case the pin is valid might be a 
bit confusing when evaluating the return parameter.

As a result, there's no longer a validity check in gpio_request anymore. Or 
would you suggest to do this check at the beginning of each non-static function 
taking a gp input parameter?

I'm not really sure yet how to implement Mike's suggestion to deal with 
diversity, but I'll work on that now.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to