
On Wednesday 23 January 2008, Wolfgang Denk wrote:
In message 200801231113.38864.vapier@gentoo.org you wrote:
This patch adds a new sub command to eeprom called "info". This allows eeprom driver writers to implement a way of querying the device. For example, SPI flashes have status commands, jedec ids, part ids, and other fun stuff. It's useful to be able to quickly probe this data (so you know things are detected properly and all that jazz).
How is this suppoesed to work on the "normal" EEPROm devices which are typically attached to the I2C bus?
I made the function weak so that people aren't required to implement this function (mostly so that it does not break all the SPI drivers out there right now).
... and I2C.
i have no idea, i dont use i2c flashes. i dont know if there is any standard for them. if there isnt, easy enough to protect with CONFIG_SPI.
+extern int eeprom_info (void) __attribute__((weak)); #if defined(CFG_EEPROM_WREN) extern int eeprom_write_enable (unsigned dev_addr, int state); #endif @@ -104,7 +105,8 @@ int do_eeprom ( cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
puts ("done\n"); return rcode;
}
} else if (argc == 2 && eeprom_info && strcmp (argv[1], "info") == 0)
return eeprom_info ();
... && eeprom_info && ...?
Does that mean that a weak function resolves to a NULL pointer? Is this guaranteed?
of course. an undefined weak function resolves to 0. -mike