@ -75,8 +75,9 @@ static int do_list(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
static int do_dump ( cmd_tbl_t * cmdtp , int flag , int argc , char * const argv [ ] )
{
struct uc_pmic_priv * priv ;
struct udevice * dev ;
uint8_t value ;
char fmt [ 16 ] ;
uint reg ;
int ret ;
@ -86,12 +87,15 @@ static int do_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
}
dev = currdev ;
priv = dev_get_uclass_priv ( dev ) ;
printf ( " Dump pmic: %s registers \n " , dev - > name ) ;
sprintf ( fmt , " %%%d.%dx " , priv - > trans_len * 2 ,
priv - > trans_len * 2 ) ;
for ( reg = 0 ; reg < pmic_reg_count ( dev ) ; reg + + ) {
ret = pmic_read ( dev , reg , & value , 1 ) ;
if ( ret ) {
ret = pmic_reg_re ad ( dev , reg ) ;
if ( ret < 0 ) {
printf ( " Can't read register: %d \n " , reg ) ;
return failure ( ret ) ;
}
@ -99,7 +103,7 @@ static int do_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
if ( ! ( reg % 16 ) )
printf ( " \n 0x%02x: " , reg ) ;
printf ( " %2.2x " , value ) ;
printf ( fmt , ret ) ;
}
printf ( " \n " ) ;
@ -108,9 +112,10 @@ static int do_dump(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
static int do_read ( cmd_tbl_t * cmdtp , int flag , int argc , char * const argv [ ] )
{
struct uc_pmic_priv * priv ;
struct udevice * dev ;
int regs , ret ;
uint8_t value ;
char fmt [ 24 ] ;
uint reg ;
if ( ! currdev ) {
@ -119,6 +124,7 @@ static int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
}
dev = currdev ;
priv = dev_get_uclass_priv ( dev ) ;
if ( argc ! = 2 )
return CMD_RET_USAGE ;
@ -130,13 +136,15 @@ static int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return failure ( - EFAULT ) ;
}
ret = pmic_read ( dev , reg , & value , 1 ) ;
if ( ret ) {
ret = pmic_reg_re ad ( dev , reg ) ;
if ( ret < 0 ) {
printf ( " Can't read PMIC register: %d! \n " , reg ) ;
return failure ( ret ) ;
}
printf ( " 0x%02x: 0x%2.2x \n " , reg , value ) ;
sprintf ( fmt , " 0x%%02x: 0x%%%d.%dx \n " , priv - > trans_len * 2 ,
priv - > trans_len * 2 ) ;
printf ( fmt , reg , ret ) ;
return CMD_RET_SUCCESS ;
}
@ -144,9 +152,8 @@ static int do_read(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
static int do_write ( cmd_tbl_t * cmdtp , int flag , int argc , char * const argv [ ] )
{
struct udevice * dev ;
uint reg , value ;
int regs , ret ;
uint8_t value ;
uint reg ;
if ( ! currdev ) {
printf ( " First, set the PMIC device! \n " ) ;
@ -167,7 +174,7 @@ static int do_write(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
value = simple_strtoul ( argv [ 2 ] , NULL , 0 ) ;
ret = pmic_write ( dev , reg , & value , 1 ) ;
ret = pmic_reg_ write ( dev , reg , value ) ;
if ( ret ) {
printf ( " Can't write PMIC register: %d! \n " , reg ) ;
return failure ( ret ) ;