Simplifications and small fixes.
This commit is contained in:
parent
5013f07422
commit
49d0ce50d0
41
hwplugin.c
41
hwplugin.c
|
@ -37,7 +37,7 @@ GSList *plugins;
|
||||||
*/
|
*/
|
||||||
struct hwcap_option hwcap_options[] = {
|
struct hwcap_option hwcap_options[] = {
|
||||||
{HWCAP_SAMPLERATE, T_UINT64, "Sample rate", "samplerate"},
|
{HWCAP_SAMPLERATE, T_UINT64, "Sample rate", "samplerate"},
|
||||||
{0, 0, NULL, NULL}
|
{0, 0, NULL, NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct device_plugin saleae_logic_plugin_info;
|
extern struct device_plugin saleae_logic_plugin_info;
|
||||||
|
@ -45,13 +45,14 @@ extern struct device_plugin ols_plugin_info;
|
||||||
extern struct device_plugin zeroplus_logic_cube_plugin_info;
|
extern struct device_plugin zeroplus_logic_cube_plugin_info;
|
||||||
extern struct device_plugin asix_sigma_plugin_info;
|
extern struct device_plugin asix_sigma_plugin_info;
|
||||||
|
|
||||||
|
/* TODO: No linked list needed, this can be a simple array. */
|
||||||
int load_hwplugins(void)
|
int load_hwplugins(void)
|
||||||
{
|
{
|
||||||
plugins =
|
plugins =
|
||||||
g_slist_append(plugins, (gpointer *) &saleae_logic_plugin_info);
|
g_slist_append(plugins, (gpointer *)&saleae_logic_plugin_info);
|
||||||
plugins = g_slist_append(plugins, (gpointer *) &ols_plugin_info);
|
plugins = g_slist_append(plugins, (gpointer *)&ols_plugin_info);
|
||||||
plugins = g_slist_append(plugins,
|
plugins = g_slist_append(plugins,
|
||||||
(gpointer *) &zeroplus_logic_cube_plugin_info);
|
(gpointer *)&zeroplus_logic_cube_plugin_info);
|
||||||
plugins = g_slist_append(plugins, (gpointer *)&asix_sigma_plugin_info);
|
plugins = g_slist_append(plugins, (gpointer *)&asix_sigma_plugin_info);
|
||||||
|
|
||||||
return SIGROK_OK;
|
return SIGROK_OK;
|
||||||
|
@ -63,12 +64,11 @@ GSList *list_hwplugins(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct sigrok_device_instance *sigrok_device_instance_new(int index, int status,
|
struct sigrok_device_instance *sigrok_device_instance_new(int index, int status,
|
||||||
char *vendor, char *model, char *version)
|
const char *vendor, const char *model, const char *version)
|
||||||
{
|
{
|
||||||
struct sigrok_device_instance *sdi;
|
struct sigrok_device_instance *sdi;
|
||||||
|
|
||||||
sdi = malloc(sizeof(struct sigrok_device_instance));
|
if (!(sdi = malloc(sizeof(struct sigrok_device_instance))))
|
||||||
if (!sdi)
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
sdi->index = index;
|
sdi->index = index;
|
||||||
|
@ -88,7 +88,6 @@ struct sigrok_device_instance *get_sigrok_device_instance(
|
||||||
struct sigrok_device_instance *sdi;
|
struct sigrok_device_instance *sdi;
|
||||||
GSList *l;
|
GSList *l;
|
||||||
|
|
||||||
sdi = NULL;
|
|
||||||
for (l = device_instances; l; l = l->next) {
|
for (l = device_instances; l; l = l->next) {
|
||||||
sdi = (struct sigrok_device_instance *)(l->data);
|
sdi = (struct sigrok_device_instance *)(l->data);
|
||||||
if (sdi->index == device_index)
|
if (sdi->index == device_index)
|
||||||
|
@ -108,7 +107,9 @@ void sigrok_device_instance_free(struct sigrok_device_instance *sdi)
|
||||||
case SERIAL_INSTANCE:
|
case SERIAL_INSTANCE:
|
||||||
serial_device_instance_free(sdi->serial);
|
serial_device_instance_free(sdi->serial);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
/* No specific type, nothing extra to free. */
|
/* No specific type, nothing extra to free. */
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
free(sdi->vendor);
|
free(sdi->vendor);
|
||||||
|
@ -122,13 +123,12 @@ struct usb_device_instance *usb_device_instance_new(uint8_t bus,
|
||||||
{
|
{
|
||||||
struct usb_device_instance *udi;
|
struct usb_device_instance *udi;
|
||||||
|
|
||||||
udi = malloc(sizeof(struct usb_device_instance));
|
if (!(udi = malloc(sizeof(struct usb_device_instance))))
|
||||||
if (!udi)
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
udi->bus = bus;
|
udi->bus = bus;
|
||||||
udi->address = address;
|
udi->address = address;
|
||||||
udi->devhdl = hdl;
|
udi->devhdl = hdl; /* TODO: Check if this is NULL? */
|
||||||
|
|
||||||
return udi;
|
return udi;
|
||||||
}
|
}
|
||||||
|
@ -141,12 +141,12 @@ void usb_device_instance_free(struct usb_device_instance *usb)
|
||||||
/* Nothing to do for this device instance type. */
|
/* Nothing to do for this device instance type. */
|
||||||
}
|
}
|
||||||
|
|
||||||
struct serial_device_instance *serial_device_instance_new(char *port, int fd)
|
struct serial_device_instance *serial_device_instance_new(
|
||||||
|
const char *port, int fd)
|
||||||
{
|
{
|
||||||
struct serial_device_instance *serial;
|
struct serial_device_instance *serial;
|
||||||
|
|
||||||
serial = malloc(sizeof(struct serial_device_instance));
|
if (!(serial = malloc(sizeof(struct serial_device_instance))))
|
||||||
if (!serial)
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
serial->port = strdup(port);
|
serial->port = strdup(port);
|
||||||
|
@ -164,27 +164,24 @@ int find_hwcap(int *capabilities, int hwcap)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; capabilities[i]; i++)
|
for (i = 0; capabilities[i]; i++) {
|
||||||
if (capabilities[i] == hwcap)
|
if (capabilities[i] == hwcap)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct hwcap_option *find_hwcap_option(int hwcap)
|
struct hwcap_option *find_hwcap_option(int hwcap)
|
||||||
{
|
{
|
||||||
struct hwcap_option *hwo;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
hwo = NULL;
|
|
||||||
for (i = 0; hwcap_options[i].capability; i++) {
|
for (i = 0; hwcap_options[i].capability; i++) {
|
||||||
if (hwcap_options[i].capability == hwcap) {
|
if (hwcap_options[i].capability == hwcap)
|
||||||
hwo = &hwcap_options[i];
|
return &hwcap_options[i];
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return hwo;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void source_remove(int fd)
|
void source_remove(int fd)
|
||||||
|
|
5
sigrok.h
5
sigrok.h
|
@ -358,7 +358,7 @@ GSList *list_hwplugins(void);
|
||||||
|
|
||||||
/* Generic device instances */
|
/* Generic device instances */
|
||||||
struct sigrok_device_instance *sigrok_device_instance_new(int index,
|
struct sigrok_device_instance *sigrok_device_instance_new(int index,
|
||||||
int status, char *vendor, char *model, char *version);
|
int status, const char *vendor, const char *model, const char *version);
|
||||||
struct sigrok_device_instance *get_sigrok_device_instance(
|
struct sigrok_device_instance *get_sigrok_device_instance(
|
||||||
GSList *device_instances, int device_index);
|
GSList *device_instances, int device_index);
|
||||||
void sigrok_device_instance_free(struct sigrok_device_instance *sdi);
|
void sigrok_device_instance_free(struct sigrok_device_instance *sdi);
|
||||||
|
@ -369,7 +369,8 @@ struct usb_device_instance *usb_device_instance_new(uint8_t bus,
|
||||||
void usb_device_instance_free(struct usb_device_instance *usb);
|
void usb_device_instance_free(struct usb_device_instance *usb);
|
||||||
|
|
||||||
/* Serial-specific instances */
|
/* Serial-specific instances */
|
||||||
struct serial_device_instance *serial_device_instance_new(char *port, int fd);
|
struct serial_device_instance *serial_device_instance_new(
|
||||||
|
const char *port, int fd);
|
||||||
void serial_device_instance_free(struct serial_device_instance *serial);
|
void serial_device_instance_free(struct serial_device_instance *serial);
|
||||||
|
|
||||||
int find_hwcap(int *capabilities, int hwcap);
|
int find_hwcap(int *capabilities, int hwcap);
|
||||||
|
|
Loading…
Reference in New Issue