summaryrefslogtreecommitdiff
path: root/drivers/staging/comedi/drivers/ni_routing/tools/convert_c_to_py.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/comedi/drivers/ni_routing/tools/convert_c_to_py.c')
-rw-r--r--drivers/staging/comedi/drivers/ni_routing/tools/convert_c_to_py.c159
1 files changed, 0 insertions, 159 deletions
diff --git a/drivers/staging/comedi/drivers/ni_routing/tools/convert_c_to_py.c b/drivers/staging/comedi/drivers/ni_routing/tools/convert_c_to_py.c
deleted file mode 100644
index dedb6f2fc678..000000000000
--- a/drivers/staging/comedi/drivers/ni_routing/tools/convert_c_to_py.c
+++ /dev/null
@@ -1,159 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/* vim: set ts=8 sw=8 noet tw=80 nowrap: */
-
-#include <stdint.h>
-#include <stdbool.h>
-#include <stddef.h>
-#include <errno.h>
-#include <stdlib.h>
-
-typedef uint8_t u8;
-typedef uint16_t u16;
-typedef int8_t s8;
-#define __user
-#define BIT(x) (1UL << (x))
-
-#define NI_ROUTE_VALUE_EXTERNAL_CONVERSION 1
-
-#include "../ni_route_values.c"
-#include "../ni_device_routes.c"
-#include "all_cfiles.c"
-
-#include <stdio.h>
-
-#define RVij(rv, src, dest) ((rv)->register_values[(dest)][(src)])
-
-/*
- * write out
- * {
- * "family" : "<family-name>",
- * "register_values": {
- * <destination0>:[src0, src1, ...],
- * <destination0>:[src0, src1, ...],
- * ...
- * }
- * }
- */
-void family_write(const struct family_route_values *rv, FILE *fp)
-{
- fprintf(fp,
- " \"%s\" : {\n"
- " # dest -> {src0:val0, src1:val1, ...}\n"
- , rv->family);
- for (unsigned int dest = NI_NAMES_BASE;
- dest < (NI_NAMES_BASE + NI_NUM_NAMES);
- ++dest) {
- unsigned int src = NI_NAMES_BASE;
-
- for (; src < (NI_NAMES_BASE + NI_NUM_NAMES) &&
- RVij(rv, B(src), B(dest)) == 0; ++src)
- ;
-
- if (src >= (NI_NAMES_BASE + NI_NUM_NAMES))
- continue; /* no data here */
-
- fprintf(fp, " %u : {\n", dest);
- for (src = NI_NAMES_BASE; src < (NI_NAMES_BASE + NI_NUM_NAMES);
- ++src) {
- register_type r = RVij(rv, B(src), B(dest));
- const char *M;
-
- if (r == 0) {
- continue;
- } else if (MARKED_V(r)) {
- M = "V";
- } else if (MARKED_I(r)) {
- M = "I";
- } else if (MARKED_U(r)) {
- M = "U";
- } else {
- fprintf(stderr,
- "Invalid register marking %s[%u][%u] = %u\n",
- rv->family, dest, src, r);
- exit(1);
- }
-
- fprintf(fp, " %u : \"%s(%u)\",\n",
- src, M, UNMARK(r));
- }
- fprintf(fp, " },\n");
- }
- fprintf(fp, " },\n\n");
-}
-
-bool is_valid_ni_sig(unsigned int sig)
-{
- return (sig >= NI_NAMES_BASE) && (sig < (NI_NAMES_BASE + NI_NUM_NAMES));
-}
-
-/*
- * write out
- * {
- * "family" : "<family-name>",
- * "register_values": {
- * <destination0>:[src0, src1, ...],
- * <destination0>:[src0, src1, ...],
- * ...
- * }
- * }
- */
-void device_write(const struct ni_device_routes *dR, FILE *fp)
-{
- fprintf(fp,
- " \"%s\" : {\n"
- " # dest -> [src0, src1, ...]\n"
- , dR->device);
-
- unsigned int i = 0;
-
- while (dR->routes[i].dest != 0) {
- if (!is_valid_ni_sig(dR->routes[i].dest)) {
- fprintf(stderr,
- "Invalid NI signal value [%u] for destination %s.[%u]\n",
- dR->routes[i].dest, dR->device, i);
- exit(1);
- }
-
- fprintf(fp, " %u : [", dR->routes[i].dest);
-
- unsigned int j = 0;
-
- while (dR->routes[i].src[j] != 0) {
- if (!is_valid_ni_sig(dR->routes[i].src[j])) {
- fprintf(stderr,
- "Invalid NI signal value [%u] for source %s.[%u].[%u]\n",
- dR->routes[i].src[j], dR->device, i, j);
- exit(1);
- }
-
- fprintf(fp, "%u,", dR->routes[i].src[j]);
-
- ++j;
- }
- fprintf(fp, "],\n");
-
- ++i;
- }
- fprintf(fp, " },\n\n");
-}
-
-int main(void)
-{
- FILE *fp = fopen("ni_values.py", "w");
-
- /* write route register values */
- fprintf(fp, "ni_route_values = {\n");
- for (int i = 0; ni_all_route_values[i]; ++i)
- family_write(ni_all_route_values[i], fp);
- fprintf(fp, "}\n\n");
-
- /* write valid device routes */
- fprintf(fp, "ni_device_routes = {\n");
- for (int i = 0; ni_device_routes_list[i]; ++i)
- device_write(ni_device_routes_list[i], fp);
- fprintf(fp, "}\n");
-
- /* finish; close file */
- fclose(fp);
- return 0;
-}