Commit Graph

83 Commits

Author SHA1 Message Date
Alexandru Gagniuc acac8fc350 device.c: Fix memory leak in sr_serial_dev_inst_free
sr_serial_dev_inst_free() freed all members of sr_serial_dev_inst, but did not
free the struct itself, as expected from a free_*() function. This inadvertently
caused a memory leak in every place sr_serial_dev_inst is used.

Free the struct itself

+	g_free(serial);

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-23 17:18:14 +01:00
Bert Vermeulen 299bdb249e serial: revamp internal API
The only thing to get passed around now is the struct sr_serial_dev_inst
pointer. This should make things more portable as well.
2012-11-12 00:27:17 +01:00
Uwe Hermann a885ce3ee9 Various subsystems: Use message logging helpers. 2012-11-11 18:14:17 +01:00
Uwe Hermann 64d33dc28e All drivers: Drop unneeded comments. 2012-11-11 18:09:11 +01:00
Uwe Hermann 545f978639 config.h usage cleanups.
- Drop config.h #include from files that don't actually use any of
   its contents (at the moment).

 - Add comment for those that do need it.
2012-10-24 00:41:21 +02:00
Uwe Hermann 393fb9cb18 Doxygen: Add @file items for the relevant files.
These short descriptions are shown in the "Files" section of the
Doxygen output.
2012-10-22 11:56:18 +02:00
Uwe Hermann 9c5332d291 Doxygen: Fix a bunch of warnings and outdated docs. 2012-10-22 11:56:18 +02:00
Uwe Hermann 7b870c38e3 Doxygen: Initial groups and topic short descriptions. 2012-10-22 11:56:18 +02:00
Uwe Hermann b4bd70889f Doxygen: Mark non-public stuff for exclusion.
- /** @private */ can be used for functions, and /** @cond PRIVATE */ and
   /** @endcond */ for variables or #defines.

 - Document the above in HACKING.
2012-10-22 11:56:17 +02:00
Bert Vermeulen 811deee4af sr/drivers: add API calls sr_dev_inst_list() and sr_dev_inst_clear()
These are used to list the device instances currently known to the driver,
and clear that list.

Drivers that don't necessarily clear their list of instances on every scan,
such as genericdmm, need to provide these to the frontend to keep instance
management sane.
2012-08-06 00:59:25 +02:00
Bert Vermeulen a56f148094 sr: new API call sr_dev_config_set()
This is a wrapper around the driver dev_config_set() call, to avoid
frontends needing visibility into drivers.
2012-08-05 15:53:04 +02:00
Bert Vermeulen d3cff734e5 sr: properly free probes when freeing their device instance 2012-08-04 12:03:05 +02:00
Bert Vermeulen e8d3d6c843 sr: properly initialize and check on device instance driver field 2012-08-03 11:29:00 +02:00
Bert Vermeulen 48a486cd3e sr: code organization cleanup
Device-specific functions (public and private) go in device.c,
more general driver-related code in hwdriver.c
2012-08-03 11:29:00 +02:00
Bert Vermeulen a5f2e70712 sr: comments/docs 2012-08-03 11:28:59 +02:00
Bert Vermeulen 37e8b4c4f7 sr: change sr_dev_probe_name_set() to use sdi 2012-08-03 11:28:59 +02:00
Bert Vermeulen a10ddf9ba0 sr: remove dead/obsolete code 2012-08-03 11:28:59 +02:00
Bert Vermeulen c7ee3ddb94 sr: cosmetic changes 2012-08-03 11:27:31 +02:00
Bert Vermeulen a5b35a167a sr: convert sr_dev_has_hwcap() to use sdi 2012-08-03 11:27:31 +02:00
Bert Vermeulen be5bf44d28 sr: add sr_dev_probe_enable(), abstraction wrapper around device probes 2012-08-03 11:27:31 +02:00
Bert Vermeulen 58453e5876 sr: change sr_dev_trigger_set() to use sdi 2012-08-03 11:27:31 +02:00
Bert Vermeulen be34a1c746 sr: deprecate driver API call hwcap_get_all()
This is now handled with a call to info_get(SR_DI_HWCAPS). This brings
it in line with the new driver opts: info_get(SR_DI_HWOPTS).
2012-08-03 10:27:37 +02:00
Bert Vermeulen 45c59c8bdd sr: moved sigrok.h so libsigrok/libsigrok.h
All frontends will have to include <libsigrok/libsigrok.h> from now on.
This header includes proto.h and version.h, both installed from the
distribution into $INCLUDE/libsigrok/ as well.

