將資料列印出來。
/*
brief Dump data to console
retval 0 if success, else return a negtive value
*/
int dump_data_char(unsigned int addr, unsigned int size)
{
int cnt = 0;
char *ptr = (char*)(addr);
char *ptraddr;
//DBG_DETAIL("address:%8x, size:%4d\n", add, size);
#ifdef __KERNEL__
ptraddr = (char*) kmalloc(size, GFP_KERNEL);
copy_from_user(ptraddr, (const void *)ptr, size);
#else
ptraddr = ptr;
#endif
//DBG_DETAIL("ptraddr:%8x\n", ptraddr);
for(cnt=0; cnt<size; cnt++) {
DBG_ERR("(%d)data 0x%x\n", cnt, ptraddr[cnt]);
//DBG_ERR("(%d)data 0x%x\n", cnt, *ptraddr++);//*(ptraddr++)
}
return 0;
}
int dump_data_short(unsigned int addr, unsigned int size)
{
int cnt = 0;
short *ptr = (short*)(addr);
short *ptraddr;
//DBG_DETAIL("address:%8x, size:%4d\n", add, size);
#ifdef __KERNEL__
ptraddr = (char*) kmalloc(size, GFP_KERNEL);
copy_from_user(ptraddr, (const void *)ptr, size);
#else
ptraddr = ptr;
#endif
//DBG_DETAIL("ptraddr:%8x\n", ptraddr);
for(cnt=0; cnt<size; cnt++) {
DBG_ERR("(%d)data 0x%x\n", cnt, ptraddr[cnt]);
//DBG_ERR("(%d)data 0x%x\n", cnt, *ptraddr++);//*(ptraddr++)
}
return 0;
}
int dump_data_int(unsigned int addr, unsigned int size)
{
int cnt = 0;
int *ptr = (short*)(addr);
int *ptraddr;
//DBG_DETAIL("address:%8x, size:%4d\n", add, size);
#ifdef __KERNEL__
ptraddr = (char*) kmalloc(size, GFP_KERNEL);
copy_from_user(ptraddr, (const void *)ptr, size);
#else
ptraddr = ptr;
#endif
//DBG_DETAIL("ptraddr:%8x\n", ptraddr);
for(cnt=0; cnt<size; cnt++) {
DBG_ERR("(%d)data 0x%x\n", cnt, ptraddr[cnt]);
//DBG_ERR("(%d)data 0x%x\n", cnt, *ptraddr++);//*(ptraddr++)
}
return 0;
}