drivers/pc80/mc146818rtc: Reduce superfluous preprocessor use

cmos_init() had layers of preprocessor directives, which resulted in
a complete mess. Refactor it to make use of the IS_ENABLED() macro.
This improves readability significantly.

One of the changes is to remove in inline stub declaration of
(get|set)_option. Although that provided the ability for the compiler
to optimize out code when USE_OPTION_TABLE is not selected, there is
no evidence that such savings are measureable.

Change-Id: I07f00084d809adbb55031b2079f71136ade3028e
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-on: http://review.coreboot.org/8306
Tested-by: build bot (Jenkins)
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
Alexandru Gagniuc
2015-01-30 00:07:12 -06:00
parent a4d784eeab
commit b5669ba579
3 changed files with 55 additions and 58 deletions

View File

@@ -169,21 +169,13 @@ static inline void cmos_write32(u8 offset, u32 value)
#endif
#if !defined(__ROMCC__)
void cmos_init(int invalid);
void cmos_init(bool invalid);
void cmos_check_update_date(void);
#if CONFIG_USE_OPTION_TABLE
enum cb_err set_option(const char *name, void *val);
enum cb_err get_option(void *dest, const char *name);
unsigned read_option_lowlevel(unsigned start, unsigned size, unsigned def);
#else
static inline enum cb_err set_option(const char *name __attribute__((unused)),
void *val __attribute__((unused)))
{ return CB_CMOS_OTABLE_DISABLED; };
static inline enum cb_err get_option(void *dest __attribute__((unused)),
const char *name __attribute__((unused)))
{ return CB_CMOS_OTABLE_DISABLED; }
#define read_option_lowlevel(start, size, def) def
#endif
#else /* defined(__ROMCC__) */
#include <drivers/pc80/mc146818rtc_early.c>
#endif /* !defined(__ROMCC__) */