2
0
forked from Ivasoft/DSView

Code refactoring 12

This commit is contained in:
dreamsourcelabTAI
2022-08-15 17:23:54 +08:00
parent 93c8d88ec2
commit 6865ac687b
23 changed files with 411 additions and 773 deletions

View File

@@ -148,7 +148,7 @@ static struct sr_dev_driver *drivers_list[] = {
*
* @return Pointer to the NULL-terminated list of hardware driver pointers.
*/
SR_API struct sr_dev_driver **sr_driver_list(void)
SR_PRIV struct sr_dev_driver **sr_driver_list(void)
{
return drivers_list;
@@ -159,7 +159,6 @@ SR_API struct sr_dev_driver **sr_driver_list(void)
*
* This usually involves memory allocations and variable initializations
* within the driver, but _not_ scanning for attached devices.
* The API call sr_driver_scan() is used for that.
*
* @param ctx A libsigrok context object allocated by a previous call to
* sr_init(). Must not be NULL.
@@ -170,7 +169,7 @@ SR_API struct sr_dev_driver **sr_driver_list(void)
* SR_ERR_BUG upon internal errors, or another negative error code
* upon other errors.
*/
SR_API int sr_driver_init(struct sr_context *ctx, struct sr_dev_driver *driver)
SR_PRIV int sr_driver_init(struct sr_context *ctx, struct sr_dev_driver *driver)
{
int ret;
@@ -191,51 +190,6 @@ SR_API int sr_driver_init(struct sr_context *ctx, struct sr_dev_driver *driver)
return ret;
}
/**
* Tell a hardware driver to scan for devices.
*
* In addition to the detection, the devices that are found are also
* initialized automatically. On some devices, this involves a firmware upload,
* or other such measures.
*
* The order in which the system is scanned for devices is not specified. The
* caller should not assume or rely on any specific order.
*
* Before calling sr_driver_scan(), the user must have previously initialized
* the driver by calling sr_driver_init().
*
* @param driver The driver that should scan. This must be a pointer to one of
* the entries returned by sr_driver_list(). Must not be NULL.
* @param options A list of 'struct sr_hwopt' options to pass to the driver's
* scanner. Can be NULL/empty.
*
* @return A GSList * of 'struct sr_dev_inst', or NULL if no devices were
* found (or errors were encountered). This list must be freed by the
* caller using g_slist_free(), but without freeing the data pointed
* to in the list.
*/
SR_API GSList *sr_driver_scan(struct sr_dev_driver *driver, GSList *options)
{
GSList *l;
if (!driver) {
sr_err("Invalid driver, can't scan for devices.");
return NULL;
}
if (!driver->priv) {
sr_err("Driver not initialized, can't scan for devices.");
return NULL;
}
l = driver->scan(options);
sr_detail("Scan of '%s' found %d devices.", driver->name,
g_slist_length(l));
return l;
}
/** @private */
SR_PRIV void sr_hw_cleanup_all(void)
{