Hi Nikolay, On 23/04/2015 16:38, Nikolay Dimitrov wrote: > > As more and more board variants are supported by unified source files, > functions like "is_specificboard()" are not scaling well - there's a > repetitive code for extracting hw-specific info, and then there's the > multiple functions that return true/false for each board variant.
ok - let's see what we can do. I have not thinking about it, because how to get model / version is quite always very specific. Some boards as this one are reading GPIOs, some other are reading from I2C / SPI, some other ones check if some hardware is present. > > Here's one proposal how this can be simplified a bit: > > typedef enum > { > BOARD_ALPHA, > BOARD_BRAVO, > BOARD_CHARLIE, > } model_t; > > /* Can be also named is_board_variant() or something like this */ > static bool is_board_model(model_t m) > { > /* ... Extract HW info */ > > switch (m) > { > case BOARD_ALPHA: > if (check for this board model) > return true; The check must be done in board code, because only the board knows the details. > break; > > /* do same for the other board models */ > /* ... */ > } > > return false; > } > > Not sure whether such code can be shared between different boards, but > can be a step towards unifying the handling of board models/variants. > Trying to get further and see if we can factorize it. Maybe not a lot. We can also think that is_board_model() becomes get_board_model(), or we generalize what was done in tqma6 with a sort of get_board_name(). Maybe we can factorize just a few code, but at least we could provide a "standard" method without having all boards doing the same in different way. > I'm perfectly fine with Fabio's code here, just using the occasion to > share my idea. Thanks - by sharing ideas we can improve code ! Best regards, Stefano -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot