From f14f84d3ab33c785903e5b4fb615076f9cbcefad Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Tue, 14 Sep 2010 15:21:16 +0200 Subject: [PATCH] Document ftdi_eeprom_initdefaults Add return value to ftdi_eeprom_initdefaults --- ftdipp/ftdi.cpp | 2 +- ftdipp/ftdi.hpp | 4 +--- src/ftdi.c | 16 ++++++++++++---- src/ftdi.h | 4 ++-- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/ftdipp/ftdi.cpp b/ftdipp/ftdi.cpp index 357393c..2754033 100644 --- a/ftdipp/ftdi.cpp +++ b/ftdipp/ftdi.cpp @@ -393,7 +393,7 @@ Eeprom::~Eeprom() { } -void Eeprom::init_defaults(char* manufacturer, char *product, char * serial) +int Eeprom::init_defaults(char* manufacturer, char *product, char * serial) { return ftdi_eeprom_initdefaults(d->context, manufacturer, product, serial); } diff --git a/ftdipp/ftdi.hpp b/ftdipp/ftdi.hpp index d1dec92..2ac4bc2 100644 --- a/ftdipp/ftdi.hpp +++ b/ftdipp/ftdi.hpp @@ -152,9 +152,7 @@ public: Eeprom(Context* parent); ~Eeprom(); - void init_defaults(char *manufacturer, char* product, char * serial); - void set_size(int size); - int size(unsigned char *eeprom, int maxsize); + int init_defaults(char *manufacturer, char* product, char * serial); int chip_id(unsigned int *chipid); int build(unsigned char *output); diff --git a/src/ftdi.c b/src/ftdi.c index 409e294..3daea74 100644 --- a/src/ftdi.c +++ b/src/ftdi.c @@ -2180,18 +2180,25 @@ int ftdi_set_error_char(struct ftdi_context *ftdi, /** Init eeprom with default values. \param ftdi pointer to ftdi_context - + \param manufacturer String to use as Manufacturer + \param product String to use as Product description + \param serial String to use as Serial number description + + \retval 0: all fine + \retval -1: No struct ftdi_context + \retval -2: No struct ftdi_eeprom */ -void ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, char * manufacturer, +int ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, char * manufacturer, char * product, char * serial) { struct ftdi_eeprom *eeprom; if (ftdi == NULL) - return; + ftdi_error_return(-1, "No struct ftdi_context"); + if (ftdi->eeprom == NULL) - return; + ftdi_error_return(-2,"No struct ftdi_eeprom"); eeprom = ftdi->eeprom; memset(eeprom, 0, sizeof(struct ftdi_eeprom)); @@ -2251,6 +2258,7 @@ void ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, char * manufacturer, } else eeprom->size = -1; + return 0; } /** diff --git a/src/ftdi.h b/src/ftdi.h index df754e3..94d16dc 100644 --- a/src/ftdi.h +++ b/src/ftdi.h @@ -469,8 +469,8 @@ extern "C" int ftdi_set_event_char(struct ftdi_context *ftdi, unsigned char eventch, unsigned char enable); int ftdi_set_error_char(struct ftdi_context *ftdi, unsigned char errorch, unsigned char enable); - /* init and build eeprom from ftdi_eeprom structure */ - void ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, + /* init eeprom for the given FTDI type */ + int ftdi_eeprom_initdefaults(struct ftdi_context *ftdi, char * manufacturer, char *product, char * serial); int ftdi_eeprom_build(struct ftdi_context *ftdi); -- 1.7.1