mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2026-02-14 11:59:16 +01:00
Ticket refs #2337: Device.USB. TR181 object: fix issues related to Set/Get of some parameters
This commit is contained in:
parent
303f761a7d
commit
3094867d3e
2 changed files with 18 additions and 7 deletions
|
|
@ -126,7 +126,7 @@ static int browseUSBInterfaceInst(struct dmctx *dmctx, DMNODE *parent_node, void
|
|||
LIST_HEAD(dup_list);
|
||||
struct sysfs_dmsection *p;
|
||||
|
||||
synchronize_system_folders_with_dmmap_opt(SYSFS_USB_DEVICES_PATH, "dmmap_usb", "dmmap_interface", "port_link", "usb_iface_instance", &dup_list);
|
||||
synchronize_system_folders_with_dmmap_opt(SYSFS_USB_DEVICES_PATH, "dmmap_usb", "dmmap_interface", "usb_iface_link", "usb_iface_instance", &dup_list);
|
||||
list_for_each_entry(p, &dup_list, list) {
|
||||
char netfolderpath[256];
|
||||
char port_link[128];
|
||||
|
|
@ -143,7 +143,6 @@ static int browseUSBInterfaceInst(struct dmctx *dmctx, DMNODE *parent_node, void
|
|||
if(p->dm){
|
||||
foldersplit= strsplit(p->sysfs_folder_name, ":", &length);
|
||||
snprintf(port_link, sizeof(port_link), "%s", foldersplit[0]);
|
||||
DMUCI_SET_VALUE_BY_SECTION(bbfdm, p->dm, "port_link", port_link);
|
||||
}
|
||||
sysfs_foreach_file(netfolderpath, dir, ent) {
|
||||
if(strcmp(ent->d_name, ".")==0 || strcmp(ent->d_name, "..")==0)
|
||||
|
|
@ -342,6 +341,7 @@ static int browseUSBUSBHostsHostDeviceConfigurationInst(struct dmctx *dmctx, DMN
|
|||
s = is_dmmap_section_exist("dmmap_usb", "usb_device_conf");
|
||||
if (!s)
|
||||
dmuci_add_section_bbfdm("dmmap_usb", "usb_device_conf", &s, &v);
|
||||
DMUCI_SET_VALUE_BY_SECTION(bbfdm, s, "usb_parent_device", usb_dev->folder_path);
|
||||
|
||||
init_usb_port(s, usb_dev->folder_name, usb_dev->folder_path, &port);
|
||||
handle_update_instance(1, dmctx, &instnbr, update_instance_alias, 3, s, "usb_device_conf_instance", "usb_device_conf_alias");
|
||||
|
|
@ -516,7 +516,7 @@ static int get_USBInterface_Name(char *refparam, struct dmctx *ctx, void *data,
|
|||
|
||||
static int get_USBInterface_LowerLayers(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
const struct usb_interface *iface = data;
|
||||
const struct usb_interface *iface = (struct usb_interface *)data;
|
||||
|
||||
adm_entry_get_linker_param(ctx, dm_print_path("%s%cEthernet%cInterface%c", dmroot, dm_delim, dm_delim, dm_delim), iface->iface_name, value);
|
||||
return 0;
|
||||
|
|
@ -738,9 +738,9 @@ static int set_USBUSBHostsHost_Enable(char *refparam, struct dmctx *ctx, void *d
|
|||
string_to_bool(value, &b);
|
||||
dmasprintf(&filepath, "%s/power/wakeup", usbhost->folder_path);
|
||||
if(b)
|
||||
writeFileContent(usbhost->folder_path, "enabled");
|
||||
writeFileContent(filepath, "enabled");
|
||||
else
|
||||
writeFileContent(usbhost->folder_path, "disabled");
|
||||
writeFileContent(filepath, "disabled");
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -896,7 +896,17 @@ static int get_USBUSBHostsHostDevice_DeviceProtocol(char *refparam, struct dmctx
|
|||
|
||||
static int get_USBUSBHostsHostDevice_ProductID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
return read_sysfs_usb_port(data, "idProduct", value);
|
||||
char *idproduct = NULL;
|
||||
unsigned int ui_idproduct;
|
||||
|
||||
*value = "";
|
||||
int rc = read_sysfs_usb_port(data, "idProduct", &idproduct);
|
||||
|
||||
if(idproduct != NULL) {
|
||||
sscanf(idproduct, "%x", &ui_idproduct);
|
||||
dmasprintf(value, "%u", ui_idproduct);
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int get_USBUSBHostsHostDevice_VendorID(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
|
|
|
|||
|
|
@ -1176,6 +1176,7 @@ int synchronize_system_folders_with_dmmap_opt(char *sysfsrep, char *dmmap_packag
|
|||
struct sysfs_dmsection *p, *tmp;
|
||||
LIST_HEAD(dup_list_no_inst);
|
||||
|
||||
|
||||
dmmap_file_path_get(dmmap_package);
|
||||
|
||||
sysfs_foreach_file(sysfsrep, dir, ent) {
|
||||
|
|
@ -1682,7 +1683,7 @@ int copy_temporary_file_to_original_file(char *f1, char *f2)
|
|||
|
||||
static inline int char_is_valid(char c)
|
||||
{
|
||||
return c > 0x20 && c < 0x7f;
|
||||
return c >= 0x20 && c < 0x7f;
|
||||
}
|
||||
|
||||
int dm_read_sysfs_file(const char *file, char *dst, unsigned len)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue