From ca6521bc1a6aab5f3684370baf1c672387bfe6c8 Mon Sep 17 00:00:00 2001 From: Ayush Singh <ayushsingh1325@gmail.com> Date: Fri, 21 Jul 2023 20:12:23 +0530 Subject: [PATCH 1/2] Fix greybus for latest zephyr With these changes, this module can be compiled on latest zephyr --- subsys/greybus/greybus-core.c | 2 +- subsys/greybus/platform/transport-tcpip.c | 2 +- subsys/greybus/spi.c | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/subsys/greybus/greybus-core.c b/subsys/greybus/greybus-core.c index 3a51ed2..695b58e 100644 --- a/subsys/greybus/greybus-core.c +++ b/subsys/greybus/greybus-core.c @@ -268,7 +268,7 @@ static void gb_process_request(struct gb_operation_hdr *hdr, operation->bundle = g_cport[operation->cport].driver->bundle; result = op_handler->handler(operation); - LOG_DBG("%s: %u", log_strdup(gb_handler_name(op_handler)), result); + LOG_DBG("%s: %u", gb_handler_name(op_handler), result); if (hdr->id) gb_operation_send_response(operation, result); diff --git a/subsys/greybus/platform/transport-tcpip.c b/subsys/greybus/platform/transport-tcpip.c index aebb4c2..d6a6ef8 100644 --- a/subsys/greybus/platform/transport-tcpip.c +++ b/subsys/greybus/platform/transport-tcpip.c @@ -340,7 +340,7 @@ static void accept_new_connection(struct fd_context *ctx) } LOG_DBG("cport %d accepted connection from [%s]:%d as fd %d", - ctx->cport, log_strdup(addrstr), ntohs(addr.sin6_port), fd); + ctx->cport, addrstr, ntohs(addr.sin6_port), fd); } static void handle_client_input(struct fd_context *ctx) diff --git a/subsys/greybus/spi.c b/subsys/greybus/spi.c index 69f756b..7ae698e 100644 --- a/subsys/greybus/spi.c +++ b/subsys/greybus/spi.c @@ -230,10 +230,10 @@ static int request_to_spi_config(const struct gb_spi_transfer_request *const req } if (request->mode & GB_SPI_MODE_NO_CS) { - if (spi_config->cs != NULL) { + // if (spi_config->cs != NULL) { /* LOG_DBG("GB_SPI_MODE_NO_CS flag given but spi_config->cs is " "non-NULL (%p)", spi_config->cs); */ - } + // } } if (request->mode & GB_SPI_MODE_READY) { @@ -250,9 +250,10 @@ static int request_to_spi_config(const struct gb_spi_transfer_request *const req } if (!api->get_cs_control(gb_spidev, request->chip_select, ctrl)) { - spi_config->cs = ctrl; + //spi_config->cs = ctrl; + memcpy(&spi_config->cs, ctrl, sizeof(struct spi_cs_control)); } else { - spi_config->cs = NULL; + // spi_config->cs = NULL; } return 0; -- GitLab From 50454af30f0368c845f213a30553e36c50c92055 Mon Sep 17 00:00:00 2001 From: Ayush Singh <ayushdevel1325@gmail.com> Date: Tue, 15 Aug 2023 12:18:13 +0530 Subject: [PATCH 2/2] Add bundle deactiate and intf deactivate prepare - These are called when AP disconnects. - Just blank implementations for now since there does not seem to be any need to do more. Signed-off-by: Ayush Singh <ayushdevel1325@gmail.com> --- subsys/greybus/control-gpb.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/subsys/greybus/control-gpb.c b/subsys/greybus/control-gpb.c index 8c3c6f8..f9bc18e 100644 --- a/subsys/greybus/control-gpb.c +++ b/subsys/greybus/control-gpb.c @@ -196,6 +196,18 @@ static uint8_t gb_control_bundle_resume(struct gb_operation *operation) return GB_OP_SUCCESS; } +static uint8_t gb_control_bundle_deactivate(struct gb_operation *operation) +{ + struct gb_control_bundle_pm_response *response; + response = gb_operation_alloc_response(operation, sizeof(*response)); + if (!response) + return GB_OP_NO_MEMORY; + + response->status = GB_CONTROL_BUNDLE_PM_OK; + + return GB_OP_SUCCESS; +} + static uint8_t gb_control_intf_suspend_prepare(struct gb_operation *operation) { struct gb_control_bundle_pm_response *response; @@ -208,6 +220,18 @@ static uint8_t gb_control_intf_suspend_prepare(struct gb_operation *operation) return GB_OP_SUCCESS; } +static uint8_t gb_control_intf_deactivate_prepare(struct gb_operation *operation) +{ + struct gb_control_bundle_pm_response *response; + response = gb_operation_alloc_response(operation, sizeof(*response)); + if (!response) + return GB_OP_NO_MEMORY; + + response->status = GB_CONTROL_BUNDLE_PM_OK; + + return GB_OP_SUCCESS; +} + static uint8_t gb_control_interface_version(struct gb_operation *operation) { struct gb_control_interface_version_response *response; @@ -395,7 +419,9 @@ static struct gb_operation_handler gb_control_handlers[] = { GB_HANDLER(GB_CONTROL_TYPE_BUNDLE_ACTIVATE, gb_control_bundle_activate), GB_HANDLER(GB_CONTROL_TYPE_BUNDLE_SUSPEND, gb_control_bundle_suspend), GB_HANDLER(GB_CONTROL_TYPE_BUNDLE_RESUME, gb_control_bundle_resume), + GB_HANDLER(GB_CONTROL_TYPE_BUNDLE_DEACTIVATE, gb_control_bundle_deactivate), GB_HANDLER(GB_CONTROL_TYPE_INTF_SUSPEND_PREPARE, gb_control_intf_suspend_prepare), + GB_HANDLER(GB_CONTROL_TYPE_INTF_DEACTIVATE_PREPARE, gb_control_intf_deactivate_prepare), /* XXX SW-4136: see control-gb.h */ /*GB_HANDLER(GB_CONTROL_TYPE_INTF_POWER_STATE_SET, gb_control_intf_pwr_set), GB_HANDLER(GB_CONTROL_TYPE_BUNDLE_POWER_STATE_SET, gb_control_bundle_pwr_set),*/ -- GitLab