Mercurial > flash_v2
changeset 1457:9bf998a57d30
Handle changes in FLASH CFG API
| author | gthomas |
|---|---|
| date | Mon, 05 Jan 2004 21:58:16 +0000 |
| parents | 17c50425fc72 |
| children | b535fe01cba6 |
| files | packages/devs/eth/intel/i82559/current/ChangeLog packages/devs/eth/intel/i82559/current/src/if_i82559.c packages/hal/common/current/ChangeLog packages/hal/common/current/include/hal_if.h packages/infra/current/ChangeLog packages/infra/current/src/tcdiag.cxx packages/infra/current/tests/fc_test.c packages/io/eth/current/ChangeLog packages/io/eth/current/src/net/eth_drv.c |
| diffstat | 9 files changed, 47 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/devs/eth/intel/i82559/current/ChangeLog +++ b/packages/devs/eth/intel/i82559/current/ChangeLog @@ -1,3 +1,7 @@ +2004-01-05 Gary Thomas <gary@mlbassoc.com> + + * src/if_i82559.c: Names of FLASH config types changed. + 2003-02-27 Mark Salter <msalter@redhat.com> * src/if_i82559.c (eth_set_mac_address): Correct writing
--- a/packages/devs/eth/intel/i82559/current/src/if_i82559.c +++ b/packages/devs/eth/intel/i82559/current/src/if_i82559.c @@ -191,11 +191,11 @@ int i; \ if ( CYGACC_CALL_IF_FLASH_CFG_OP( CYGNUM_CALL_IF_FLASH_CFG_GET, \ "info_console_force", &i, \ - CYGNUM_FLASH_CFG_OP_CONFIG_BOOL ) ) { \ + CYGNUM_FLASH_CFG_TYPE_CONFIG_BOOL ) ) { \ if ( i ) { \ if ( CYGACC_CALL_IF_FLASH_CFG_OP( CYGNUM_CALL_IF_FLASH_CFG_GET, \ "info_console_number", &i, \ - CYGNUM_FLASH_CFG_OP_CONFIG_INT ) ) { \ + CYGNUM_FLASH_CFG_TYPE_CONFIG_INT ) ){ \ /* Then i is the console to force it to: */ \ CYGACC_CALL_IF_SET_CONSOLE_COMM( i ); \ } \
--- a/packages/hal/common/current/ChangeLog +++ b/packages/hal/common/current/ChangeLog @@ -1,3 +1,10 @@ +2004-01-05 Gary Thomas <gary@mlbassoc.com> + + * include/hal_if.h: Minor fixup - new 'fconfig' functions broke + existing uses of CYGACC_CALL_IF_FLASH_CFG_OP. Added a new macro + CYGACC_CALL_IF_FLASH_CFG_OP2 which handles new API and a wrapper + to handle the old way (backwards compatability). + 2003-12-21 Gary Thomas <gary@mlbassoc.com> * src/hal_if.c (flash_config_op):
--- a/packages/hal/common/current/include/hal_if.h +++ b/packages/hal/common/current/include/hal_if.h @@ -12,7 +12,7 @@ // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. // Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Red Hat, Inc. -// Copyright (C) 2002, 2003 Gary Thomas +// Copyright (C) 2002, 2003, 2004 Gary Thomas // // eCos is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -652,9 +652,22 @@ static __inline__ _rt_ #define CYGNUM_CALL_IF_FLASH_CFG_GET (0) // Get a particular fconfig key #define CYGNUM_CALL_IF_FLASH_CFG_NEXT (1) // Enumerate keys (get the next one) #define CYGNUM_CALL_IF_FLASH_CFG_SET (2) // Update particular fconfig key -#define CYGACC_CALL_IF_FLASH_CFG_OP(_o_,_d_) \ +#define CYGACC_CALL_IF_FLASH_CFG_OP2(_o_,_d_) \ CYGACC_CALL_VV2(__call_if_flash_cfg_op_fn_t*, CYGNUM_CALL_IF_FLASH_CFG_OP, (_o_),(_d_)) __call_VV2(CYGNUM_CALL_IF_FLASH_CFG_OP, __call_if_flash_cfg_op_fn_t, cyg_bool, int, struct cyg_fconfig *) + +static __inline__ cyg_bool +__call_if_flash_cfg_op(int op, char *key, void *data, int type) +{ + struct cyg_fconfig info; + info.key = key; + info.val = data; + info.type = type; + info.offset = 0; + return CYGACC_CALL_IF_FLASH_CFG_OP2(op, &info); +} +#define CYGACC_CALL_IF_FLASH_CFG_OP(_o_,_k_,_d_,_t_) \ + __call_if_flash_cfg_op(_o_,_k_,_d_,_t_) #define CYGACC_CALL_IF_FLASH_CFG_OP_SET(_x_) \ hal_virtual_vector_table[CYGNUM_CALL_IF_FLASH_CFG_OP]=(CYG_ADDRWORD)(_x_)
--- a/packages/infra/current/ChangeLog +++ b/packages/infra/current/ChangeLog @@ -1,3 +1,8 @@ +2004-01-05 Gary Thomas <gary@mlbassoc.com> + + * tests/fc_test.c: + * src/tcdiag.cxx (cyg_assert_msg): 'fconfig' API changed again. + 2003-12-21 Gary Thomas <gary@mlbassoc.com> * tests/fc_test.c: New test/demonstration of 'fconfig' access.
--- a/packages/infra/current/src/tcdiag.cxx +++ b/packages/infra/current/src/tcdiag.cxx @@ -159,11 +159,11 @@ cyg_assert_msg( const char *psz_func, co fc.key = "info_console_force"; fc.type = CYGNUM_FLASH_CFG_TYPE_CONFIG_BOOL; fc.val = (void *)&i; - if (CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_GET, &fc)) { + if (CYGACC_CALL_IF_FLASH_CFG_OP2(CYGNUM_CALL_IF_FLASH_CFG_GET, &fc)) { if (i) { fc.key = "info_console_number"; fc.type = CYGNUM_FLASH_CFG_TYPE_CONFIG_INT; - if (CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_GET, &fc)) { + if (CYGACC_CALL_IF_FLASH_CFG_OP2(CYGNUM_CALL_IF_FLASH_CFG_GET, &fc)) { // Then i is the console to force it to: CYGACC_CALL_IF_SET_CONSOLE_COMM(i); }
--- a/packages/infra/current/tests/fc_test.c +++ b/packages/infra/current/tests/fc_test.c @@ -8,7 +8,7 @@ //####ECOSGPLCOPYRIGHTBEGIN#### // ------------------------------------------- // This file is part of eCos, the Embedded Configurable Operating System. -// Copyright (C) 2003 Gary Thomas +// Copyright (C) 2003, 2004 Gary Thomas // // eCos is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the Free @@ -72,7 +72,7 @@ main(void) fc.offset = 0; fc.key = key; fc.keylen = sizeof(key); - while (CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_NEXT, &fc)) { + while (CYGACC_CALL_IF_FLASH_CFG_OP2(CYGNUM_CALL_IF_FLASH_CFG_NEXT, &fc)) { diag_printf(" Offset: %d, key: '%s', type: %d\n", fc.offset, fc.key, fc.type); fc.keylen = sizeof(key); } @@ -80,18 +80,18 @@ main(void) fc.key = "gdb_port"; fc.val = &port; fc.type = CYGNUM_FLASH_CFG_TYPE_CONFIG_INT; - if (CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_GET, &fc)) { + if (CYGACC_CALL_IF_FLASH_CFG_OP2(CYGNUM_CALL_IF_FLASH_CFG_GET, &fc)) { diag_printf("gdb_port = %d\n", port); port++; - if (CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_SET, &fc)) { - if (CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_GET, &fc)) { + if (CYGACC_CALL_IF_FLASH_CFG_OP2(CYGNUM_CALL_IF_FLASH_CFG_SET, &fc)) { + if (CYGACC_CALL_IF_FLASH_CFG_OP2(CYGNUM_CALL_IF_FLASH_CFG_GET, &fc)) { diag_printf("now = %d\n", port); } else { diag_printf("Can't re-fetch 'gdb_port'\n"); exit(1); } port--; - if (!CYGACC_CALL_IF_FLASH_CFG_OP(CYGNUM_CALL_IF_FLASH_CFG_SET, &fc)) { + if (!CYGACC_CALL_IF_FLASH_CFG_OP2(CYGNUM_CALL_IF_FLASH_CFG_SET, &fc)) { diag_printf("Can't update 'gdb_port'\n"); exit(1); }
--- a/packages/io/eth/current/ChangeLog +++ b/packages/io/eth/current/ChangeLog @@ -1,3 +1,7 @@ +2004-01-05 Gary Thomas <gary@mlbassoc.com> + + * src/net/eth_drv.c: Names of FLASH config types changed. + 2003-10-09 Gary Thomas <gary@mlbassoc.com> * src/stand_alone/eth_drv.c: Obviate __local_enet_addr, since this
--- a/packages/io/eth/current/src/net/eth_drv.c +++ b/packages/io/eth/current/src/net/eth_drv.c @@ -292,11 +292,11 @@ simulate_fail_corrupt_sglist( struct eth int i; \ if ( CYGACC_CALL_IF_FLASH_CFG_OP( CYGNUM_CALL_IF_FLASH_CFG_GET, \ "info_console_force", &i, \ - CYGNUM_FLASH_CFG_OP_CONFIG_BOOL ) ) { \ + CYGNUM_FLASH_CFG_TYPE_CONFIG_BOOL ) ) { \ if ( i ) { \ if ( CYGACC_CALL_IF_FLASH_CFG_OP( CYGNUM_CALL_IF_FLASH_CFG_GET, \ "info_console_number", &i, \ - CYGNUM_FLASH_CFG_OP_CONFIG_INT ) ) { \ + CYGNUM_FLASH_CFG_TYPE_CONFIG_INT ) ){ \ /* Then i is the console to force it to: */ \ CYGACC_CALL_IF_SET_CONSOLE_COMM( i ); \ } \
