2 Commits bd3d3af50f ... 2df3a4efe6

Author SHA1 Message Date
  Suren A. Chilingaryan 2df3a4efe6 Add PCILIB_DATA_DIR to pictool.pc 11 months ago
  Suren A. Chilingaryan 8a71f80b56 Tolerate some missing bits in the plugin description 11 months ago
5 changed files with 10 additions and 5 deletions
  1. 4 0
      .gitignore
  2. 1 1
      CMakeLists.txt
  3. 1 0
      misc/pcitool.pc.in
  4. 3 3
      pcilib/pci.c
  5. 1 1
      pcitool/cli.c

+ 4 - 0
.gitignore

@@ -18,6 +18,10 @@ CMakeFiles
 cmake_install.cmake
 Makefile
 *.so.*
+*.so
+*.a
+*.o
+*.mod
 install_manifest.txt
 apps/xilinx
 apps/pio_test

+ 1 - 1
CMakeLists.txt

@@ -175,7 +175,7 @@ include(CPack)
 # In releases, we just keep the pre-generated build.h 
 if(EXISTS ${CMAKE_SOURCE_DIR}/.bzr/ OR NOT EXISTS ${CMAKE_SOURCE_DIR}/pcilib/build.h)
     add_custom_target(build
-	COMMAND ${CMAKE_COMMAND} -DPCILIB_SOURCE_DIR=${CMAKE_SOURCE_DIR} -DPCILIB_BINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/build.cmake
+	COMMAND ${CMAKE_COMMAND} -DPCILIB_SOURCE_DIR=${CMAKE_SOURCE_DIR} -DPCILIB_BINARY_DIR=${CMAKE_BINARY_DIR} -DPCILIB_RELEASE=${CPACK_PACKAGE_VERSION} -P ${CMAKE_SOURCE_DIR}/cmake/build.cmake
 	WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
     )
     add_dependencies(pcilib build)

+ 1 - 0
misc/pcitool.pc.in

@@ -3,6 +3,7 @@ exec_prefix=${CMAKE_INSTALL_BINDIR}
 libdir=${CMAKE_INSTALL_LIBDIR}
 includedir=${CMAKE_INSTALL_INCLUDEDIR}
 plugindir=${PCILIB_PLUGIN_DIR}
+datadir=${PCILIB_DATA_DIR}
 modeldir=${PCILIB_MODEL_DIR}
 
 Name: ${TARNAME}

+ 3 - 3
pcilib/pci.c

@@ -36,10 +36,10 @@ static int pcilib_detect_model(pcilib_t *ctx, const char *model) {
     const pcilib_board_info_t *board_info = pcilib_get_board_info(ctx);
 
     model_info = pcilib_find_plugin_model(ctx, board_info->vendor_id, board_info->device_id, model);
-    if (model_info) {
-	memcpy(&ctx->model_info, model_info, sizeof(pcilib_model_description_t));
-	memcpy(&ctx->dma, model_info->dma, sizeof(pcilib_dma_description_t));
+    if ((model_info)&&(model_info->name)) {
 	ctx->model = strdup(model_info->name);
+	memcpy(&ctx->model_info, model_info, sizeof(pcilib_model_description_t));
+	if (model_info->dma) memcpy(&ctx->dma, model_info->dma, sizeof(pcilib_dma_description_t));
     } else if (model) {
 	    // If not found, check for DMA models
 	for (i = 0; pcilib_dma[i].name; i++) {

+ 1 - 1
pcitool/cli.c

@@ -980,7 +980,7 @@ void Info(pcilib_t *handle, const pcilib_model_description_t *model_info, const
 		if (info) {
 		    printf(" %s\n", entry->d_name);
 		    for (j = 0; info[j].name; j++) {
-			pcilib_version_t version = info[j].api->version;
+			pcilib_version_t version = info[j].api?info[j].api->version:0;
 			printf("   %-12s %u.%u.%u - %s\n", info[j].name, 
 				PCILIB_VERSION_GET_MAJOR(version), 
 				PCILIB_VERSION_GET_MINOR(version),