staging: vchiq_core: Move remote_event_signal() vchiq_core
authorUmang Jain <umang.jain@ideasonboard.com>
Thu, 19 Sep 2024 14:21:28 +0000 (19:51 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Oct 2024 09:59:06 +0000 (11:59 +0200)
The function remote_event_signal() is declared in vchiq_core.h while
defined in vchiq_arm.c and used only in vchiq_core.c. Move the
definition to vchiq_core.c as it is only used in this file.

Also convert it to static and drop the function signature from
vchiq_core.h header. BELL2 doorbell macro is also moved from vchiq_arm
to vchiq_core as part of this change.

No functional changes intended in this patch.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/20240919142130.1331495-2-umang.jain@ideasonboard.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h

index dfe2ad99a1bd38c5a506f627b4752fee7e9ea5fe..a7863b65f967757ea885ca19681adc89f91eb527 100644 (file)
@@ -48,7 +48,6 @@
 #define VCHIQ_PLATFORM_FRAGMENTS_COUNT_IDX  1
 
 #define BELL0  0x00
-#define BELL2  0x08
 
 #define ARM_DS_ACTIVE  BIT(2)
 
@@ -616,24 +615,6 @@ static struct vchiq_arm_state *vchiq_platform_get_arm_state(struct vchiq_state *
        return (struct vchiq_arm_state *)state->platform_state;
 }
 
-void
-remote_event_signal(struct vchiq_state *state, struct remote_event *event)
-{
-       struct vchiq_drv_mgmt *mgmt = dev_get_drvdata(state->dev);
-
-       /*
-        * Ensure that all writes to shared data structures have completed
-        * before signalling the peer.
-        */
-       wmb();
-
-       event->fired = 1;
-
-       dsb(sy);         /* data barrier operation */
-
-       if (event->armed)
-               writel(0, mgmt->regs + BELL2); /* trigger vc interrupt */
-}
 
 int
 vchiq_prepare_bulk_data(struct vchiq_instance *instance, struct vchiq_bulk *bulk, void *offset,
index 7ad43a3d1bab95059b8f7764afbedceed3d6cd6a..88d510c6793ac11f4867f15f1b4d3b9adb7b13c6 100644 (file)
@@ -5,6 +5,7 @@
 #include <linux/completion.h>
 #include <linux/mutex.h>
 #include <linux/bitops.h>
+#include <linux/io.h>
 #include <linux/kthread.h>
 #include <linux/wait.h>
 #include <linux/delay.h>
@@ -61,6 +62,8 @@
 #define MAKE_REMOTE_USE                        (VCHIQ_MSG_REMOTE_USE << TYPE_SHIFT)
 #define MAKE_REMOTE_USE_ACTIVE         (VCHIQ_MSG_REMOTE_USE_ACTIVE << TYPE_SHIFT)
 
+#define BELL2  0x08
+
 /* Ensure the fields are wide enough */
 static_assert(VCHIQ_MSG_SRCPORT(VCHIQ_MAKE_MSG(0, 0, VCHIQ_PORT_MAX))
        == 0);
@@ -526,6 +529,25 @@ remote_event_wait(wait_queue_head_t *wq, struct remote_event *event)
        return ret;
 }
 
+static void
+remote_event_signal(struct vchiq_state *state, struct remote_event *event)
+{
+       struct vchiq_drv_mgmt *mgmt = dev_get_drvdata(state->dev);
+
+       /*
+        * Ensure that all writes to shared data structures have completed
+        * before signalling the peer.
+        */
+       wmb();
+
+       event->fired = 1;
+
+       dsb(sy);         /* data barrier operation */
+
+       if (event->armed)
+               writel(0, mgmt->regs + BELL2); /* trigger vc interrupt */
+}
+
 /*
  * Acknowledge that the event has been signalled, and wake any waiters. Usually
  * called as a result of the doorbell being rung.
index 5bf543dfc9c7a1614ea328af450af02b8e4936e4..32b0521aa036e85db8d9a32759e5a24a16c187fb 100644 (file)
@@ -534,8 +534,6 @@ int vchiq_prepare_bulk_data(struct vchiq_instance *instance, struct vchiq_bulk *
 
 void vchiq_complete_bulk(struct vchiq_instance *instance, struct vchiq_bulk *bulk);
 
-void remote_event_signal(struct vchiq_state *state, struct remote_event *event);
-
 void vchiq_dump_platform_state(struct seq_file *f);
 
 void vchiq_dump_platform_instances(struct vchiq_state *state, struct seq_file *f);