void dump_mainkey(script_main_key_t *pmainkey) { script_sub_key_t *psubkey = NULL; if (NULL == pmainkey || NULL == pmainkey->subkey || NULL == pmainkey->subkey_val) return; printk("=========================================================\n"); printk(" name: %s\n", pmainkey->name); printk(" sub_key: name type value\n"); psubkey = pmainkey->subkey; while (psubkey) { switch (psubkey->type) { case SCIRPT_ITEM_VALUE_TYPE_INT: printk(" %-15s%-10s%d\n", psubkey->name, ITEM_TYPE_TO_STR(psubkey->type), psubkey->value->val); break; case SCIRPT_ITEM_VALUE_TYPE_STR: printk(" %-15s%-10s\"%s\"\n", psubkey->name, ITEM_TYPE_TO_STR(psubkey->type), psubkey->value->str); break; case SCIRPT_ITEM_VALUE_TYPE_PIO: printk(" %-15s%-10s(gpio: %3d, mul: %d, pull %d, drv %d, data %d)\n", psubkey->name, ITEM_TYPE_TO_STR(psubkey->type), psubkey->value->gpio.gpio, psubkey->value->gpio.mul_sel, psubkey->value->gpio.pull, psubkey->value->gpio.drv_level, psubkey->value->gpio.data); break; default: printk(" %-15sINVALID TYPE\n", psubkey->name); break; } psubkey = psubkey->next; } printk("=========================================================\n"); }
int __sysfs_dump_mainkey(script_main_key_t *pmainkey, char *buf) { script_sub_key_t *psubkey = NULL; int cnt = 0; char gpio_name[8] = {0}; if(NULL == pmainkey || NULL == pmainkey->subkey || NULL == pmainkey->subkey_val) return 0; cnt += sprintf(buf + cnt, "++++++++++++++++++++++++++%s++++++++++++++++++++++++++\n", __func__); cnt += sprintf(buf + cnt, " name: %s\n", pmainkey->name); cnt += sprintf(buf + cnt, " sub_key: name type value\n"); psubkey = pmainkey->subkey; while(psubkey) { switch(psubkey->type) { case SCIRPT_ITEM_VALUE_TYPE_INT: cnt += sprintf(buf + cnt, " %-15s%-10s%d\n", psubkey->name, ITEM_TYPE_TO_STR(psubkey->type), psubkey->value->val); break; case SCIRPT_ITEM_VALUE_TYPE_STR: cnt += sprintf(buf + cnt, " %-15s%-10s\"%s\"\n", psubkey->name, ITEM_TYPE_TO_STR(psubkey->type), psubkey->value->str); break; case SCIRPT_ITEM_VALUE_TYPE_PIO: sunxi_gpio_to_name(psubkey->value->gpio.gpio, gpio_name); cnt += sprintf(buf + cnt, " %-15s%-10s(gpio: %#x / %s, mul: %d, pull %d, drv %d, data %d)\n", psubkey->name, ITEM_TYPE_TO_STR(psubkey->type), psubkey->value->gpio.gpio, gpio_name, psubkey->value->gpio.mul_sel, psubkey->value->gpio.pull, psubkey->value->gpio.drv_level, psubkey->value->gpio.data); break; default: cnt += sprintf(buf + cnt, " %-15sinvalid type!\n", psubkey->name); break; } psubkey = psubkey->next; } cnt += sprintf(buf + cnt, "--------------------------%s--------------------------\n", __func__); return cnt; }