The only dynamically changed header is now version.h, which has both
libsigrok and libtool compile-time versions in it.
2012-07-05 01:17:28 +02:00
Joel Holdsworth 915f7cc87a sr: Made hwcap const 2012-05-31 19:51:09 +01:00
Uwe Hermann bf978d3553 sr: sr_parse_triggerstring docs/improvements.
Also fix smaller typos and cosmetics.
2012-04-10 23:25:56 +02:00
Uwe Hermann 01c3e9dbd5 sr: s/_clear/_remove_all/ for consistency. 2012-03-31 11:33:43 +02:00
Uwe Hermann 8ec95d2282 sr/srd: Small fixes, constifications, doc updates. 2012-03-21 23:20:09 +01:00
Uwe Hermann d6eb0c333c sr: Fix handling of virtual devices.
I.e., handling of sessions which use input from files (not from actual
logic analyzer hardware).
2012-03-18 12:57:34 +01:00
Uwe Hermann 0abee5076f sr: Fix some TODOs, improve comments/docs. 2012-03-04 15:10:12 +01:00
Uwe Hermann cfe064d8e7 sr/cli/gtk/qt: s/hw/driver/ in some places. 2012-03-01 23:49:25 +01:00
Uwe Hermann 2f8cf27409 sr: s/sr_dev_probe_name/sr_dev_probe_name_set/. 2012-03-01 23:49:24 +01:00
Uwe Hermann c09f0b578c sr/cli/gtk/qt/: s/plugin/driver/. 2012-02-28 23:52:30 +01:00
Uwe Hermann 050e9219d6 sr: No need for dynamic hardware driver registration.
We don't need or allow run-time registration of hardware
drivers/plugins, they're added at compile-time.
2012-02-23 00:28:20 +01:00
Uwe Hermann 5097b0d091 sr/cli/gtk/qt: s/get_dev_info/dev_info_get/. 2012-02-18 11:41:21 +01:00
Uwe Hermann ffedd0bf5d sr/cli/gtk: s/capability/hwcap/. 2012-02-18 00:17:18 +01:00
Uwe Hermann bb7ef79377 sr/cli/gtk/qt: s/device/dev/ in many places.
Also, a few s/instance/inst/ occurences.
2012-02-17 23:47:00 +01:00
Uwe Hermann 44dae53925 sr: Random cosmetics, fix/amend Doxygen comments. 2012-02-17 22:40:51 +01:00
Bert Vermeulen 93a04e3be9 sr: rename all sr_hwplugin(s)_* functions to sr_hw_* 2012-02-15 03:18:48 +01:00
Bert Vermeulen da1466d677 sr: rename more functions to sr_thing_action format
Also improved the interface to find capabilities in a hardware plugin.
2012-02-14 00:23:51 +01:00
Bert Vermeulen c532476aa7 sr: rename hwplugin functions to sr_thing_action format 2012-02-13 19:56:24 +01:00
Bert Vermeulen c73d2ea421 sr: adjust copyright year 2012-02-13 14:31:51 +01:00
Bert Vermeulen 031685005b sr: rename all sr_device_* functions to sr_dev_* 2012-02-13 14:00:47 +01:00
Bert Vermeulen a1645fcd81 sr: more API cleanup and documentation 2012-02-13 03:36:32 +01:00
Bert Vermeulen 6cfa474a80 sr: rm unused sr_device_clear() and sr_device_probe_clear() 2012-02-12 22:36:19 +01:00
Uwe Hermann 1a081ca67d sr: Mark API functions with SR_API/SR_PRIV.
Use SR_API to mark public API symbols, and SR_PRIV for private symbols.

Variables and functions marked 'static' are private already and don't
need SR_PRIV. However, functions which are not static (because they need
to be used in other libsigrok-internal files) but are also not meant to
be part of the public libsigrok API, must use SR_PRIV.

This uses the 'visibility' feature of gcc (requires gcc >= 4.0).

Details: http://gcc.gnu.org/wiki/Visibility
2012-02-02 00:03:17 +01:00
Anatoly Sokolov fd9836bfab Add sr_device_get_info 2012-01-30 13:56:38 +01:00
Uwe Hermann 66410a8617 sr: g_free()/g_string_free() can handle NULL input. 2012-01-19 00:32:02 +01:00
Uwe Hermann c37d2b1ba1 probe names: Fix cosmetics, add docs, fix off-by-one. 2011-12-29 19:50:14 +01:00
Kristoffer Sjöberg 464d12c72a Move the probe naming to the creator of the device, and let each driver name its own probes. 2011-12-29 17:04:31 +01:00
Uwe Hermann b7f09cf86d libsigrok: Fix #includes.
In the lib, we should only #include "sigrok.h" or "sigrok-internal.h",
but not the (possibly installed and thus different/older versions) via
<sigrok.h> or <sigrok-internal.h>.

Frontends should of course use <sigrok.h> and <sigrok-internal.h>.
2011-12-28 23:07:08 +01:00