在SDK中修改了对应的内容后,也还是会报该错误,
错误log如下:
root@TinaLinux:/# [ 29.232076] sunxi_vbus_det_work()3356 WARN: get power supply failed
[ 29.250472] android_work: sent uevent USB_STATE=DISCONNECTED
[ 29.272172] sunxi_set_cur_vol_work()397 WARN: get power supply failed
[ 29.294535] android_work: sent uevent USB_STATE=CONNECTED
[ 29.312027] configfs-gadget gadget: high-speed config #1: c
[ 29.318466] android_work: sent uevent USB_STATE=CONFIGURED
[ 29.324950] regulator-dummy: Underflow of regulator enable count
[ 29.332456] read descriptors
[ 29.335711] read strings
[ 29.342970] android_work: sent uevent USB_STATE=DISCONNECTED
[ 29.519967] sunxi_set_cur_vol_work()397 WARN: get power supply failed
[ 29.566921] android_work: sent uevent USB_STATE=CONNECTED
[ 29.583202] configfs-gadget gadget: high-speed config #1: c
[ 29.589905] android_work: sent uevent USB_STATE=CONFIGURED
[ 33.012012] sunxi_vbus_det_work()3356 WARN: get power supply failed
[ 33.019804] android_work: sent uevent USB_STATE=DISCONNECTED
[ 33.026274] sunxi_set_cur_vol_work()397 WARN: get power supply failed
[ 33.070338] android_work: sent uevent USB_STATE=CONNECTED
[ 33.086732] configfs-gadget gadget: high-speed config #1: c
[ 33.093222] regulator-dummy: Underflow of regulator enable count
[ 33.100748] android_work: sent uevent USB_STATE=DISCONNECTED
[ 33.107276] read descriptors
[ 33.110499] read strings
修改之后的SDK文件如下:
void sunxi_set_cur_vol_work(struct work_struct *work)
{
#if !defined(SUNXI_USB_FPGA) && defined(CONFIG_POWER_SUPPLY)
struct power_supply *psy = NULL;
union power_supply_propval temp;
if (of_find_property(g_udc_pdev->dev.of_node, "det_vbus_supply", NULL))
psy = devm_power_supply_get_by_phandle(&g_udc_pdev->dev,
"det_vbus_supply");
if (!psy || IS_ERR(psy)) {
DMSG_PANIC("%s()%d WARN: get power supply failed\n",
__func__, __LINE__);
} else {
temp.intval = 2500;
power_supply_set_property(psy,
POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT, &temp);
}
#endif
}