xenomai.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/25] Support for kernel 6.8
@ 2024-03-26  6:30 Jan Kiszka
  2024-03-26  6:30 ` [PATCH 01/25] Account for renaming of MAX_ORDER in " Jan Kiszka
                   ` (24 more replies)
  0 siblings, 25 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

Primarily, a lot of 'static' annotations for private functions and some
proper headers with prototypes. See patches for details.

Jan

Jan Kiszka (25):
  Account for renaming of MAX_ORDER in kernel 6.8
  cobalt/synch: add [__cobalt_mutex_]lookup_lazy_pp prototype to header
  cobalt/rtdm: Drop __rtdm_synch_flush from public interface
  Drop duplicate define of inclusion guard
  cobalt/arith: Only implement xnarch_generic_full_divmod64 when used
  cobalt: Address missing prototype warnings by adding includes
  cobalt: Make private functions static
  analogy/national_instruments: Drop dead mio_common_detach
  drivers/analogy: Make private functions static
  drivers/autotune: Make private functions static
  drivers/can/corectl: Provide proper prototypes via corectl.h
  drivers/can/c_can: Replace deprecated strlcpy with strscpy
  drivers/can: Make private functions static
  drivers/gpio: Address missing prototype warnings by adding includes
  drivers/gpio: Make private functions static
  drivers/ipc: Make private functions static
  drivers/net/ipv4: Align signatures of rt_ip_build_xmit
  drivers/net: Address missing prototype warnings by adding includes
  drivers/net/corectl: Provide proper prototypes via corectl.h
  drivers/net: Make rtdev_init private
  drivers/net/e1000: Move e1000_check_options prototype to a header
  drivers/net: Make private functions static
  drivers/serial: Make private functions static
  drivers/spi: Use spi_get_chipselect/gpiod
  drivers/testing: Make private functions static

 include/cobalt/kernel/synch.h                 |  2 +
 include/cobalt/uapi/asm-generic/arith.h       | 11 ++-
 kernel/cobalt/arch/x86/c1e.c                  |  1 +
 .../arch/x86/include/asm/xenomai/uapi/arith.h |  1 -
 kernel/cobalt/arch/x86/smi.c                  |  1 +
 kernel/cobalt/arith.c                         |  3 +
 kernel/cobalt/clock.c                         |  8 +-
 kernel/cobalt/dovetail/kevents.c              |  2 +-
 kernel/cobalt/dovetail/syscall.c              |  1 +
 .../include/asm-generic/xenomai/wrappers.h    |  9 ++
 kernel/cobalt/posix/mqueue.c                  |  4 +-
 kernel/cobalt/posix/mutex.c                   |  2 +-
 kernel/cobalt/posix/syscall.c                 |  1 +
 kernel/cobalt/procfs.c                        |  1 +
 kernel/cobalt/rtdm/drvlib.c                   |  4 +-
 kernel/cobalt/synch.c                         |  4 +-
 kernel/cobalt/timer.c                         |  2 +-
 kernel/cobalt/vfile.c                         |  8 +-
 kernel/drivers/analogy/buffer.c               |  4 +-
 kernel/drivers/analogy/command.c              | 10 ++-
 kernel/drivers/analogy/device.c               | 25 +++---
 kernel/drivers/analogy/instruction.c          | 25 ++++--
 kernel/drivers/analogy/intel/8255.c           | 13 +--
 .../analogy/national_instruments/mio_common.c | 90 ++++++++++---------
 .../analogy/national_instruments/mite.c       |  2 +-
 kernel/drivers/analogy/rtdm_interface.c       | 20 ++---
 kernel/drivers/analogy/testing/fake.c         | 32 +++----
 kernel/drivers/autotune/autotune.c            |  2 +-
 .../drivers/can/c_can/rtcan_c_can_ethtool.c   |  6 +-
 kernel/drivers/can/corectl.c                  |  1 +
 kernel/drivers/can/corectl.h                  |  7 ++
 kernel/drivers/can/rtcan_module.c             |  9 +-
 kernel/drivers/can/rtcan_raw.c                | 16 ++--
 kernel/drivers/can/sja1000/rtcan_isa.c        |  2 +-
 kernel/drivers/can/sja1000/rtcan_mem.c        |  2 +-
 kernel/drivers/can/sja1000/rtcan_peak_dng.c   |  4 +-
 kernel/drivers/can/sja1000/rtcan_sja1000.c    | 19 ++--
 kernel/drivers/gpio/gpio-core.c               |  3 +-
 kernel/drivers/ipc/rtipc.c                    |  4 +-
 kernel/drivers/net/addons/cap.c               | 15 ++--
 kernel/drivers/net/drivers/e1000/e1000.h      |  2 +
 kernel/drivers/net/drivers/e1000/e1000_main.c |  8 --
 kernel/drivers/net/drivers/e1000e/netdev.c    |  4 +-
 .../drivers/experimental/rt2500/rt2500pci.c   | 17 ++--
 kernel/drivers/net/drivers/igc/igc_main.c     |  8 +-
 kernel/drivers/net/drivers/r8169.c            |  4 +-
 kernel/drivers/net/drivers/via-rhine.c        |  2 +-
 kernel/drivers/net/stack/corectl.c            |  1 +
 kernel/drivers/net/stack/eth.c                |  1 +
 kernel/drivers/net/stack/include/corectl.h    | 20 +++++
 kernel/drivers/net/stack/ipv4/arp.c           |  2 +-
 kernel/drivers/net/stack/ipv4/icmp.c          |  8 +-
 kernel/drivers/net/stack/ipv4/ip_output.c     | 15 ++--
 kernel/drivers/net/stack/ipv4/ip_sock.c       | 21 +++--
 kernel/drivers/net/stack/ipv4/tcp/tcp.c       |  4 +-
 kernel/drivers/net/stack/ipv4/udp/udp.c       | 30 ++++---
 .../net/stack/rtcfg/rtcfg_client_event.c      |  1 +
 kernel/drivers/net/stack/rtcfg/rtcfg_frame.c  |  4 +-
 kernel/drivers/net/stack/rtcfg/rtcfg_ioctl.c  | 24 ++---
 kernel/drivers/net/stack/rtcfg/rtcfg_module.c |  4 +-
 kernel/drivers/net/stack/rtcfg/rtcfg_proc.c   | 15 ++--
 kernel/drivers/net/stack/rtcfg/rtcfg_timer.c  |  2 +-
 kernel/drivers/net/stack/rtdev.c              |  6 +-
 kernel/drivers/net/stack/rtdev_mgr.c          |  1 +
 .../drivers/net/stack/rtmac/nomac/nomac_dev.c |  1 +
 .../net/stack/rtmac/nomac/nomac_ioctl.c       |  1 +
 .../net/stack/rtmac/nomac/nomac_module.c      | 10 +--
 .../net/stack/rtmac/nomac/nomac_proto.c       |  3 +-
 kernel/drivers/net/stack/rtmac/rtmac_module.c |  4 +-
 kernel/drivers/net/stack/rtmac/rtmac_proto.c  |  2 +-
 .../drivers/net/stack/rtmac/tdma/tdma_dev.c   |  1 +
 .../drivers/net/stack/rtmac/tdma/tdma_ioctl.c |  7 +-
 .../net/stack/rtmac/tdma/tdma_module.c        | 12 +--
 .../net/stack/rtmac/tdma/tdma_worker.c        |  1 +
 kernel/drivers/net/stack/rtnet_module.c       |  5 +-
 kernel/drivers/net/stack/rtwlan.c             |  4 +-
 kernel/drivers/serial/16550A.c                | 18 ++--
 kernel/drivers/serial/rt_imx_uart.c           |  6 +-
 kernel/drivers/spi/spi-bcm2835.c              | 17 ++--
 kernel/drivers/spi/spi-device.c               | 14 +--
 kernel/drivers/spi/spi-omap2-mcspi-rt.c       | 13 +--
 kernel/drivers/testing/switchtest.c           |  4 +-
 82 files changed, 392 insertions(+), 311 deletions(-)
 create mode 100644 kernel/drivers/can/corectl.h
 create mode 100644 kernel/drivers/net/stack/include/corectl.h

-- 
2.35.3


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [PATCH 01/25] Account for renaming of MAX_ORDER in kernel 6.8
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 02/25] cobalt/synch: add [__cobalt_mutex_]lookup_lazy_pp prototype to header Jan Kiszka
                   ` (23 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/cobalt/include/asm-generic/xenomai/wrappers.h | 4 ++++
 kernel/cobalt/posix/mqueue.c                         | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
index c86ab16029..abf58c589c 100644
--- a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
+++ b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
@@ -65,4 +65,8 @@
 #define pde_data(i)	PDE_DATA(i)
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6,8,0)
+#define MAX_PAGE_ORDER	MAX_ORDER
+#endif
+
 #endif /* _COBALT_ASM_GENERIC_WRAPPERS_H */
diff --git a/kernel/cobalt/posix/mqueue.c b/kernel/cobalt/posix/mqueue.c
index 878fb521b4..5d072eb7fd 100644
--- a/kernel/cobalt/posix/mqueue.c
+++ b/kernel/cobalt/posix/mqueue.c
@@ -158,7 +158,7 @@ static inline int mq_init(struct cobalt_mq *mq, const struct mq_attr *attr)
 
 	memsize = msgsize * attr->mq_maxmsg;
 	memsize = PAGE_ALIGN(memsize);
-	if (get_order(memsize) > MAX_ORDER)
+	if (get_order(memsize) > MAX_PAGE_ORDER)
 		return -ENOSPC;
 
 	mem = xnheap_vmalloc(memsize);
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 02/25] cobalt/synch: add [__cobalt_mutex_]lookup_lazy_pp prototype to header
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
  2024-03-26  6:30 ` [PATCH 01/25] Account for renaming of MAX_ORDER in " Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 03/25] cobalt/rtdm: Drop __rtdm_synch_flush from public interface Jan Kiszka
                   ` (22 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

There is kind of a layering violation here between synch and
cobalt/mutex by the latter providing a helper to the former for priority
protection/ceiling. With kernel 6.8 getting picky about missing
prototypes for non-static functions, we need to resolve at least that
aspect. Therefore, establish a prototype in synch.h as it is not easily
possibly to include posix/mutex.h.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 include/cobalt/kernel/synch.h | 2 ++
 kernel/cobalt/posix/mutex.c   | 2 +-
 kernel/cobalt/synch.c         | 4 +---
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/cobalt/kernel/synch.h b/include/cobalt/kernel/synch.h
index a2bf80d175..8d6bd1d201 100644
--- a/include/cobalt/kernel/synch.h
+++ b/include/cobalt/kernel/synch.h
@@ -174,6 +174,8 @@ void xnsynch_requeue_sleeper(struct xnthread *thread);
 
 void xnsynch_forget_sleeper(struct xnthread *thread);
 
+struct xnsynch *__cobalt_mutex_lookup_lazy_pp(xnhandle_t handle);
+
 /** @} */
 
 #endif /* !_COBALT_KERNEL_SYNCH_H_ */
diff --git a/kernel/cobalt/posix/mutex.c b/kernel/cobalt/posix/mutex.c
index 65882081e7..c755b442f6 100644
--- a/kernel/cobalt/posix/mutex.c
+++ b/kernel/cobalt/posix/mutex.c
@@ -424,7 +424,7 @@ void cobalt_mutex_reclaim(struct cobalt_resnode *node, spl_t s)
 	xnfree(mutex);
 }
 
-struct xnsynch *lookup_lazy_pp(xnhandle_t handle)
+struct xnsynch *__cobalt_mutex_lookup_lazy_pp(xnhandle_t handle)
 {				/* nklock held, irqs off */
 	struct cobalt_mutex *mutex;
 
diff --git a/kernel/cobalt/synch.c b/kernel/cobalt/synch.c
index 6e50e537fa..70c05c1f49 100644
--- a/kernel/cobalt/synch.c
+++ b/kernel/cobalt/synch.c
@@ -37,8 +37,6 @@ static inline int get_ceiling_value(struct xnsynch *synch)
 	return *synch->ceiling_ref & PP_CEILING_MASK ?: 1;
 }
 
-struct xnsynch *lookup_lazy_pp(xnhandle_t handle);
-
 /**
  * @ingroup cobalt_core
  * @defgroup cobalt_core_synch Thread synchronization services
@@ -514,7 +512,7 @@ void xnsynch_commit_ceiling(struct xnthread *curr)  /* nklock held, irqs off */
 	atomic_t *lockp;
 
 	/* curr->u_window has to be valid, curr bears XNUSER. */
-	synch = lookup_lazy_pp(curr->u_window->pp_pending);
+	synch = __cobalt_mutex_lookup_lazy_pp(curr->u_window->pp_pending);
 	if (synch == NULL) {
 		/*
 		 * If pp_pending is a bad handle, don't panic but
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 03/25] cobalt/rtdm: Drop __rtdm_synch_flush from public interface
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
  2024-03-26  6:30 ` [PATCH 01/25] Account for renaming of MAX_ORDER in " Jan Kiszka
  2024-03-26  6:30 ` [PATCH 02/25] cobalt/synch: add [__cobalt_mutex_]lookup_lazy_pp prototype to header Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 04/25] Drop duplicate define of inclusion guard Jan Kiszka
                   ` (21 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

This was once needed for static-inline wrappers, but those are long
gone. Let's clean up, also fixing missing prototype warnings in kernel
6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/cobalt/rtdm/drvlib.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/kernel/cobalt/rtdm/drvlib.c b/kernel/cobalt/rtdm/drvlib.c
index 620be27fa5..7378f2c018 100644
--- a/kernel/cobalt/rtdm/drvlib.c
+++ b/kernel/cobalt/rtdm/drvlib.c
@@ -636,7 +636,7 @@ void rtdm_timer_stop_in_handler(rtdm_timer_t *timer);
 
 #define RTDM_SYNCH_DELETED          XNSYNCH_SPARE0
 
-void __rtdm_synch_flush(struct xnsynch *synch, unsigned long reason)
+static void __rtdm_synch_flush(struct xnsynch *synch, unsigned long reason)
 {
 	spl_t s;
 
@@ -651,8 +651,6 @@ void __rtdm_synch_flush(struct xnsynch *synch, unsigned long reason)
 	xnlock_put_irqrestore(&nklock, s);
 }
 
-EXPORT_SYMBOL_GPL(__rtdm_synch_flush);
-
 /**
  * @ingroup rtdm_driver_interface
  * @defgroup rtdm_sync Synchronisation Services
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 04/25] Drop duplicate define of inclusion guard
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (2 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 03/25] cobalt/rtdm: Drop __rtdm_synch_flush from public interface Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 05/25] cobalt/arith: Only implement xnarch_generic_full_divmod64 when used Jan Kiszka
                   ` (20 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/cobalt/arch/x86/include/asm/xenomai/uapi/arith.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/cobalt/arch/x86/include/asm/xenomai/uapi/arith.h b/kernel/cobalt/arch/x86/include/asm/xenomai/uapi/arith.h
index 3682736f5f..55df25f5a4 100644
--- a/kernel/cobalt/arch/x86/include/asm/xenomai/uapi/arith.h
+++ b/kernel/cobalt/arch/x86/include/asm/xenomai/uapi/arith.h
@@ -20,7 +20,6 @@
  */
 #ifndef _COBALT_X86_ASM_UAPI_ARITH_H
 #define _COBALT_X86_ASM_UAPI_ARITH_H
-#define _COBALT_X86_ASM_UAPI_ARITH_H
 
 #include <asm/xenomai/uapi/features.h>
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 05/25] cobalt/arith: Only implement xnarch_generic_full_divmod64 when used
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (3 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 04/25] Drop duplicate define of inclusion guard Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 06/25] cobalt: Address missing prototype warnings by adding includes Jan Kiszka
                   ` (19 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

This also resolves warnings about a missing prototype.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 include/cobalt/uapi/asm-generic/arith.h | 11 +++++++----
 kernel/cobalt/arith.c                   |  3 +++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/include/cobalt/uapi/asm-generic/arith.h b/include/cobalt/uapi/asm-generic/arith.h
index d01d01e95a..929baa89cc 100644
--- a/include/cobalt/uapi/asm-generic/arith.h
+++ b/include/cobalt/uapi/asm-generic/arith.h
@@ -73,6 +73,13 @@ static inline unsigned long long xnarch_generic_ulldiv (unsigned long long ull,
 #endif /* !xnarch_uldivrem */
 
 #ifndef xnarch_divmod64
+#if defined(__KERNEL__) && BITS_PER_LONG < 64
+unsigned long long xnarch_generic_full_divmod64(unsigned long long a,
+						unsigned long long b,
+						unsigned long long *rem);
+#define IMPLEMENT_GENERIC_FULL_DIVMOD64
+#endif
+
 static inline unsigned long long
 xnarch_generic_divmod64(unsigned long long a,
 			unsigned long long b,
@@ -80,10 +87,6 @@ xnarch_generic_divmod64(unsigned long long a,
 {
 	unsigned long long q;
 #if defined(__KERNEL__) && BITS_PER_LONG < 64
-	unsigned long long
-		xnarch_generic_full_divmod64(unsigned long long a,
-					     unsigned long long b,
-					     unsigned long long *rem);
 	if (b <= 0xffffffffULL) {
 		unsigned long r;
 		q = xnarch_ulldiv(a, b, &r);
diff --git a/kernel/cobalt/arith.c b/kernel/cobalt/arith.c
index 5603c2d528..92413014fc 100644
--- a/kernel/cobalt/arith.c
+++ b/kernel/cobalt/arith.c
@@ -17,6 +17,7 @@
  * 02111-1307, USA.
  */
 #include <linux/module.h>
+#include <cobalt/kernel/arith.h>
 
 /**
  * @ingroup cobalt_core
@@ -31,6 +32,7 @@
  * @{
  */
 
+#ifdef IMPLEMENT_GENERIC_FULL_DIVMOD64
 /**
  * Architecture-independent div64 operation with remainder.
  *
@@ -61,5 +63,6 @@ unsigned long long xnarch_generic_full_divmod64(unsigned long long a,
 	return q;
 }
 EXPORT_SYMBOL_GPL(xnarch_generic_full_divmod64);
+#endif
 
 /** @} */
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 06/25] cobalt: Address missing prototype warnings by adding includes
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (4 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 05/25] cobalt/arith: Only implement xnarch_generic_full_divmod64 when used Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 07/25] cobalt: Make private functions static Jan Kiszka
                   ` (18 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/cobalt/arch/x86/c1e.c     | 1 +
 kernel/cobalt/arch/x86/smi.c     | 1 +
 kernel/cobalt/dovetail/syscall.c | 1 +
 kernel/cobalt/posix/syscall.c    | 1 +
 kernel/cobalt/procfs.c           | 1 +
 5 files changed, 5 insertions(+)

diff --git a/kernel/cobalt/arch/x86/c1e.c b/kernel/cobalt/arch/x86/c1e.c
index 9bd4e92a6f..492ed1daeb 100644
--- a/kernel/cobalt/arch/x86/c1e.c
+++ b/kernel/cobalt/arch/x86/c1e.c
@@ -21,6 +21,7 @@
 #include <asm/processor.h>
 #include <asm/cpu_device_id.h>
 #include <asm/msr.h>
+#include <asm/xenomai/c1e.h>
 
 #define ICPU(model) \
 	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_MWAIT, 1UL }
diff --git a/kernel/cobalt/arch/x86/smi.c b/kernel/cobalt/arch/x86/smi.c
index f28af9a3b5..87a2a3c4f9 100644
--- a/kernel/cobalt/arch/x86/smi.c
+++ b/kernel/cobalt/arch/x86/smi.c
@@ -30,6 +30,7 @@
 #include <cobalt/kernel/assert.h>
 #include <asm-generic/xenomai/pci_ids.h>
 #include <asm/xenomai/machine.h>
+#include <asm/xenomai/smi.h>
 
 #define DEVFN		0xf8	/* device 31, function 0 */
 
diff --git a/kernel/cobalt/dovetail/syscall.c b/kernel/cobalt/dovetail/syscall.c
index 440c069d57..7d92ccd3a1 100644
--- a/kernel/cobalt/dovetail/syscall.c
+++ b/kernel/cobalt/dovetail/syscall.c
@@ -5,6 +5,7 @@
  * Copyright (C) 2005 Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
  */
 
+#include <linux/dovetail.h>
 #include <linux/irqstage.h>
 #include <pipeline/pipeline.h>
 #include <pipeline/kevents.h>
diff --git a/kernel/cobalt/posix/syscall.c b/kernel/cobalt/posix/syscall.c
index 1d37cb279e..a26da154c4 100644
--- a/kernel/cobalt/posix/syscall.c
+++ b/kernel/cobalt/posix/syscall.c
@@ -21,6 +21,7 @@
 #include <linux/sched.h>
 #include <linux/kconfig.h>
 #include <linux/unistd.h>
+#include <linux/dovetail.h>
 #include <cobalt/uapi/corectl.h>
 #include <cobalt/kernel/tree.h>
 #include <cobalt/kernel/init.h>
diff --git a/kernel/cobalt/procfs.c b/kernel/cobalt/procfs.c
index 0aaf691dd8..8c0b6e6139 100644
--- a/kernel/cobalt/procfs.c
+++ b/kernel/cobalt/procfs.c
@@ -25,6 +25,7 @@
 #include <cobalt/kernel/sched.h>
 #include <xenomai/version.h>
 #include "debug.h"
+#include "procfs.h"
 
 #ifdef CONFIG_XENO_OPT_DEBUG_LOCKING
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 07/25] cobalt: Make private functions static
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (5 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 06/25] cobalt: Address missing prototype warnings by adding includes Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 08/25] analogy/national_instruments: Drop dead mio_common_detach Jan Kiszka
                   ` (17 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/cobalt/clock.c            | 8 ++++----
 kernel/cobalt/dovetail/kevents.c | 2 +-
 kernel/cobalt/posix/mqueue.c     | 2 +-
 kernel/cobalt/timer.c            | 2 +-
 kernel/cobalt/vfile.c            | 8 ++++----
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/kernel/cobalt/clock.c b/kernel/cobalt/clock.c
index fbb7ddbe95..adbfc65125 100644
--- a/kernel/cobalt/clock.c
+++ b/kernel/cobalt/clock.c
@@ -419,12 +419,12 @@ static void cleanup_timerlist_proc(struct xnclock *clock)
 	xnvfile_destroy_snapshot(&clock->timer_vfile);
 }
 
-void init_timerlist_root(void)
+static void init_timerlist_root(void)
 {
 	xnvfile_init_dir("timer", &timerlist_vfroot, &cobalt_vfroot);
 }
 
-void cleanup_timerlist_root(void)
+static void cleanup_timerlist_root(void)
 {
 	xnvfile_destroy_dir(&timerlist_vfroot);
 }
@@ -445,8 +445,8 @@ static inline void cleanup_timerlist_proc(struct xnclock *clock) { }
 
 static struct xnvfile_directory clock_vfroot;
 
-void print_core_clock_status(struct xnclock *clock,
-			     struct xnvfile_regular_iterator *it)
+static void print_core_clock_status(struct xnclock *clock,
+				    struct xnvfile_regular_iterator *it)
 {
 	const char *wd_status = "off";
 
diff --git a/kernel/cobalt/dovetail/kevents.c b/kernel/cobalt/dovetail/kevents.c
index f78abbdc79..0f70dbc27f 100644
--- a/kernel/cobalt/dovetail/kevents.c
+++ b/kernel/cobalt/dovetail/kevents.c
@@ -169,7 +169,7 @@ void pipeline_cleanup_process(void)
 	dovetail_stop_altsched();
 }
 
-int handle_ptrace_resume(struct task_struct *tracee)
+static int handle_ptrace_resume(struct task_struct *tracee)
 {
 	struct xnthread *thread;
 	spl_t s;
diff --git a/kernel/cobalt/posix/mqueue.c b/kernel/cobalt/posix/mqueue.c
index 5d072eb7fd..853aa6cad8 100644
--- a/kernel/cobalt/posix/mqueue.c
+++ b/kernel/cobalt/posix/mqueue.c
@@ -237,7 +237,7 @@ static void mqd_close(struct rtdm_fd *fd)
 	mq_unref(mq);
 }
 
-int
+static int
 mqd_select(struct rtdm_fd *fd, struct xnselector *selector,
 	   unsigned type, unsigned index)
 {
diff --git a/kernel/cobalt/timer.c b/kernel/cobalt/timer.c
index 4b9cea4a97..09f93f7173 100644
--- a/kernel/cobalt/timer.c
+++ b/kernel/cobalt/timer.c
@@ -62,7 +62,7 @@ int xntimer_heading_p(struct xntimer *timer)
 	return 0;
 }
 
-void xntimer_enqueue_and_program(struct xntimer *timer, xntimerq_t *q)
+static void xntimer_enqueue_and_program(struct xntimer *timer, xntimerq_t *q)
 {
 	struct xnsched *sched = xntimer_sched(timer);
 
diff --git a/kernel/cobalt/vfile.c b/kernel/cobalt/vfile.c
index 05fa48a091..e2c0f0a965 100644
--- a/kernel/cobalt/vfile.c
+++ b/kernel/cobalt/vfile.c
@@ -314,8 +314,8 @@ static int vfile_snapshot_release(struct inode *inode, struct file *file)
 	return 0;
 }
 
-ssize_t vfile_snapshot_write(struct file *file, const char __user *buf,
-			     size_t size, loff_t *ppos)
+static ssize_t vfile_snapshot_write(struct file *file, const char __user *buf,
+				    size_t size, loff_t *ppos)
 {
 	struct xnvfile_snapshot *vfile =
 		pde_data(file->f_path.dentry->d_inode);
@@ -562,8 +562,8 @@ static int vfile_regular_release(struct inode *inode, struct file *file)
 	return 0;
 }
 
-ssize_t vfile_regular_write(struct file *file, const char __user *buf,
-			    size_t size, loff_t *ppos)
+static ssize_t vfile_regular_write(struct file *file, const char __user *buf,
+				   size_t size, loff_t *ppos)
 {
 	struct xnvfile_regular *vfile =
 		pde_data(file->f_path.dentry->d_inode);
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 08/25] analogy/national_instruments: Drop dead mio_common_detach
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (6 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 07/25] cobalt: Make private functions static Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 09/25] drivers/analogy: Make private functions static Jan Kiszka
                   ` (16 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

This was never used, also never exported via any header. Let's drop it.

Still, this may indicate that we are actually missing some cleanup work
or API somewhere...

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/analogy/national_instruments/mio_common.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/kernel/drivers/analogy/national_instruments/mio_common.c b/kernel/drivers/analogy/national_instruments/mio_common.c
index 92f403d7b5..c41ec506c7 100644
--- a/kernel/drivers/analogy/national_instruments/mio_common.c
+++ b/kernel/drivers/analogy/national_instruments/mio_common.c
@@ -3833,15 +3833,6 @@ int ni_serial_insn_config(struct a4l_subdevice *subd, struct a4l_kernel_instruct
 	return -EINVAL;
 }
 
-void mio_common_detach(struct a4l_device * dev)
-{
-	if (dev->priv) {
-		if (devpriv->counter_dev) {
-			a4l_ni_gpct_device_destroy(devpriv->counter_dev);
-		}
-	}
-}
-
 static void init_ao_67xx(struct a4l_device * dev)
 {
 	struct a4l_subdevice *subd = a4l_get_subd(dev, NI_AO_SUBDEV);
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 09/25] drivers/analogy: Make private functions static
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (7 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 08/25] analogy/national_instruments: Drop dead mio_common_detach Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 10/25] drivers/autotune: " Jan Kiszka
                   ` (15 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/analogy/buffer.c               |  4 +-
 kernel/drivers/analogy/command.c              | 10 ++-
 kernel/drivers/analogy/device.c               | 25 +++---
 kernel/drivers/analogy/instruction.c          | 25 +++---
 kernel/drivers/analogy/intel/8255.c           | 13 +--
 .../analogy/national_instruments/mio_common.c | 81 +++++++++++--------
 .../analogy/national_instruments/mite.c       |  2 +-
 kernel/drivers/analogy/rtdm_interface.c       | 20 ++---
 kernel/drivers/analogy/testing/fake.c         | 32 ++++----
 9 files changed, 120 insertions(+), 92 deletions(-)

diff --git a/kernel/drivers/analogy/buffer.c b/kernel/drivers/analogy/buffer.c
index df228943ff..3a58bb7dc2 100644
--- a/kernel/drivers/analogy/buffer.c
+++ b/kernel/drivers/analogy/buffer.c
@@ -462,13 +462,13 @@ unsigned long a4l_buf_count(struct a4l_subdevice *subd)
 
 /* --- Mmap functions --- */
 
-void a4l_map(struct vm_area_struct *area)
+static void a4l_map(struct vm_area_struct *area)
 {
 	unsigned long *status = (unsigned long *)area->vm_private_data;
 	set_bit(A4L_BUF_MAP_NR, status);
 }
 
-void a4l_unmap(struct vm_area_struct *area)
+static void a4l_unmap(struct vm_area_struct *area)
 {
 	unsigned long *status = (unsigned long *)area->vm_private_data;
 	clear_bit(A4L_BUF_MAP_NR, status);
diff --git a/kernel/drivers/analogy/command.c b/kernel/drivers/analogy/command.c
index 7420bc51ed..9b3c82bd6c 100644
--- a/kernel/drivers/analogy/command.c
+++ b/kernel/drivers/analogy/command.c
@@ -26,8 +26,9 @@
 #include <rtdm/analogy/device.h>
 
 /* --- Command descriptor management functions --- */
-int a4l_fill_cmddesc(struct a4l_device_context *cxt, struct a4l_cmd_desc *desc,
-		     unsigned int **chan_descs, void *arg)
+static int a4l_fill_cmddesc(struct a4l_device_context *cxt,
+			    struct a4l_cmd_desc *desc,
+			    unsigned int **chan_descs, void *arg)
 {
 	unsigned int *tmpchans = NULL;
 	int ret = 0;
@@ -124,7 +125,7 @@ int a4l_check_cmddesc(struct a4l_device_context * cxt, struct a4l_cmd_desc * des
 
 /* --- Command checking functions --- */
 
-int a4l_check_generic_cmdcnt(struct a4l_cmd_desc * desc)
+static int a4l_check_generic_cmdcnt(struct a4l_cmd_desc * desc)
 {
 	unsigned int tmp1, tmp2;
 
@@ -226,7 +227,8 @@ int a4l_check_generic_cmdcnt(struct a4l_cmd_desc * desc)
 	return 0;
 }
 
-int a4l_check_specific_cmdcnt(struct a4l_device_context * cxt, struct a4l_cmd_desc * desc)
+static int a4l_check_specific_cmdcnt(struct a4l_device_context * cxt,
+				     struct a4l_cmd_desc * desc)
 {
 	unsigned int tmp1, tmp2;
 	struct a4l_device *dev = a4l_get_dev(cxt);
diff --git a/kernel/drivers/analogy/device.c b/kernel/drivers/analogy/device.c
index 69492b96b6..18c7361a4f 100644
--- a/kernel/drivers/analogy/device.c
+++ b/kernel/drivers/analogy/device.c
@@ -101,7 +101,7 @@ static const DEFINE_PROC_OPS(a4l_proc_transfer_ops,
 			seq_read,
 			NULL);
 
-int a4l_proc_attach(struct a4l_device_context * cxt)
+static int a4l_proc_attach(struct a4l_device_context * cxt)
 {
 	int ret = 0;
 	struct a4l_device *dev = a4l_get_dev(cxt);
@@ -134,7 +134,7 @@ int a4l_proc_attach(struct a4l_device_context * cxt)
 	return ret;
 }
 
-void a4l_proc_detach(struct a4l_device_context * cxt)
+static void a4l_proc_detach(struct a4l_device_context * cxt)
 {
 	struct a4l_device *dev = a4l_get_dev(cxt);
 	char *entry_name;
@@ -156,12 +156,12 @@ void a4l_proc_detach(struct a4l_device_context * cxt)
 
 #else /* !CONFIG_PROC_FS */
 
-int a4l_proc_attach(struct a4l_device_context * cxt)
+static int a4l_proc_attach(struct a4l_device_context * cxt)
 {
 	return 0;
 }
 
-void a4l_proc_detach(struct a4l_device_context * cxt)
+static void a4l_proc_detach(struct a4l_device_context * cxt)
 {
 }
 
@@ -169,8 +169,8 @@ void a4l_proc_detach(struct a4l_device_context * cxt)
 
 /* --- Attach / detach section --- */
 
-int a4l_fill_lnkdesc(struct a4l_device_context * cxt,
-		     a4l_lnkdesc_t * link_arg, void *arg)
+static int a4l_fill_lnkdesc(struct a4l_device_context * cxt,
+			    a4l_lnkdesc_t * link_arg, void *arg)
 {
 	struct rtdm_fd *fd = rtdm_private_to_fd(cxt);
 	int ret;
@@ -249,7 +249,8 @@ int a4l_fill_lnkdesc(struct a4l_device_context * cxt,
 	return ret;
 }
 
-void a4l_free_lnkdesc(struct a4l_device_context * cxt, a4l_lnkdesc_t * link_arg)
+static void a4l_free_lnkdesc(struct a4l_device_context * cxt,
+			     a4l_lnkdesc_t * link_arg)
 {
 	if (link_arg->bname != NULL)
 		rtdm_free(link_arg->bname);
@@ -258,8 +259,8 @@ void a4l_free_lnkdesc(struct a4l_device_context * cxt, a4l_lnkdesc_t * link_arg)
 		rtdm_free(link_arg->opts);
 }
 
-int a4l_assign_driver(struct a4l_device_context * cxt,
-			 struct a4l_driver * drv, a4l_lnkdesc_t * link_arg)
+static int a4l_assign_driver(struct a4l_device_context * cxt,
+			     struct a4l_driver * drv, a4l_lnkdesc_t * link_arg)
 {
 	int ret = 0;
 	struct a4l_device *dev = a4l_get_dev(cxt);
@@ -307,7 +308,7 @@ out_assign_driver:
 	return ret;
 }
 
-int a4l_release_driver(struct a4l_device_context * cxt)
+static int a4l_release_driver(struct a4l_device_context * cxt)
 {
 	struct a4l_device *dev = a4l_get_dev(cxt);
 	struct a4l_subdevice *subd, *tmp;
@@ -335,7 +336,7 @@ out_release_driver:
 	return ret;
 }
 
-int a4l_device_attach(struct a4l_device_context * cxt, void *arg)
+static int a4l_device_attach(struct a4l_device_context * cxt, void *arg)
 {
 	int ret = 0;
 	a4l_lnkdesc_t link_arg;
@@ -358,7 +359,7 @@ int a4l_device_attach(struct a4l_device_context * cxt, void *arg)
 	return ret;
 }
 
-int a4l_device_detach(struct a4l_device_context * cxt)
+static int a4l_device_detach(struct a4l_device_context * cxt)
 {
 	struct a4l_device *dev = a4l_get_dev(cxt);
 
diff --git a/kernel/drivers/analogy/instruction.c b/kernel/drivers/analogy/instruction.c
index 1cbdb14ad4..e7a761a5c9 100644
--- a/kernel/drivers/analogy/instruction.c
+++ b/kernel/drivers/analogy/instruction.c
@@ -27,7 +27,7 @@
 #include <asm/errno.h>
 #include <rtdm/analogy/device.h>
 
-int a4l_do_insn_gettime(struct a4l_kernel_instruction * dsc)
+static int a4l_do_insn_gettime(struct a4l_kernel_instruction * dsc)
 {
 	nanosecs_abs_t ns;
 	uint32_t ns2;
@@ -51,7 +51,7 @@ int a4l_do_insn_gettime(struct a4l_kernel_instruction * dsc)
 	return 0;
 }
 
-int a4l_do_insn_wait(struct a4l_kernel_instruction * dsc)
+static int a4l_do_insn_wait(struct a4l_kernel_instruction * dsc)
 {
 	unsigned int us;
 	unsigned int *data = (unsigned int *)dsc->data;
@@ -81,7 +81,8 @@ int a4l_do_insn_wait(struct a4l_kernel_instruction * dsc)
 	return 0;
 }
 
-int a4l_do_insn_trig(struct a4l_device_context * cxt, struct a4l_kernel_instruction * dsc)
+static int a4l_do_insn_trig(struct a4l_device_context * cxt,
+			    struct a4l_kernel_instruction * dsc)
 {
 	struct a4l_subdevice *subd;
 	struct a4l_device *dev = a4l_get_dev(cxt);
@@ -115,7 +116,8 @@ int a4l_do_insn_trig(struct a4l_device_context * cxt, struct a4l_kernel_instruct
 	return subd->trigger(subd, trignum);
 }
 
-int a4l_fill_insndsc(struct a4l_device_context * cxt, struct a4l_kernel_instruction * dsc, void *arg)
+static int a4l_fill_insndsc(struct a4l_device_context * cxt,
+			    struct a4l_kernel_instruction * dsc, void *arg)
 {
 	struct rtdm_fd *fd = rtdm_private_to_fd(cxt);
 	int ret = 0;
@@ -159,7 +161,8 @@ out_insndsc:
 	return ret;
 }
 
-int a4l_free_insndsc(struct a4l_device_context * cxt, struct a4l_kernel_instruction * dsc)
+static int a4l_free_insndsc(struct a4l_device_context * cxt,
+			    struct a4l_kernel_instruction * dsc)
 {
 	struct rtdm_fd *fd = rtdm_private_to_fd(cxt);
 	int ret = 0;
@@ -175,7 +178,8 @@ int a4l_free_insndsc(struct a4l_device_context * cxt, struct a4l_kernel_instruct
 	return ret;
 }
 
-int a4l_do_special_insn(struct a4l_device_context * cxt, struct a4l_kernel_instruction * dsc)
+static int a4l_do_special_insn(struct a4l_device_context * cxt,
+			       struct a4l_kernel_instruction * dsc)
 {
 	int ret = 0;
 
@@ -203,7 +207,8 @@ int a4l_do_special_insn(struct a4l_device_context * cxt, struct a4l_kernel_instr
 	return ret;
 }
 
-int a4l_do_insn(struct a4l_device_context * cxt, struct a4l_kernel_instruction * dsc)
+static int a4l_do_insn(struct a4l_device_context * cxt,
+		       struct a4l_kernel_instruction * dsc)
 {
 	int ret = 0;
 	struct a4l_subdevice *subd;
@@ -326,7 +331,8 @@ err_ioctl_insn:
 	return ret;
 }
 
-int a4l_fill_ilstdsc(struct a4l_device_context * cxt, struct a4l_kernel_instruction_list * dsc, void *arg)
+static int a4l_fill_ilstdsc(struct a4l_device_context * cxt,
+			    struct a4l_kernel_instruction_list * dsc, void *arg)
 {
 	struct rtdm_fd *fd = rtdm_private_to_fd(cxt);
 	int i, ret = 0;
@@ -366,7 +372,8 @@ int a4l_fill_ilstdsc(struct a4l_device_context * cxt, struct a4l_kernel_instruct
 	return ret;
 }
 
-int a4l_free_ilstdsc(struct a4l_device_context * cxt, struct a4l_kernel_instruction_list * dsc)
+static int a4l_free_ilstdsc(struct a4l_device_context * cxt,
+			    struct a4l_kernel_instruction_list * dsc)
 {
 	int i, ret = 0;
 
diff --git a/kernel/drivers/analogy/intel/8255.c b/kernel/drivers/analogy/intel/8255.c
index 1abe250e0c..049c5d2a47 100644
--- a/kernel/drivers/analogy/intel/8255.c
+++ b/kernel/drivers/analogy/intel/8255.c
@@ -90,13 +90,14 @@ static void do_config(struct a4l_subdevice *subd)
 	CALLBACK_FUNC(1, _8255_CR, config, CALLBACK_ARG);
 }
 
-int subd_8255_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
+static int subd_8255_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 {
 	/* FIXME */
 	return 0;
 }
 
-int subd_8255_cmdtest(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
+static int subd_8255_cmdtest(struct a4l_subdevice *subd,
+			     struct a4l_cmd_desc *cmd)
 {
 	if (cmd->start_arg != 0) {
 		cmd->start_arg = 0;
@@ -122,12 +123,13 @@ int subd_8255_cmdtest(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 	return 0;
 }
 
-void subd_8255_cancel(struct a4l_subdevice *subd)
+static void subd_8255_cancel(struct a4l_subdevice *subd)
 {
 	/* FIXME */
 }
 
-int subd_8255_insn_bits(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int subd_8255_insn_bits(struct a4l_subdevice *subd,
+			       struct a4l_kernel_instruction *insn)
 {
 	subd_8255_t *subd_8255 = (subd_8255_t *)subd->priv;
 	uint32_t *data = (uint32_t *)insn->data;
@@ -157,7 +159,8 @@ int subd_8255_insn_bits(struct a4l_subdevice *subd, struct a4l_kernel_instructio
 	return 0;
 }
 
-int subd_8255_insn_config(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int subd_8255_insn_config(struct a4l_subdevice *subd,
+				 struct a4l_kernel_instruction *insn)
 {
 	unsigned int mask;
 	unsigned int bits;
diff --git a/kernel/drivers/analogy/national_instruments/mio_common.c b/kernel/drivers/analogy/national_instruments/mio_common.c
index c41ec506c7..7cd57ecf27 100644
--- a/kernel/drivers/analogy/national_instruments/mio_common.c
+++ b/kernel/drivers/analogy/national_instruments/mio_common.c
@@ -426,7 +426,7 @@ static int ni_request_cdo_mite_channel(struct a4l_device *dev)
 	return err;
 }
 
-void ni_release_ai_mite_channel(struct a4l_device *dev)
+static void ni_release_ai_mite_channel(struct a4l_device *dev)
 {
 	unsigned long flags;
 
@@ -440,7 +440,7 @@ void ni_release_ai_mite_channel(struct a4l_device *dev)
 
 }
 
-void ni_release_ao_mite_channel(struct a4l_device *dev)
+static void ni_release_ao_mite_channel(struct a4l_device *dev)
 {
 	unsigned long flags;
 
@@ -454,7 +454,8 @@ void ni_release_ao_mite_channel(struct a4l_device *dev)
 
 }
 
-void ni_release_gpct_mite_channel(struct a4l_device *dev, unsigned gpct_index)
+static void ni_release_gpct_mite_channel(struct a4l_device *dev,
+					 unsigned gpct_index)
 {
 	unsigned long flags;
 
@@ -473,7 +474,7 @@ void ni_release_gpct_mite_channel(struct a4l_device *dev, unsigned gpct_index)
 
 }
 
-void ni_release_cdo_mite_channel(struct a4l_device *dev)
+static void ni_release_cdo_mite_channel(struct a4l_device *dev)
 {
 	unsigned long flags;
 
@@ -487,7 +488,7 @@ void ni_release_cdo_mite_channel(struct a4l_device *dev)
 
 }
 
-void ni_sync_ai_dma(struct a4l_subdevice *subd)
+static void ni_sync_ai_dma(struct a4l_subdevice *subd)
 {
 	struct a4l_device *dev = subd->dev;
 	unsigned long flags;
@@ -498,7 +499,7 @@ void ni_sync_ai_dma(struct a4l_subdevice *subd)
 	rtdm_lock_put_irqrestore(&devpriv->mite_channel_lock, flags);
 }
 
-void mite_handle_b_linkc(struct a4l_subdevice *subd)
+static void mite_handle_b_linkc(struct a4l_subdevice *subd)
 {
 	struct a4l_device *dev = subd->dev;
 	unsigned long flags;
@@ -592,8 +593,8 @@ static inline int ni_ao_wait_for_dma_load(struct a4l_subdevice *subd)
 
 /* E-series boards use the second irq signals to generate dma requests
    for their counters */
-void ni_e_series_enable_second_irq(struct a4l_device *dev,
-				   unsigned gpct_index, short enable)
+static void ni_e_series_enable_second_irq(struct a4l_device *dev,
+					  unsigned gpct_index, short enable)
 {
 	if (boardtype.reg_type & ni_reg_m_series_mask)
 		return;
@@ -622,7 +623,7 @@ void ni_e_series_enable_second_irq(struct a4l_device *dev,
 	}
 }
 
-void ni_clear_ai_fifo(struct a4l_device *dev)
+static void ni_clear_ai_fifo(struct a4l_device *dev)
 {
 	if (boardtype.reg_type == ni_reg_6143) {
 		/* Flush the 6143 data FIFO */
@@ -1714,7 +1715,7 @@ static int ni_ai_insn_read(struct a4l_subdevice *subd, struct a4l_kernel_instruc
 	return 0;
 }
 
-void ni_prime_channelgain_list(struct a4l_device *dev)
+static void ni_prime_channelgain_list(struct a4l_device *dev)
 {
 	int i;
 	devpriv->stc_writew(dev, AI_CONVERT_Pulse, AI_Command_1_Register);
@@ -2012,7 +2013,7 @@ static struct a4l_cmd_desc mio_ai_cmd_mask = {
 	.stop_src = TRIG_COUNT | TRIG_NONE,
 };
 
-int ni_ai_inttrig(struct a4l_subdevice *subd, lsampl_t trignum)
+static int ni_ai_inttrig(struct a4l_subdevice *subd, lsampl_t trignum)
 {
 	struct a4l_device *dev = subd->dev;
 
@@ -2584,7 +2585,8 @@ static int ni_ai_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 	return 0;
 }
 
-int ni_ai_config_analog_trig(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_ai_config_analog_trig(struct a4l_subdevice *subd,
+				    struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	unsigned int a, b, modebits;
@@ -2684,7 +2686,8 @@ int ni_ai_config_analog_trig(struct a4l_subdevice *subd, struct a4l_kernel_instr
 	return 0;
 }
 
-int ni_ai_insn_config(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_ai_insn_config(struct a4l_subdevice *subd,
+			     struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	unsigned int *data = (unsigned int *)insn->data;
@@ -2896,7 +2899,8 @@ static int ni_ao_config_chan_descs(struct a4l_subdevice *subd,
 		return ni_old_ao_config_chan_descs(subd, chanspec, n_chans);
 }
 
-int ni_ao_insn_read(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_ao_insn_read(struct a4l_subdevice *subd,
+			   struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	uint16_t *data = (uint16_t *)insn->data;
@@ -2906,7 +2910,8 @@ int ni_ao_insn_read(struct a4l_subdevice *subd, struct a4l_kernel_instruction *i
 	return 0;
 }
 
-int ni_ao_insn_write(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_ao_insn_write(struct a4l_subdevice *subd,
+			    struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	unsigned int chan = CR_CHAN(insn->chan_desc);
@@ -2927,7 +2932,8 @@ int ni_ao_insn_write(struct a4l_subdevice *subd, struct a4l_kernel_instruction *
 	return 0;
 }
 
-int ni_ao_insn_write_671x(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_ao_insn_write_671x(struct a4l_subdevice *subd,
+				 struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	unsigned int chan = CR_CHAN(insn->chan_desc);
@@ -2945,7 +2951,7 @@ int ni_ao_insn_write_671x(struct a4l_subdevice *subd, struct a4l_kernel_instruct
 	return 0;
 }
 
-int ni_ao_inttrig(struct a4l_subdevice *subd, lsampl_t trignum)
+static int ni_ao_inttrig(struct a4l_subdevice *subd, lsampl_t trignum)
 {
 	struct a4l_device *dev = subd->dev;
 	int ret, interrupt_b_bits, i;
@@ -3019,7 +3025,7 @@ int ni_ao_inttrig(struct a4l_subdevice *subd, lsampl_t trignum)
 	return 0;
 }
 
-int ni_ao_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
+static int ni_ao_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 {
 	struct a4l_device *dev = subd->dev;
 
@@ -3205,7 +3211,7 @@ struct a4l_cmd_desc mio_ao_cmd_mask = {
 	.stop_src = TRIG_COUNT | TRIG_NONE,
 };
 
-int ni_ao_cmdtest(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
+static int ni_ao_cmdtest(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 {
 	struct a4l_device *dev = subd->dev;
 
@@ -3269,7 +3275,7 @@ int ni_ao_cmdtest(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 	return 0;
 }
 
-void ni_ao_reset(struct a4l_subdevice *subd)
+static void ni_ao_reset(struct a4l_subdevice *subd)
 {
 	struct a4l_device *dev = subd->dev;
 
@@ -3309,7 +3315,8 @@ void ni_ao_reset(struct a4l_subdevice *subd)
 
 /* digital io */
 
-int ni_dio_insn_config(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_dio_insn_config(struct a4l_subdevice *subd,
+			      struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	unsigned int *data = (unsigned int *)insn->data;
@@ -3342,7 +3349,8 @@ int ni_dio_insn_config(struct a4l_subdevice *subd, struct a4l_kernel_instruction
 	return 1;
 }
 
-int ni_dio_insn_bits(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_dio_insn_bits(struct a4l_subdevice *subd,
+			    struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	uint8_t *data = (uint8_t *)insn->data;
@@ -3376,7 +3384,8 @@ int ni_dio_insn_bits(struct a4l_subdevice *subd, struct a4l_kernel_instruction *
 	return 0;
 }
 
-int ni_m_series_dio_insn_config(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_m_series_dio_insn_config(struct a4l_subdevice *subd,
+				       struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	unsigned int *data = (unsigned int *)insn->data;
@@ -3406,7 +3415,8 @@ int ni_m_series_dio_insn_config(struct a4l_subdevice *subd, struct a4l_kernel_in
 	return 0;
 }
 
-int ni_m_series_dio_insn_bits_8(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_m_series_dio_insn_bits_8(struct a4l_subdevice *subd,
+				       struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	uint8_t *data = (uint8_t *)insn->data;
@@ -3429,7 +3439,8 @@ int ni_m_series_dio_insn_bits_8(struct a4l_subdevice *subd, struct a4l_kernel_in
 	return 0;
 }
 
-int ni_m_series_dio_insn_bits_32(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_m_series_dio_insn_bits_32(struct a4l_subdevice *subd,
+					struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	uint32_t *data = (uint32_t *)insn->data;
@@ -3464,7 +3475,7 @@ struct a4l_cmd_desc mio_dio_cmd_mask = {
 	.stop_src = TRIG_NONE,
 };
 
-int ni_cdio_cmdtest(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
+static int ni_cdio_cmdtest(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 {
 	unsigned int i;
 
@@ -3505,7 +3516,7 @@ int ni_cdio_cmdtest(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 	return 0;
 }
 
-int ni_cdio_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
+static int ni_cdio_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 {
 	struct a4l_device *dev = subd->dev;
 	unsigned cdo_mode_bits = CDO_FIFO_Mode_Bit | CDO_Halt_On_Error_Bit;
@@ -3539,7 +3550,7 @@ int ni_cdio_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 	return 0;
 }
 
-void ni_cdio_cancel(struct a4l_subdevice *subd)
+static void ni_cdio_cancel(struct a4l_subdevice *subd)
 {
 	struct a4l_device *dev = subd->dev;
 	ni_writel(CDO_Disarm_Bit | CDO_Error_Interrupt_Enable_Clear_Bit |
@@ -3551,7 +3562,7 @@ void ni_cdio_cancel(struct a4l_subdevice *subd)
 	ni_release_cdo_mite_channel(dev);
 }
 
-int ni_cdo_inttrig(struct a4l_subdevice *subd, lsampl_t trignum)
+static int ni_cdo_inttrig(struct a4l_subdevice *subd, lsampl_t trignum)
 {
 	struct a4l_device *dev = subd->dev;
 	int err;
@@ -3737,7 +3748,8 @@ static int ni_serial_sw_readwrite8(struct a4l_device * dev,
 	return 0;
 }
 
-int ni_serial_insn_config(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_serial_insn_config(struct a4l_subdevice *subd,
+				 struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	int err = 0;
@@ -4040,7 +4052,8 @@ static unsigned int ni_gpct_read_register(struct ni_gpct *counter,
 	return 0;
 }
 
-int ni_freq_out_insn_read(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_freq_out_insn_read(struct a4l_subdevice *subd,
+				 struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	uint8_t *data = (uint8_t *)insn->data;
@@ -4050,7 +4063,8 @@ int ni_freq_out_insn_read(struct a4l_subdevice *subd, struct a4l_kernel_instruct
 	return 0;
 }
 
-int ni_freq_out_insn_write(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_freq_out_insn_write(struct a4l_subdevice *subd,
+				  struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	uint8_t *data = (uint8_t *)insn->data;
@@ -4098,7 +4112,8 @@ static void ni_get_freq_out_clock(struct a4l_device * dev,
 	}
 }
 
-int ni_freq_out_insn_config(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ni_freq_out_insn_config(struct a4l_subdevice *subd,
+				   struct a4l_kernel_instruction *insn)
 {
 	struct a4l_device *dev = subd->dev;
 	unsigned int *data = (unsigned int *)insn->data;
diff --git a/kernel/drivers/analogy/national_instruments/mite.c b/kernel/drivers/analogy/national_instruments/mite.c
index ad1a8dded6..2f2014bcdb 100644
--- a/kernel/drivers/analogy/national_instruments/mite.c
+++ b/kernel/drivers/analogy/national_instruments/mite.c
@@ -515,7 +515,7 @@ void a4l_mite_prep_dma(struct mite_channel *mite_chan,
 	MDPRINTK("exit a4l_mite_prep_dma\n");
 }
 
-u32 mite_device_bytes_transferred(struct mite_channel *mite_chan)
+static u32 mite_device_bytes_transferred(struct mite_channel *mite_chan)
 {
 	struct mite_struct *mite = mite_chan->mite;
 	return readl(mite->mite_io_addr + MITE_DAR(mite_chan->channel));
diff --git a/kernel/drivers/analogy/rtdm_interface.c b/kernel/drivers/analogy/rtdm_interface.c
index 765c176c0b..914b2e1b78 100644
--- a/kernel/drivers/analogy/rtdm_interface.c
+++ b/kernel/drivers/analogy/rtdm_interface.c
@@ -75,7 +75,7 @@ static const DEFINE_PROC_OPS(a4l_proc_drvs_ops,
 			seq_read,
 			NULL);
 
-int a4l_init_proc(void)
+static int a4l_init_proc(void)
 {
 	int ret = 0;
 	struct proc_dir_entry *entry;
@@ -116,7 +116,7 @@ err_proc_init:
 	return ret;
 }
 
-void a4l_cleanup_proc(void)
+static void a4l_cleanup_proc(void)
 {
 	remove_proc_entry("drivers", a4l_proc_root);
 	remove_proc_entry("devices", a4l_proc_root);
@@ -130,7 +130,7 @@ void a4l_cleanup_proc(void)
 
 #endif /* CONFIG_PROC_FS */
 
-int a4l_open(struct rtdm_fd *fd, int flags)
+static int a4l_open(struct rtdm_fd *fd, int flags)
 {
 	struct a4l_device_context *cxt = (struct a4l_device_context *)rtdm_fd_to_private(fd);
 
@@ -154,7 +154,7 @@ int a4l_open(struct rtdm_fd *fd, int flags)
 	return 0;
 }
 
-void a4l_close(struct rtdm_fd *fd)
+static void a4l_close(struct rtdm_fd *fd)
 {
 	struct a4l_device_context *cxt = (struct a4l_device_context *)rtdm_fd_to_private(fd);
 
@@ -171,7 +171,7 @@ void a4l_close(struct rtdm_fd *fd)
 	rtdm_free(cxt->buffer);
 }
 
-ssize_t a4l_read(struct rtdm_fd *fd, void *buf, size_t nbytes)
+static ssize_t a4l_read(struct rtdm_fd *fd, void *buf, size_t nbytes)
 {
 	struct a4l_device_context *cxt = (struct a4l_device_context *)rtdm_fd_to_private(fd);
 
@@ -185,7 +185,7 @@ ssize_t a4l_read(struct rtdm_fd *fd, void *buf, size_t nbytes)
 	return a4l_read_buffer(cxt, buf, nbytes);
 }
 
-ssize_t a4l_write(struct rtdm_fd *fd, const void *buf, size_t nbytes)
+static ssize_t a4l_write(struct rtdm_fd *fd, const void *buf, size_t nbytes)
 {
 	struct a4l_device_context *cxt = (struct a4l_device_context *)rtdm_fd_to_private(fd);
 
@@ -199,14 +199,14 @@ ssize_t a4l_write(struct rtdm_fd *fd, const void *buf, size_t nbytes)
 	return a4l_write_buffer(cxt, buf, nbytes);
 }
 
-int a4l_ioctl(struct rtdm_fd *fd, unsigned int request, void *arg)
+static int a4l_ioctl(struct rtdm_fd *fd, unsigned int request, void *arg)
 {
 	struct a4l_device_context *cxt = (struct a4l_device_context *)rtdm_fd_to_private(fd);
 
 	return a4l_ioctl_functions[_IOC_NR(request)] (cxt, arg);
 }
 
-int a4l_rt_select(struct rtdm_fd *fd,
+static int a4l_rt_select(struct rtdm_fd *fd,
 		  rtdm_selector_t *selector,
 		  enum rtdm_selecttype type, unsigned fd_index)
 {
@@ -243,7 +243,7 @@ static struct rtdm_device rtdm_devs[A4L_NB_DEVICES] = {
 	}
 };
 
-int a4l_register(void)
+static int a4l_register(void)
 {
 	int i, ret;
 
@@ -261,7 +261,7 @@ fail:
 	return ret;
 }
 
-void a4l_unregister(void)
+static void a4l_unregister(void)
 {
 	int i;
 	for (i = 0; i < A4L_NB_DEVICES; i++)
diff --git a/kernel/drivers/analogy/testing/fake.c b/kernel/drivers/analogy/testing/fake.c
index c80c1cc183..cae0998be5 100644
--- a/kernel/drivers/analogy/testing/fake.c
+++ b/kernel/drivers/analogy/testing/fake.c
@@ -132,7 +132,7 @@ static inline uint16_t ai_value_output(struct ai_priv *priv)
 	return output_tab[idx] / priv->amplitude_div;
 }
 
-int ai_push_values(struct a4l_subdevice *subd)
+static int ai_push_values(struct a4l_subdevice *subd)
 {
 	uint64_t now_ns, elapsed_ns = 0;
 	struct a4l_cmd_desc *cmd;
@@ -175,7 +175,7 @@ int ai_push_values(struct a4l_subdevice *subd)
 
 /* --- Data retrieval for AO --- */
 
-int ao_pull_values(struct a4l_subdevice *subd)
+static int ao_pull_values(struct a4l_subdevice *subd)
 {
 	struct ao_ai2_priv *priv = (struct ao_ai2_priv *)subd->priv;
 	int err;
@@ -205,7 +205,7 @@ int ao_pull_values(struct a4l_subdevice *subd)
 
 /* --- Data redirection for 2nd AI (from AO) --- */
 
-int ai2_push_values(struct a4l_subdevice *subd)
+static int ai2_push_values(struct a4l_subdevice *subd)
 {
 	struct ao_ai2_priv *priv = *((struct ao_ai2_priv **)subd->priv);
 	int err = 0;
@@ -290,13 +290,13 @@ static void ai_munge(struct a4l_subdevice *subd, void *buf, unsigned long size)
 
 /* --- Asynchronous A0 functions --- */
 
-int ao_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
+static int ao_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 {
 	a4l_info(subd->dev, "(subd=%d)\n", subd->idx);
 	return 0;
 }
 
-int ao_trigger(struct a4l_subdevice *subd, lsampl_t trignum)
+static int ao_trigger(struct a4l_subdevice *subd, lsampl_t trignum)
 {
 	struct fake_priv *priv = (struct fake_priv *)subd->dev->priv;
 
@@ -305,7 +305,7 @@ int ao_trigger(struct a4l_subdevice *subd, lsampl_t trignum)
 	return 0;
 }
 
-void ao_cancel(struct a4l_subdevice *subd)
+static void ao_cancel(struct a4l_subdevice *subd)
 {
 	struct fake_priv *priv = (struct fake_priv *)subd->dev->priv;
 	struct ao_ai2_priv *ao_priv = (struct ao_ai2_priv *)subd->priv;
@@ -333,7 +333,7 @@ void ao_cancel(struct a4l_subdevice *subd)
 
 /* --- Asynchronous 2nd AI functions --- */
 
-int ai2_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
+static int ai2_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 {
 	struct fake_priv *priv = (struct fake_priv *)subd->dev->priv;
 
@@ -342,7 +342,7 @@ int ai2_cmd(struct a4l_subdevice *subd, struct a4l_cmd_desc *cmd)
 	return 0;
 }
 
-void ai2_cancel(struct a4l_subdevice *subd)
+static void ai2_cancel(struct a4l_subdevice *subd)
 {
 	struct fake_priv *priv = (struct fake_priv *)subd->dev->priv;
 	struct ao_ai2_priv *ai2_priv = *((struct ao_ai2_priv **)subd->priv);
@@ -407,7 +407,7 @@ static int dio_insn_bits(struct a4l_subdevice *subd, struct a4l_kernel_instructi
 
 /* --- Synchronous AO + AI2 functions --- */
 
-int ao_insn_write(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ao_insn_write(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
 {
 	struct ao_ai2_priv *priv = (struct ao_ai2_priv *)subd->priv;
 	uint16_t *data = (uint16_t *)insn->data;
@@ -422,7 +422,7 @@ int ao_insn_write(struct a4l_subdevice *subd, struct a4l_kernel_instruction *ins
 	return 0;
 }
 
-int ai2_insn_read(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
+static int ai2_insn_read(struct a4l_subdevice *subd, struct a4l_kernel_instruction *insn)
 {
 	struct ao_ai2_priv *priv = *((struct ao_ai2_priv **)subd->priv);
 	uint16_t *data = (uint16_t *)insn->data;
@@ -495,7 +495,7 @@ static void task_proc(void *arg)
 
 /* --- Initialization functions --- */
 
-void setup_ai_subd(struct a4l_subdevice *subd)
+static void setup_ai_subd(struct a4l_subdevice *subd)
 {
 	/* Fill the subdevice structure */
 	subd->flags |= A4L_SUBD_AI;
@@ -511,7 +511,7 @@ void setup_ai_subd(struct a4l_subdevice *subd)
 	subd->insn_read = ai_insn_read;
 }
 
-void setup_dio_subd(struct a4l_subdevice *subd)
+static void setup_dio_subd(struct a4l_subdevice *subd)
 {
 	/* Fill the subdevice structure */
 	subd->flags |= A4L_SUBD_DIO;
@@ -520,7 +520,7 @@ void setup_dio_subd(struct a4l_subdevice *subd)
 	subd->insn_bits = dio_insn_bits;
 }
 
-void setup_ao_subd(struct a4l_subdevice *subd)
+static void setup_ao_subd(struct a4l_subdevice *subd)
 {
 	/* Fill the subdevice structure */
 	subd->flags |= A4L_SUBD_AO;
@@ -535,7 +535,7 @@ void setup_ao_subd(struct a4l_subdevice *subd)
 	subd->insn_write = ao_insn_write;
 }
 
-void setup_ai2_subd(struct a4l_subdevice *subd)
+static void setup_ai2_subd(struct a4l_subdevice *subd)
 {
 	/* Fill the subdevice structure */
 	subd->flags |= A4L_SUBD_AI;
@@ -551,7 +551,7 @@ void setup_ai2_subd(struct a4l_subdevice *subd)
 
 /* --- Attach / detach functions ---  */
 
-int test_attach(struct a4l_device *dev, a4l_lnkdesc_t *arg)
+static int test_attach(struct a4l_device *dev, a4l_lnkdesc_t *arg)
 {
 	typedef void (*setup_subd_function) (struct a4l_subdevice *subd);
 	struct fake_priv *priv = (struct fake_priv *) dev->priv;
@@ -648,7 +648,7 @@ int test_attach(struct a4l_device *dev, a4l_lnkdesc_t *arg)
 	return ret;
 }
 
-int test_detach(struct a4l_device *dev)
+static int test_detach(struct a4l_device *dev)
 {
 	struct fake_priv *priv = (struct fake_priv *)dev->priv;
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 10/25] drivers/autotune: Make private functions static
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (8 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 09/25] drivers/analogy: Make private functions static Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 11/25] drivers/can/corectl: Provide proper prototypes via corectl.h Jan Kiszka
                   ` (14 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/autotune/autotune.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/drivers/autotune/autotune.c b/kernel/drivers/autotune/autotune.c
index d9208f2a89..03fd688de7 100644
--- a/kernel/drivers/autotune/autotune.c
+++ b/kernel/drivers/autotune/autotune.c
@@ -242,7 +242,7 @@ struct irq_gravity_tuner irq_tuner = {
 	},
 };
 
-void task_handler(void *arg)
+static void task_handler(void *arg)
 {
 	struct kthread_gravity_tuner *k_tuner = arg;
 	xnticks_t now;
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 11/25] drivers/can/corectl: Provide proper prototypes via corectl.h
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (9 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 10/25] drivers/autotune: " Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 12/25] drivers/can/c_can: Replace deprecated strlcpy with strscpy Jan Kiszka
                   ` (13 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/can/corectl.c      | 1 +
 kernel/drivers/can/corectl.h      | 7 +++++++
 kernel/drivers/can/rtcan_module.c | 5 ++---
 3 files changed, 10 insertions(+), 3 deletions(-)
 create mode 100644 kernel/drivers/can/corectl.h

diff --git a/kernel/drivers/can/corectl.c b/kernel/drivers/can/corectl.c
index 73ae34b389..16d695d284 100644
--- a/kernel/drivers/can/corectl.c
+++ b/kernel/drivers/can/corectl.c
@@ -5,6 +5,7 @@
 
 #include <asm/xenomai/syscall.h>
 #include <xenomai/posix/corectl.h>
+#include "corectl.h"
 
 static int rtcan_corectl_call(struct notifier_block *self, unsigned long arg,
 			      void *cookie)
diff --git a/kernel/drivers/can/corectl.h b/kernel/drivers/can/corectl.h
new file mode 100644
index 0000000000..295b485f84
--- /dev/null
+++ b/kernel/drivers/can/corectl.h
@@ -0,0 +1,7 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright 2021, Dario Binacchi <dariobin@libero.it>
+ */
+
+void rtcan_corectl_register(void);
+void rtcan_corectl_unregister(void);
diff --git a/kernel/drivers/can/rtcan_module.c b/kernel/drivers/can/rtcan_module.c
index 81fdc7ffea..82f96d7ef7 100644
--- a/kernel/drivers/can/rtcan_module.c
+++ b/kernel/drivers/can/rtcan_module.c
@@ -33,10 +33,9 @@
 #include <rtcan_dev.h>
 #include <rtcan_raw.h>
 
-MODULE_LICENSE("GPL");
+#include "corectl.h"
 
-void rtcan_corectl_register(void);
-void rtcan_corectl_unregister(void);
+MODULE_LICENSE("GPL");
 
 const char rtcan_rtdm_provider_name[] =
     "(C) 2006 RT-Socket-CAN Development Team";
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 12/25] drivers/can/c_can: Replace deprecated strlcpy with strscpy
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (10 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 11/25] drivers/can/corectl: Provide proper prototypes via corectl.h Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 13/25] drivers/can: Make private functions static Jan Kiszka
                   ` (12 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

strlcpy was dropped from kernel 6.8, and strscpy is around since 4.3.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/can/c_can/rtcan_c_can_ethtool.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/drivers/can/c_can/rtcan_c_can_ethtool.c b/kernel/drivers/can/c_can/rtcan_c_can_ethtool.c
index 7945ce4d8b..8e672a9f36 100644
--- a/kernel/drivers/can/c_can/rtcan_c_can_ethtool.c
+++ b/kernel/drivers/can/c_can/rtcan_c_can_ethtool.c
@@ -20,9 +20,9 @@ static void rtcan_c_can_get_drvinfo(struct rtcan_device *dev,
 	struct c_can_priv *priv = rtcan_priv(dev);
 	struct platform_device *pdev = to_platform_device(priv->device);
 
-	strlcpy(info->driver, "c_can", sizeof(info->driver));
-	strlcpy(info->version, "1.0", sizeof(info->version));
-	strlcpy(info->bus_info, pdev->name, sizeof(info->bus_info));
+	strscpy(info->driver, "c_can", sizeof(info->driver));
+	strscpy(info->version, "1.0", sizeof(info->version));
+	strscpy(info->bus_info, pdev->name, sizeof(info->bus_info));
 }
 
 static void rtcan_c_can_get_ringparam(struct rtcan_device *dev,
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 13/25] drivers/can: Make private functions static
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (11 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 12/25] drivers/can/c_can: Replace deprecated strlcpy with strscpy Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 14/25] drivers/gpio: Address missing prototype warnings by adding includes Jan Kiszka
                   ` (11 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/can/rtcan_module.c           |  4 ++--
 kernel/drivers/can/rtcan_raw.c              | 16 +++++++---------
 kernel/drivers/can/sja1000/rtcan_isa.c      |  2 +-
 kernel/drivers/can/sja1000/rtcan_mem.c      |  2 +-
 kernel/drivers/can/sja1000/rtcan_peak_dng.c |  4 ++--
 kernel/drivers/can/sja1000/rtcan_sja1000.c  | 19 +++++++++----------
 6 files changed, 22 insertions(+), 25 deletions(-)

diff --git a/kernel/drivers/can/rtcan_module.c b/kernel/drivers/can/rtcan_module.c
index 82f96d7ef7..55d6596899 100644
--- a/kernel/drivers/can/rtcan_module.c
+++ b/kernel/drivers/can/rtcan_module.c
@@ -401,7 +401,7 @@ static void rtcan_proc_unregister(void)
 
 
 
-int __init rtcan_init(void)
+static int __init rtcan_init(void)
 {
     int err = 0;
 
@@ -427,7 +427,7 @@ int __init rtcan_init(void)
 }
 
 
-void __exit rtcan_exit(void)
+static void __exit rtcan_exit(void)
 {
     rtcan_corectl_unregister();
 
diff --git a/kernel/drivers/can/rtcan_raw.c b/kernel/drivers/can/rtcan_raw.c
index 92b7617fb7..87f9c4e6bd 100644
--- a/kernel/drivers/can/rtcan_raw.c
+++ b/kernel/drivers/can/rtcan_raw.c
@@ -216,7 +216,7 @@ EXPORT_SYMBOL_GPL(rtcan_loopback);
 #endif /* CONFIG_XENO_DRIVERS_CAN_LOOPBACK */
 
 
-int rtcan_raw_socket(struct rtdm_fd *fd, int protocol)
+static int rtcan_raw_socket(struct rtdm_fd *fd, int protocol)
 {
     /* Only protocol CAN_RAW is supported */
     if (protocol != CAN_RAW && protocol != 0)
@@ -258,8 +258,7 @@ static void rtcan_raw_close(struct rtdm_fd *fd)
 }
 
 
-int rtcan_raw_bind(struct rtdm_fd *fd,
-		   struct sockaddr_can *scan)
+static int rtcan_raw_bind(struct rtdm_fd *fd, struct sockaddr_can *scan)
 {
     struct rtcan_socket *sock = rtdm_fd_to_private(fd);
     rtdm_lockctx_t lock_ctx;
@@ -406,8 +405,7 @@ static int rtcan_raw_setsockopt(struct rtdm_fd *fd,
 }
 
 
-int rtcan_raw_ioctl(struct rtdm_fd *fd,
-		    unsigned int request, void *arg)
+static int rtcan_raw_ioctl(struct rtdm_fd *fd, unsigned int request, void *arg)
 {
     int ret = 0;
 
@@ -523,8 +521,8 @@ do {									\
 	recv_buf_index = (recv_buf_index + len) & (RTCAN_RXBUF_SIZE - 1); \
 } while (0)
 
-ssize_t rtcan_raw_recvmsg(struct rtdm_fd *fd,
-			  struct user_msghdr *msg, int flags)
+static ssize_t rtcan_raw_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg,
+				 int flags)
 {
     struct rtcan_socket *sock = rtdm_fd_to_private(fd);
     struct sockaddr_can scan;
@@ -851,8 +849,8 @@ static ssize_t __rtcan_raw_sendmsg(struct rtcan_device *dev, struct rtcan_socket
     return ret;
 }
 
-ssize_t rtcan_raw_sendmsg(struct rtdm_fd *fd,
-			  const struct user_msghdr *msg, int flags)
+static ssize_t rtcan_raw_sendmsg(struct rtdm_fd *fd,
+				 const struct user_msghdr *msg, int flags)
 {
     struct rtcan_socket *sock = rtdm_fd_to_private(fd);
     struct sockaddr_can *scan = (struct sockaddr_can *)msg->msg_name;
diff --git a/kernel/drivers/can/sja1000/rtcan_isa.c b/kernel/drivers/can/sja1000/rtcan_isa.c
index a0e49fea30..c658fdfc34 100644
--- a/kernel/drivers/can/sja1000/rtcan_isa.c
+++ b/kernel/drivers/can/sja1000/rtcan_isa.c
@@ -84,7 +84,7 @@ static void rtcan_isa_writereg(struct rtcan_device *dev, int port, u8 val)
 }
 
 
-int __init rtcan_isa_init_one(int idx)
+static int __init rtcan_isa_init_one(int idx)
 {
 	struct rtcan_device *dev;
 	struct rtcan_sja1000 *chip;
diff --git a/kernel/drivers/can/sja1000/rtcan_mem.c b/kernel/drivers/can/sja1000/rtcan_mem.c
index 965735eb35..8c90574c22 100644
--- a/kernel/drivers/can/sja1000/rtcan_mem.c
+++ b/kernel/drivers/can/sja1000/rtcan_mem.c
@@ -91,7 +91,7 @@ static void rtcan_mem_writereg(struct rtcan_device *dev, int reg, u8 val)
 	writeb(val, board->vmem + reg);
 }
 
-int __init rtcan_mem_init_one(int idx)
+static int __init rtcan_mem_init_one(int idx)
 {
 	struct rtcan_device *dev;
 	struct rtcan_sja1000 *chip;
diff --git a/kernel/drivers/can/sja1000/rtcan_peak_dng.c b/kernel/drivers/can/sja1000/rtcan_peak_dng.c
index d1e3f44648..f949c76692 100644
--- a/kernel/drivers/can/sja1000/rtcan_peak_dng.c
+++ b/kernel/drivers/can/sja1000/rtcan_peak_dng.c
@@ -208,7 +208,7 @@ static inline void rtcan_peak_dng_disable(struct rtcan_device *dev)
 }
 
 /** Init module */
-int __init rtcan_peak_dng_init_one(int idx)
+static int __init rtcan_peak_dng_init_one(int idx)
 {
     int ret, dtype;
     struct rtcan_device *dev;
@@ -304,7 +304,7 @@ int __init rtcan_peak_dng_init_one(int idx)
     return ret;
 }
 
-void rtcan_peak_dng_exit_one(struct rtcan_device *dev)
+static void rtcan_peak_dng_exit_one(struct rtcan_device *dev)
 {
     struct rtcan_peak_dng *dng = (struct rtcan_peak_dng *)dev->board_priv;
 
diff --git a/kernel/drivers/can/sja1000/rtcan_sja1000.c b/kernel/drivers/can/sja1000/rtcan_sja1000.c
index 0f49551f95..887c4e4937 100644
--- a/kernel/drivers/can/sja1000/rtcan_sja1000.c
+++ b/kernel/drivers/can/sja1000/rtcan_sja1000.c
@@ -547,16 +547,15 @@ static int rtcan_sja_mode_start(struct rtcan_device *dev,
     return ret;
 }
 
-can_state_t rtcan_sja_get_state(struct rtcan_device *dev)
+static can_state_t rtcan_sja_get_state(struct rtcan_device *dev)
 {
     can_state_t state = dev->state;
     rtcan_sja_is_operating(dev, &state);
     return state;
 }
 
-int rtcan_sja_set_mode(struct rtcan_device *dev,
-		       can_mode_t mode,
-		       rtdm_lockctx_t *lock_ctx)
+static int rtcan_sja_set_mode(struct rtcan_device *dev,
+			      can_mode_t mode, rtdm_lockctx_t *lock_ctx)
 {
     int ret = 0;
     can_state_t state;
@@ -608,9 +607,9 @@ int rtcan_sja_set_mode(struct rtcan_device *dev,
     return ret;
 }
 
-int rtcan_sja_set_bit_time(struct rtcan_device *dev,
-			   struct can_bittime *bit_time,
-			   rtdm_lockctx_t *lock_ctx)
+static int rtcan_sja_set_bit_time(struct rtcan_device *dev,
+				  struct can_bittime *bit_time,
+				  rtdm_lockctx_t *lock_ctx)
 {
     struct rtcan_sja1000 *chip = (struct rtcan_sja1000 *)dev->priv;
     u8 btr0, btr1;
@@ -642,7 +641,7 @@ int rtcan_sja_set_bit_time(struct rtcan_device *dev,
     return 0;
 }
 
-void rtcan_sja_enable_bus_err(struct rtcan_device *dev)
+static void rtcan_sja_enable_bus_err(struct rtcan_device *dev)
 {
     struct rtcan_sja1000 *chip = (struct rtcan_sja1000 *)dev->priv;
 
@@ -820,7 +819,7 @@ void rtcan_sja1000_unregister(struct rtcan_device *dev)
     rtcan_dev_unregister(dev);
 }
 
-int __init rtcan_sja_init(void)
+static int __init rtcan_sja_init(void)
 {
 	if (!rtdm_available())
 		return -ENOSYS;
@@ -830,7 +829,7 @@ int __init rtcan_sja_init(void)
 }
 
 
-void __exit rtcan_sja_exit(void)
+static void __exit rtcan_sja_exit(void)
 {
 	printk("%s removed\n", sja_ctrl_name);
 }
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 14/25] drivers/gpio: Address missing prototype warnings by adding includes
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (12 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 13/25] drivers/can: Make private functions static Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 15/25] drivers/gpio: Make private functions static Jan Kiszka
                   ` (10 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/gpio/gpio-core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/drivers/gpio/gpio-core.c b/kernel/drivers/gpio/gpio-core.c
index e41c640504..74ce94408f 100644
--- a/kernel/drivers/gpio/gpio-core.c
+++ b/kernel/drivers/gpio/gpio-core.c
@@ -22,6 +22,7 @@
 #include <linux/irq.h>
 #include <linux/slab.h>
 #include <linux/err.h>
+#include <linux/platform_device.h>
 #include <linux/gpio/driver.h>
 #include <rtdm/gpio.h>
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 15/25] drivers/gpio: Make private functions static
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (13 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 14/25] drivers/gpio: Address missing prototype warnings by adding includes Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 16/25] drivers/ipc: " Jan Kiszka
                   ` (9 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/gpio/gpio-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/drivers/gpio/gpio-core.c b/kernel/drivers/gpio/gpio-core.c
index 74ce94408f..5cf59c4688 100644
--- a/kernel/drivers/gpio/gpio-core.c
+++ b/kernel/drivers/gpio/gpio-core.c
@@ -307,7 +307,7 @@ static int gpio_pin_select(struct rtdm_fd *fd, struct xnselector *selector,
 	return rtdm_event_select(&pin->event, selector, type, index);
 }
 
-int gpio_pin_open(struct rtdm_fd *fd, int oflags)
+static int gpio_pin_open(struct rtdm_fd *fd, int oflags)
 {
 	struct rtdm_gpio_chan *chan = rtdm_fd_to_private(fd);
 	struct rtdm_device *dev = rtdm_fd_device(fd);
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 16/25] drivers/ipc: Make private functions static
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (14 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 15/25] drivers/gpio: Make private functions static Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 17/25] drivers/net/ipv4: Align signatures of rt_ip_build_xmit Jan Kiszka
                   ` (8 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/ipc/rtipc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/drivers/ipc/rtipc.c b/kernel/drivers/ipc/rtipc.c
index 66176adad8..a91a32128b 100644
--- a/kernel/drivers/ipc/rtipc.c
+++ b/kernel/drivers/ipc/rtipc.c
@@ -519,7 +519,7 @@ static struct rtdm_device device = {
 	.label = "rtipc",
 };
 
-int __init __rtipc_init(void)
+static int __init __rtipc_init(void)
 {
 	int ret, n;
 
@@ -537,7 +537,7 @@ int __init __rtipc_init(void)
 	return rtdm_dev_register(&device);
 }
 
-void __exit __rtipc_exit(void)
+static void __exit __rtipc_exit(void)
 {
 	int n;
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 17/25] drivers/net/ipv4: Align signatures of rt_ip_build_xmit
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (15 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 16/25] drivers/ipc: " Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 18/25] drivers/net: Address missing prototype warnings by adding includes Jan Kiszka
                   ` (7 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Prototype and actual handlers all use 'unsigned char' for the second
parameter of getfrag.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/net/stack/ipv4/ip_output.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/drivers/net/stack/ipv4/ip_output.c b/kernel/drivers/net/stack/ipv4/ip_output.c
index 664d0c790f..47da3ca75c 100644
--- a/kernel/drivers/net/stack/ipv4/ip_output.c
+++ b/kernel/drivers/net/stack/ipv4/ip_output.c
@@ -38,8 +38,8 @@ static u16 rt_ip_id_count = 0;
  *  Slow path for fragmented packets
  */
 int rt_ip_build_xmit_slow(struct rtsocket *sk,
-			  int getfrag(const void *, char *, unsigned int,
-				      unsigned int),
+			  int getfrag(const void *, unsigned char *,
+				      unsigned int, unsigned int),
 			  const void *frag, unsigned length,
 			  struct dest_route *rt, int msg_flags,
 			  unsigned int mtu, unsigned int prio)
@@ -155,7 +155,7 @@ error:
  *  Fast path for unfragmented packets.
  */
 int rt_ip_build_xmit(struct rtsocket *sk,
-		     int getfrag(const void *, char *, unsigned int,
+		     int getfrag(const void *, unsigned char *, unsigned int,
 				 unsigned int),
 		     const void *frag, unsigned length, struct dest_route *rt,
 		     int msg_flags)
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 18/25] drivers/net: Address missing prototype warnings by adding includes
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (16 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 17/25] drivers/net/ipv4: Align signatures of rt_ip_build_xmit Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:30 ` [PATCH 19/25] drivers/net/corectl: Provide proper prototypes via corectl.h Jan Kiszka
                   ` (6 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/net/stack/eth.c                      | 1 +
 kernel/drivers/net/stack/ipv4/ip_output.c           | 1 +
 kernel/drivers/net/stack/ipv4/ip_sock.c             | 1 +
 kernel/drivers/net/stack/rtcfg/rtcfg_client_event.c | 1 +
 kernel/drivers/net/stack/rtcfg/rtcfg_proc.c         | 1 +
 kernel/drivers/net/stack/rtdev_mgr.c                | 1 +
 kernel/drivers/net/stack/rtmac/nomac/nomac_dev.c    | 1 +
 kernel/drivers/net/stack/rtmac/nomac/nomac_ioctl.c  | 1 +
 kernel/drivers/net/stack/rtmac/nomac/nomac_proto.c  | 1 +
 kernel/drivers/net/stack/rtmac/tdma/tdma_dev.c      | 1 +
 kernel/drivers/net/stack/rtmac/tdma/tdma_ioctl.c    | 1 +
 kernel/drivers/net/stack/rtmac/tdma/tdma_worker.c   | 1 +
 12 files changed, 12 insertions(+)

diff --git a/kernel/drivers/net/stack/eth.c b/kernel/drivers/net/stack/eth.c
index 427687f375..2ad7f0aee4 100644
--- a/kernel/drivers/net/stack/eth.c
+++ b/kernel/drivers/net/stack/eth.c
@@ -26,6 +26,7 @@
 
 #include <rtdev.h>
 #include <rtnet_internal.h>
+#include <ethernet/eth.h>
 
 /*
  *  Create the Ethernet MAC header for an arbitrary protocol layer
diff --git a/kernel/drivers/net/stack/ipv4/ip_output.c b/kernel/drivers/net/stack/ipv4/ip_output.c
index 47da3ca75c..ccec6d5f11 100644
--- a/kernel/drivers/net/stack/ipv4/ip_output.c
+++ b/kernel/drivers/net/stack/ipv4/ip_output.c
@@ -29,6 +29,7 @@
 #include <stack_mgr.h>
 #include <ipv4/ip_fragment.h>
 #include <ipv4/ip_input.h>
+#include <ipv4/ip_output.h>
 #include <ipv4/route.h>
 
 static DEFINE_RTDM_LOCK(rt_ip_id_lock);
diff --git a/kernel/drivers/net/stack/ipv4/ip_sock.c b/kernel/drivers/net/stack/ipv4/ip_sock.c
index 8ca6aebd19..ea15d2f05a 100644
--- a/kernel/drivers/net/stack/ipv4/ip_sock.c
+++ b/kernel/drivers/net/stack/ipv4/ip_sock.c
@@ -27,6 +27,7 @@
 #include <linux/in.h>
 
 #include <rtnet_socket.h>
+#include <ipv4/ip_sock.h>
 
 int rt_ip_setsockopt(struct rtdm_fd *fd, struct rtsocket *s, int level,
 		     int optname, const void __user *optval, socklen_t optlen)
diff --git a/kernel/drivers/net/stack/rtcfg/rtcfg_client_event.c b/kernel/drivers/net/stack/rtcfg/rtcfg_client_event.c
index 1a69bf478d..cf9e1fc83c 100644
--- a/kernel/drivers/net/stack/rtcfg/rtcfg_client_event.c
+++ b/kernel/drivers/net/stack/rtcfg/rtcfg_client_event.c
@@ -27,6 +27,7 @@
 #include <rtcfg/rtcfg_event.h>
 #include <rtcfg/rtcfg_frame.h>
 #include <rtcfg/rtcfg_timer.h>
+#include <rtcfg/rtcfg_client_event.h>
 
 static int rtcfg_client_get_frag(int ifindex, struct rt_proc_call *call);
 static void rtcfg_client_detach(int ifindex, struct rt_proc_call *call);
diff --git a/kernel/drivers/net/stack/rtcfg/rtcfg_proc.c b/kernel/drivers/net/stack/rtcfg/rtcfg_proc.c
index 3b39b741a6..2b7ad9e4be 100644
--- a/kernel/drivers/net/stack/rtcfg/rtcfg_proc.c
+++ b/kernel/drivers/net/stack/rtcfg/rtcfg_proc.c
@@ -28,6 +28,7 @@
 #include <rtcfg/rtcfg_conn_event.h>
 #include <rtcfg/rtcfg_event.h>
 #include <rtcfg/rtcfg_frame.h>
+#include <rtcfg/rtcfg_proc.h>
 
 #ifdef CONFIG_XENO_OPT_VFILE
 DEFINE_MUTEX(nrt_proc_lock);
diff --git a/kernel/drivers/net/stack/rtdev_mgr.c b/kernel/drivers/net/stack/rtdev_mgr.c
index c6c78c2d76..e5f9d19825 100644
--- a/kernel/drivers/net/stack/rtdev_mgr.c
+++ b/kernel/drivers/net/stack/rtdev_mgr.c
@@ -23,6 +23,7 @@
 #include <linux/netdevice.h>
 
 #include <rtdev.h>
+#include <rtdev_mgr.h>
 #include <rtdm/net.h>
 #include <rtnet_internal.h>
 
diff --git a/kernel/drivers/net/stack/rtmac/nomac/nomac_dev.c b/kernel/drivers/net/stack/rtmac/nomac/nomac_dev.c
index 572d893c05..c3eccc79f3 100644
--- a/kernel/drivers/net/stack/rtmac/nomac/nomac_dev.c
+++ b/kernel/drivers/net/stack/rtmac/nomac/nomac_dev.c
@@ -27,6 +27,7 @@
 #include <rtdev.h>
 #include <rtmac.h>
 #include <rtmac/nomac/nomac.h>
+#include <rtmac/nomac/nomac_dev.h>
 
 static int nomac_dev_openclose(void)
 {
diff --git a/kernel/drivers/net/stack/rtmac/nomac/nomac_ioctl.c b/kernel/drivers/net/stack/rtmac/nomac/nomac_ioctl.c
index 95c7bf7fe0..2ce313f4a0 100644
--- a/kernel/drivers/net/stack/rtmac/nomac/nomac_ioctl.c
+++ b/kernel/drivers/net/stack/rtmac/nomac/nomac_ioctl.c
@@ -27,6 +27,7 @@
 
 #include <nomac_chrdev.h>
 #include <rtmac/nomac/nomac.h>
+#include <rtmac/nomac/nomac_ioctl.h>
 
 static int nomac_ioctl_attach(struct rtnet_device *rtdev)
 {
diff --git a/kernel/drivers/net/stack/rtmac/nomac/nomac_proto.c b/kernel/drivers/net/stack/rtmac/nomac/nomac_proto.c
index 66cd9fc846..c13c8ccf05 100644
--- a/kernel/drivers/net/stack/rtmac/nomac/nomac_proto.c
+++ b/kernel/drivers/net/stack/rtmac/nomac/nomac_proto.c
@@ -27,6 +27,7 @@
 #include <rtdev.h>
 #include <rtmac/rtmac_proto.h>
 #include <rtmac/nomac/nomac.h>
+#include <rtmac/nomac/nomac_proto.h>
 
 static struct rtskb_queue nrt_rtskb_queue;
 static rtdm_task_t wrapper_task;
diff --git a/kernel/drivers/net/stack/rtmac/tdma/tdma_dev.c b/kernel/drivers/net/stack/rtmac/tdma/tdma_dev.c
index 99c7672b18..6d9a247e9f 100644
--- a/kernel/drivers/net/stack/rtmac/tdma/tdma_dev.c
+++ b/kernel/drivers/net/stack/rtmac/tdma/tdma_dev.c
@@ -27,6 +27,7 @@
 #include <rtdev.h>
 #include <rtmac.h>
 #include <rtmac/tdma/tdma.h>
+#include <rtmac/tdma/tdma_dev.h>
 
 struct tdma_dev_ctx {
 	rtdm_task_t *cycle_waiter;
diff --git a/kernel/drivers/net/stack/rtmac/tdma/tdma_ioctl.c b/kernel/drivers/net/stack/rtmac/tdma/tdma_ioctl.c
index fe4ff59748..f0fa353803 100644
--- a/kernel/drivers/net/stack/rtmac/tdma/tdma_ioctl.c
+++ b/kernel/drivers/net/stack/rtmac/tdma/tdma_ioctl.c
@@ -30,6 +30,7 @@
 #include <tdma_chrdev.h>
 #include <rtmac/rtmac_vnic.h>
 #include <rtmac/tdma/tdma.h>
+#include <rtmac/tdma/tdma_ioctl.h>
 
 #ifdef CONFIG_XENO_DRIVERS_NET_TDMA_MASTER
 static int tdma_ioctl_master(struct rtnet_device *rtdev,
diff --git a/kernel/drivers/net/stack/rtmac/tdma/tdma_worker.c b/kernel/drivers/net/stack/rtmac/tdma/tdma_worker.c
index d12a480cd4..e3c60cd9ae 100644
--- a/kernel/drivers/net/stack/rtmac/tdma/tdma_worker.c
+++ b/kernel/drivers/net/stack/rtmac/tdma/tdma_worker.c
@@ -24,6 +24,7 @@
 
 #include <rtmac/rtmac_proto.h>
 #include <rtmac/tdma/tdma_proto.h>
+#include <rtmac/tdma/tdma_worker.h>
 
 static void do_slot_job(struct tdma_priv *tdma, struct tdma_slot *job,
 			rtdm_lockctx_t lockctx)
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 19/25] drivers/net/corectl: Provide proper prototypes via corectl.h
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (17 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 18/25] drivers/net: Address missing prototype warnings by adding includes Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26 10:36   ` Florian Bezdeka
  2024-03-26  6:30 ` [PATCH 20/25] drivers/net: Make rtdev_init private Jan Kiszka
                   ` (5 subsequent siblings)
  24 siblings, 1 reply; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/net/stack/corectl.c         |  1 +
 kernel/drivers/net/stack/include/corectl.h | 20 ++++++++++++++++++++
 kernel/drivers/net/stack/rtnet_module.c    |  1 +
 3 files changed, 22 insertions(+)
 create mode 100644 kernel/drivers/net/stack/include/corectl.h

diff --git a/kernel/drivers/net/stack/corectl.c b/kernel/drivers/net/stack/corectl.c
index 9301defb27..52b5869ad2 100644
--- a/kernel/drivers/net/stack/corectl.c
+++ b/kernel/drivers/net/stack/corectl.c
@@ -17,6 +17,7 @@
  */
 #include <asm/xenomai/syscall.h>
 #include <xenomai/posix/corectl.h>
+#include <corectl.h>
 
 static int rtnet_corectl_call(struct notifier_block *self, unsigned long arg,
 			      void *cookie)
diff --git a/kernel/drivers/net/stack/include/corectl.h b/kernel/drivers/net/stack/include/corectl.h
new file mode 100644
index 0000000000..6dc7fadeb9
--- /dev/null
+++ b/kernel/drivers/net/stack/include/corectl.h
@@ -0,0 +1,20 @@
+/*
+ * Copyright (C) 2016 Gilles Chanteperdrix <gch@xenomai.org>.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+void rtnet_corectl_register(void);
+void rtnet_corectl_unregister(void);
diff --git a/kernel/drivers/net/stack/rtnet_module.c b/kernel/drivers/net/stack/rtnet_module.c
index 37c61289f6..f16becafef 100644
--- a/kernel/drivers/net/stack/rtnet_module.c
+++ b/kernel/drivers/net/stack/rtnet_module.c
@@ -27,6 +27,7 @@
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 
+#include <corectl.h>
 #include <rtdev_mgr.h>
 #include <rtnet_chrdev.h>
 #include <rtnet_internal.h>
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 20/25] drivers/net: Make rtdev_init private
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (18 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 19/25] drivers/net/corectl: Provide proper prototypes via corectl.h Jan Kiszka
@ 2024-03-26  6:30 ` Jan Kiszka
  2024-03-26  6:31 ` [PATCH 21/25] drivers/net/e1000: Move e1000_check_options prototype to a header Jan Kiszka
                   ` (4 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:30 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

541f99a2aabe introduced, among other functions, rtdev_init as exported
interface but never provided it via a header. Therefore, make it a
private function now.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/net/stack/rtdev.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/kernel/drivers/net/stack/rtdev.c b/kernel/drivers/net/stack/rtdev.c
index f639cf6403..a5a854a563 100644
--- a/kernel/drivers/net/stack/rtdev.c
+++ b/kernel/drivers/net/stack/rtdev.c
@@ -236,7 +236,7 @@ static const struct rtskb_pool_lock_ops rtdev_ops = {
 	.unlock = rtdev_pool_unlock,
 };
 
-int rtdev_init(struct rtnet_device *rtdev, unsigned dev_pool_size)
+static int rtdev_init(struct rtnet_device *rtdev, unsigned dev_pool_size)
 {
 	int ret;
 
@@ -259,7 +259,6 @@ int rtdev_init(struct rtnet_device *rtdev, unsigned dev_pool_size)
 
 	return 0;
 }
-EXPORT_SYMBOL_GPL(rtdev_init);
 
 void rtdev_destroy(struct rtnet_device *rtdev)
 {
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 21/25] drivers/net/e1000: Move e1000_check_options prototype to a header
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (19 preceding siblings ...)
  2024-03-26  6:30 ` [PATCH 20/25] drivers/net: Make rtdev_init private Jan Kiszka
@ 2024-03-26  6:31 ` Jan Kiszka
  2024-03-26  6:31 ` [PATCH 22/25] drivers/net: Make private functions static Jan Kiszka
                   ` (3 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:31 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/net/drivers/e1000/e1000.h      | 2 ++
 kernel/drivers/net/drivers/e1000/e1000_main.c | 8 --------
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/kernel/drivers/net/drivers/e1000/e1000.h b/kernel/drivers/net/drivers/e1000/e1000.h
index 44f1efa9a3..978b6ea9cd 100644
--- a/kernel/drivers/net/drivers/e1000/e1000.h
+++ b/kernel/drivers/net/drivers/e1000/e1000.h
@@ -388,4 +388,6 @@ enum e1000_state_t {
 	__E1000_DRIVER_TESTING,
 	__E1000_RESETTING,
 };
+
+void e1000_check_options(struct e1000_adapter *adapter);
 #endif /* _E1000_H_ */
diff --git a/kernel/drivers/net/drivers/e1000/e1000_main.c b/kernel/drivers/net/drivers/e1000/e1000_main.c
index 726b38ab87..bf4fadba9f 100644
--- a/kernel/drivers/net/drivers/e1000/e1000_main.c
+++ b/kernel/drivers/net/drivers/e1000/e1000_main.c
@@ -223,14 +223,6 @@ static void e1000_smartspeed(struct e1000_adapter *adapter);
 static int e1000_82547_fifo_workaround(struct e1000_adapter *adapter,
 				       struct rtskb *skb);
 
-
-
-
-
-/* Exported from other modules */
-
-extern void e1000_check_options(struct e1000_adapter *adapter);
-
 static struct pci_driver e1000_driver = {
 	.name     = e1000_driver_name,
 	.id_table = e1000_pci_tbl,
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 22/25] drivers/net: Make private functions static
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (20 preceding siblings ...)
  2024-03-26  6:31 ` [PATCH 21/25] drivers/net/e1000: Move e1000_check_options prototype to a header Jan Kiszka
@ 2024-03-26  6:31 ` Jan Kiszka
  2024-03-26  6:31 ` [PATCH 23/25] drivers/serial: " Jan Kiszka
                   ` (2 subsequent siblings)
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:31 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/net/addons/cap.c               | 15 +++++-----
 kernel/drivers/net/drivers/e1000e/netdev.c    |  4 +--
 .../drivers/experimental/rt2500/rt2500pci.c   | 17 ++++++-----
 kernel/drivers/net/drivers/igc/igc_main.c     |  8 ++---
 kernel/drivers/net/drivers/r8169.c            |  4 +--
 kernel/drivers/net/drivers/via-rhine.c        |  2 +-
 kernel/drivers/net/stack/ipv4/arp.c           |  2 +-
 kernel/drivers/net/stack/ipv4/icmp.c          |  8 ++---
 kernel/drivers/net/stack/ipv4/ip_output.c     | 12 ++++----
 kernel/drivers/net/stack/ipv4/ip_sock.c       | 20 ++++++++-----
 kernel/drivers/net/stack/ipv4/tcp/tcp.c       |  4 +--
 kernel/drivers/net/stack/ipv4/udp/udp.c       | 30 ++++++++++---------
 kernel/drivers/net/stack/rtcfg/rtcfg_frame.c  |  4 +--
 kernel/drivers/net/stack/rtcfg/rtcfg_ioctl.c  | 24 +++++++--------
 kernel/drivers/net/stack/rtcfg/rtcfg_module.c |  4 +--
 kernel/drivers/net/stack/rtcfg/rtcfg_proc.c   | 14 +++++----
 kernel/drivers/net/stack/rtcfg/rtcfg_timer.c  |  2 +-
 kernel/drivers/net/stack/rtdev.c              |  3 +-
 .../net/stack/rtmac/nomac/nomac_module.c      | 10 +++----
 .../net/stack/rtmac/nomac/nomac_proto.c       |  2 +-
 kernel/drivers/net/stack/rtmac/rtmac_module.c |  4 +--
 kernel/drivers/net/stack/rtmac/rtmac_proto.c  |  2 +-
 .../drivers/net/stack/rtmac/tdma/tdma_ioctl.c |  6 ++--
 .../net/stack/rtmac/tdma/tdma_module.c        | 12 ++++----
 kernel/drivers/net/stack/rtnet_module.c       |  4 +--
 kernel/drivers/net/stack/rtwlan.c             |  4 +--
 26 files changed, 116 insertions(+), 105 deletions(-)

diff --git a/kernel/drivers/net/addons/cap.c b/kernel/drivers/net/addons/cap.c
index 3784b65226..27d90f3cab 100644
--- a/kernel/drivers/net/addons/cap.c
+++ b/kernel/drivers/net/addons/cap.c
@@ -55,7 +55,7 @@ static struct tap_device_t {
 	int (*orig_xmit)(struct rtskb *skb, struct rtnet_device *dev);
 } tap_device[MAX_RT_DEVICES];
 
-void rtcap_rx_hook(struct rtskb *rtskb)
+static void rtcap_rx_hook(struct rtskb *rtskb)
 {
 	bool			trigger = false;
 
@@ -78,7 +78,7 @@ void rtcap_rx_hook(struct rtskb *rtskb)
 		rtdm_nrtsig_pend(&cap_signal);
 }
 
-int rtcap_xmit_hook(struct rtskb *rtskb, struct rtnet_device *rtdev)
+static int rtcap_xmit_hook(struct rtskb *rtskb, struct rtnet_device *rtdev)
 {
 	struct tap_device_t *tap_dev = &tap_device[rtskb->rtdev->ifindex];
 	rtdm_lockctx_t context;
@@ -113,7 +113,8 @@ int rtcap_xmit_hook(struct rtskb *rtskb, struct rtnet_device *rtdev)
 	return tap_dev->orig_xmit(rtskb, rtdev);
 }
 
-int rtcap_loopback_xmit_hook(struct rtskb *rtskb, struct rtnet_device *rtdev)
+static int rtcap_loopback_xmit_hook(struct rtskb *rtskb,
+				    struct rtnet_device *rtdev)
 {
 	struct tap_device_t *tap_dev = &tap_device[rtskb->rtdev->ifindex];
 
@@ -122,7 +123,7 @@ int rtcap_loopback_xmit_hook(struct rtskb *rtskb, struct rtnet_device *rtdev)
 	return tap_dev->orig_xmit(rtskb, rtdev);
 }
 
-void rtcap_kfree_rtskb(struct rtskb *rtskb)
+static void rtcap_kfree_rtskb(struct rtskb *rtskb)
 {
 	rtdm_lockctx_t context;
 	struct rtskb *comp_skb;
@@ -310,7 +311,7 @@ static void tap_dev_setup(struct net_device *dev)
 	dev->flags &= ~IFF_MULTICAST;
 }
 
-void cleanup_tap_devices(void)
+static void cleanup_tap_devices(void)
 {
 	int i;
 	struct rtnet_device *rtdev;
@@ -342,7 +343,7 @@ void cleanup_tap_devices(void)
 		}
 }
 
-int __init rtcap_init(void)
+static int __init rtcap_init(void)
 {
 	struct rtnet_device *rtdev;
 	struct net_device *dev;
@@ -476,7 +477,7 @@ error2:
 	return ret;
 }
 
-void rtcap_cleanup(void)
+static void rtcap_cleanup(void)
 {
 	rtdm_lockctx_t context;
 
diff --git a/kernel/drivers/net/drivers/e1000e/netdev.c b/kernel/drivers/net/drivers/e1000e/netdev.c
index ea2f65d129..dab8e9b7f3 100644
--- a/kernel/drivers/net/drivers/e1000e/netdev.c
+++ b/kernel/drivers/net/drivers/e1000e/netdev.c
@@ -472,14 +472,14 @@ exit:
 	return;
 }
 
-void e1000e_mod_watchdog_timer(rtdm_nrtsig_t *nrt_sig, void *data)
+static void e1000e_mod_watchdog_timer(rtdm_nrtsig_t *nrt_sig, void *data)
 {
 	struct timer_list *timer = data;
 
 	mod_timer(timer, jiffies + 1);
 }
 
-void e1000e_trigger_downshift(rtdm_nrtsig_t *nrt_sig, void *data)
+static void e1000e_trigger_downshift(rtdm_nrtsig_t *nrt_sig, void *data)
 {
 	struct work_struct *downshift_task = data;
 
diff --git a/kernel/drivers/net/drivers/experimental/rt2500/rt2500pci.c b/kernel/drivers/net/drivers/experimental/rt2500/rt2500pci.c
index 9bbdce7fde..c89837a031 100644
--- a/kernel/drivers/net/drivers/experimental/rt2500/rt2500pci.c
+++ b/kernel/drivers/net/drivers/experimental/rt2500/rt2500pci.c
@@ -166,7 +166,7 @@ static void rt2x00_interrupt_rxdone(struct _data_ring *ring,
 	}
 }
 
-int rt2x00_interrupt(rtdm_irq_t *irq_handle)
+static int rt2x00_interrupt(rtdm_irq_t *irq_handle)
 {
 	nanosecs_abs_t time_stamp = rtdm_clock_read();
 
@@ -215,8 +215,8 @@ int rt2x00_interrupt(rtdm_irq_t *irq_handle)
 	return RTDM_IRQ_HANDLED;
 }
 
-void rt2x00_init_eeprom(struct _rt2x00_pci *rt2x00pci,
-			struct _rt2x00_config *config)
+static void rt2x00_init_eeprom(struct _rt2x00_pci *rt2x00pci,
+			       struct _rt2x00_config *config)
 {
 	u32 reg = 0x00000000;
 	u16 eeprom = 0x0000;
@@ -256,8 +256,8 @@ void rt2x00_init_eeprom(struct _rt2x00_pci *rt2x00pci,
 			rt2x00pci, EEPROM_BBP_START + eeprom);
 }
 
-void rt2x00_dev_read_mac(struct _rt2x00_pci *rt2x00pci,
-			 struct rtnet_device *rtnet_dev)
+static void rt2x00_dev_read_mac(struct _rt2x00_pci *rt2x00pci,
+				struct rtnet_device *rtnet_dev)
 {
 	u32 reg[2];
 
@@ -275,7 +275,7 @@ void rt2x00_dev_read_mac(struct _rt2x00_pci *rt2x00pci,
 	rtnet_dev->addr_len = 6;
 }
 
-int rt2x00_dev_probe(struct _rt2x00_core *core, void *priv)
+static int rt2x00_dev_probe(struct _rt2x00_core *core, void *priv)
 {
 	struct pci_dev *pci_dev = (struct pci_dev *)priv;
 	struct _rt2x00_pci *rt2x00pci = core->priv;
@@ -304,7 +304,7 @@ int rt2x00_dev_probe(struct _rt2x00_core *core, void *priv)
 	return 0;
 }
 
-int rt2x00_dev_remove(struct _rt2x00_core *core)
+static int rt2x00_dev_remove(struct _rt2x00_core *core)
 {
 	struct _rt2x00_pci *rt2x00pci = rt2x00_priv(core);
 
@@ -1163,7 +1163,8 @@ static struct _rt2x00_dev_handler rt2x00_pci_handler = {
 	.dev_xmit_packet = rt2x00_dev_xmit_packet,
 };
 
-int rt2x00_pci_probe(struct pci_dev *pci_dev, const struct pci_device_id *id)
+static int rt2x00_pci_probe(struct pci_dev *pci_dev,
+			    const struct pci_device_id *id)
 {
 	struct rtnet_device *rtnet_dev = NULL;
 	int status = 0x00000000;
diff --git a/kernel/drivers/net/drivers/igc/igc_main.c b/kernel/drivers/net/drivers/igc/igc_main.c
index 1373412287..fcd08335fa 100644
--- a/kernel/drivers/net/drivers/igc/igc_main.c
+++ b/kernel/drivers/net/drivers/igc/igc_main.c
@@ -229,8 +229,8 @@ static void igc_get_hw_control(struct igc_adapter *adapter)
 	     ctrl_ext | IGC_CTRL_EXT_DRV_LOAD);
 }
 
-void igc_unmap_and_free_tx_resource(struct igc_ring *ring,
-				    struct igc_tx_buffer *tx_buffer)
+static void igc_unmap_and_free_tx_resource(struct igc_ring *ring,
+					   struct igc_tx_buffer *tx_buffer)
 {
 	if (tx_buffer->skb) {
 		kfree_rtskb(tx_buffer->skb);
@@ -3434,7 +3434,7 @@ static int igc_ptp_set_timestamp_mode(struct igc_adapter *adapter,
  * @ifr: interface request data
  *
  **/
-int igc_ptp_set_ts_config(struct rtnet_device *netdev, struct ifreq *ifr)
+static int igc_ptp_set_ts_config(struct rtnet_device *netdev, struct ifreq *ifr)
 {
 	struct igc_adapter *adapter = rtnetdev_priv(netdev);
 	struct hwtstamp_config config;
@@ -3464,7 +3464,7 @@ int igc_ptp_set_ts_config(struct rtnet_device *netdev, struct ifreq *ifr)
  * to deconstruct the settings from the registers, just return a shadow copy
  * of the last known settings.
  **/
-int igc_ptp_get_ts_config(struct rtnet_device *netdev, struct ifreq *ifr)
+static int igc_ptp_get_ts_config(struct rtnet_device *netdev, struct ifreq *ifr)
 {
 	struct igc_adapter *adapter = rtnetdev_priv(netdev);
 	struct hwtstamp_config *config = &adapter->tstamp_config;
diff --git a/kernel/drivers/net/drivers/r8169.c b/kernel/drivers/net/drivers/r8169.c
index 7f280dd765..bbc5bc803a 100644
--- a/kernel/drivers/net/drivers/r8169.c
+++ b/kernel/drivers/net/drivers/r8169.c
@@ -510,7 +510,7 @@ unsigned alloc_rxskb_cnt = 0;
 //	20-16	5-bit GMII/MII register address
 //	15-0	16-bit GMII/MII register data
 //=================================================================
-void RTL8169_WRITE_GMII_REG( unsigned long ioaddr, int RegAddr, int value )
+static void RTL8169_WRITE_GMII_REG( unsigned long ioaddr, int RegAddr, int value )
 {
 	int	i;
 
@@ -528,7 +528,7 @@ void RTL8169_WRITE_GMII_REG( unsigned long ioaddr, int RegAddr, int value )
 	}// end of for() loop
 }
 //=================================================================
-int RTL8169_READ_GMII_REG( unsigned long ioaddr, int RegAddr )
+static int RTL8169_READ_GMII_REG( unsigned long ioaddr, int RegAddr )
 {
 	int i, value = -1;
 
diff --git a/kernel/drivers/net/drivers/via-rhine.c b/kernel/drivers/net/drivers/via-rhine.c
index 192f02eb6f..8407ab54af 100644
--- a/kernel/drivers/net/drivers/via-rhine.c
+++ b/kernel/drivers/net/drivers/via-rhine.c
@@ -937,7 +937,7 @@ static int alloc_ring(struct rtnet_device* dev) /*** RTnet ***/
 	return 0;
 }
 
-void free_ring(struct rtnet_device* dev) /*** RTnet ***/
+static void free_ring(struct rtnet_device* dev) /*** RTnet ***/
 {
 	struct netdev_private *np = dev->priv;
 
diff --git a/kernel/drivers/net/stack/ipv4/arp.c b/kernel/drivers/net/stack/ipv4/arp.c
index 91c151e900..45c1ddf120 100644
--- a/kernel/drivers/net/stack/ipv4/arp.c
+++ b/kernel/drivers/net/stack/ipv4/arp.c
@@ -106,7 +106,7 @@ out:
 /***
  *  arp_rcv:    Receive an arp request by the device layer.
  */
-int rt_arp_rcv(struct rtskb *skb, struct rtpacket_type *pt)
+static int rt_arp_rcv(struct rtskb *skb, struct rtpacket_type *pt)
 {
 	struct rtnet_device *rtdev = skb->rtdev;
 	struct arphdr *arp = skb->nh.arph;
diff --git a/kernel/drivers/net/stack/ipv4/icmp.c b/kernel/drivers/net/stack/ipv4/icmp.c
index cdd22beb3a..c3b80b18d0 100644
--- a/kernel/drivers/net/stack/ipv4/icmp.c
+++ b/kernel/drivers/net/stack/ipv4/icmp.c
@@ -362,7 +362,7 @@ int rt_icmp_send_echo(u32 daddr, u16 id, u16 sequence, size_t msg_size)
 /***
  *  rt_icmp_socket
  */
-int rt_icmp_socket(struct rtdm_fd *fd)
+static int rt_icmp_socket(struct rtdm_fd *fd)
 {
 	/* we don't support user-created ICMP sockets */
 	return -ENOPROTOOPT;
@@ -418,7 +418,7 @@ static struct rt_icmp_control rt_icmp_pointers[NR_ICMP_TYPES + 1] = {
 /***
  *  rt_icmp_dest_pool
  */
-struct rtsocket *rt_icmp_dest_socket(struct rtskb *skb)
+static struct rtsocket *rt_icmp_dest_socket(struct rtskb *skb)
 {
 	rt_socket_reference(icmp_socket);
 	skb->sk = icmp_socket;
@@ -428,7 +428,7 @@ struct rtsocket *rt_icmp_dest_socket(struct rtskb *skb)
 /***
  *  rt_icmp_rcv
  */
-void rt_icmp_rcv(struct rtskb *skb)
+static void rt_icmp_rcv(struct rtskb *skb)
 {
 	struct icmphdr *icmpHdr = skb->h.icmph;
 	unsigned int length = skb->len;
@@ -465,7 +465,7 @@ cleanup:
 /***
  *  rt_icmp_rcv_err
  */
-void rt_icmp_rcv_err(struct rtskb *skb)
+static void rt_icmp_rcv_err(struct rtskb *skb)
 {
 	rtdm_printk("RTnet: rt_icmp_rcv err\n");
 }
diff --git a/kernel/drivers/net/stack/ipv4/ip_output.c b/kernel/drivers/net/stack/ipv4/ip_output.c
index ccec6d5f11..91d592b5f0 100644
--- a/kernel/drivers/net/stack/ipv4/ip_output.c
+++ b/kernel/drivers/net/stack/ipv4/ip_output.c
@@ -38,12 +38,12 @@ static u16 rt_ip_id_count = 0;
 /***
  *  Slow path for fragmented packets
  */
-int rt_ip_build_xmit_slow(struct rtsocket *sk,
-			  int getfrag(const void *, unsigned char *,
-				      unsigned int, unsigned int),
-			  const void *frag, unsigned length,
-			  struct dest_route *rt, int msg_flags,
-			  unsigned int mtu, unsigned int prio)
+static int rt_ip_build_xmit_slow(struct rtsocket *sk,
+				 int getfrag(const void *, unsigned char *,
+					     unsigned int, unsigned int),
+				 const void *frag, unsigned length,
+				 struct dest_route *rt, int msg_flags,
+				 unsigned int mtu, unsigned int prio)
 {
 	int err, next_err;
 	struct rtskb *skb;
diff --git a/kernel/drivers/net/stack/ipv4/ip_sock.c b/kernel/drivers/net/stack/ipv4/ip_sock.c
index ea15d2f05a..87908ac2d0 100644
--- a/kernel/drivers/net/stack/ipv4/ip_sock.c
+++ b/kernel/drivers/net/stack/ipv4/ip_sock.c
@@ -29,8 +29,9 @@
 #include <rtnet_socket.h>
 #include <ipv4/ip_sock.h>
 
-int rt_ip_setsockopt(struct rtdm_fd *fd, struct rtsocket *s, int level,
-		     int optname, const void __user *optval, socklen_t optlen)
+static int rt_ip_setsockopt(struct rtdm_fd *fd, struct rtsocket *s, int level,
+			    int optname, const void __user *optval,
+			    socklen_t optlen)
 {
 	int err = 0;
 	unsigned int _tos, *tos;
@@ -58,8 +59,9 @@ int rt_ip_setsockopt(struct rtdm_fd *fd, struct rtsocket *s, int level,
 	return err;
 }
 
-int rt_ip_getsockopt(struct rtdm_fd *fd, struct rtsocket *s, int level,
-		     int optname, void __user *optval, socklen_t __user *optlen)
+static int rt_ip_getsockopt(struct rtdm_fd *fd, struct rtsocket *s, int level,
+			    int optname, void __user *optval,
+			    socklen_t __user *optlen)
 {
 	int err = 0;
 	unsigned int tos;
@@ -90,8 +92,9 @@ int rt_ip_getsockopt(struct rtdm_fd *fd, struct rtsocket *s, int level,
 	return err;
 }
 
-int rt_ip_getsockname(struct rtdm_fd *fd, struct rtsocket *s,
-		      struct sockaddr __user *addr, socklen_t __user *addrlen)
+static int rt_ip_getsockname(struct rtdm_fd *fd, struct rtsocket *s,
+			     struct sockaddr __user *addr,
+			     socklen_t __user *addrlen)
 {
 	struct sockaddr_in _sin;
 	socklen_t *len, _len;
@@ -118,8 +121,9 @@ int rt_ip_getsockname(struct rtdm_fd *fd, struct rtsocket *s,
 	return ret;
 }
 
-int rt_ip_getpeername(struct rtdm_fd *fd, struct rtsocket *s,
-		      struct sockaddr __user *addr, socklen_t __user *addrlen)
+static int rt_ip_getpeername(struct rtdm_fd *fd, struct rtsocket *s,
+			     struct sockaddr __user *addr,
+			     socklen_t __user *addrlen)
 {
 	struct sockaddr_in _sin;
 	socklen_t *len, _len;
diff --git a/kernel/drivers/net/stack/ipv4/tcp/tcp.c b/kernel/drivers/net/stack/ipv4/tcp/tcp.c
index 5bd1145301..8e174507cd 100644
--- a/kernel/drivers/net/stack/ipv4/tcp/tcp.c
+++ b/kernel/drivers/net/stack/ipv4/tcp/tcp.c
@@ -2395,7 +2395,7 @@ static void rt_tcp_proc_unregister(void)
 /***
  *  rt_tcp_init
  */
-int __init rt_tcp_init(void)
+static int __init rt_tcp_init(void)
 {
 	unsigned int skbs;
 	int i;
@@ -2465,7 +2465,7 @@ out_1:
 /***
  *  rt_tcp_release
  */
-void __exit rt_tcp_release(void)
+static void __exit rt_tcp_release(void)
 {
 	rt_inet_del_protocol(&tcp_protocol);
 
diff --git a/kernel/drivers/net/stack/ipv4/udp/udp.c b/kernel/drivers/net/stack/ipv4/udp/udp.c
index 777c8a27ac..8ace7af064 100644
--- a/kernel/drivers/net/stack/ipv4/udp/udp.c
+++ b/kernel/drivers/net/stack/ipv4/udp/udp.c
@@ -151,8 +151,8 @@ static inline struct rtsocket *rt_udp_v4_lookup(u32 daddr, u16 dport)
  *  @s:     socket
  *  @addr:  local address
  */
-int rt_udp_bind(struct rtdm_fd *fd, struct rtsocket *sock,
-		const struct sockaddr __user *addr, socklen_t addrlen)
+static int rt_udp_bind(struct rtdm_fd *fd, struct rtsocket *sock,
+		       const struct sockaddr __user *addr, socklen_t addrlen)
 {
 	struct sockaddr_in _sin, *sin;
 	rtdm_lockctx_t context;
@@ -206,8 +206,9 @@ unlock_out:
 /***
  *  rt_udp_connect
  */
-int rt_udp_connect(struct rtdm_fd *fd, struct rtsocket *sock,
-		   const struct sockaddr __user *serv_addr, socklen_t addrlen)
+static int rt_udp_connect(struct rtdm_fd *fd, struct rtsocket *sock,
+			  const struct sockaddr __user *serv_addr,
+			  socklen_t addrlen)
 {
 	struct sockaddr _sa, *sa;
 	struct sockaddr_in _sin, *sin;
@@ -271,7 +272,7 @@ int rt_udp_connect(struct rtdm_fd *fd, struct rtsocket *sock,
  *  rt_udp_socket - create a new UDP-Socket
  *  @s: socket
  */
-int rt_udp_socket(struct rtdm_fd *fd)
+static int rt_udp_socket(struct rtdm_fd *fd)
 {
 	struct rtsocket *sock = rtdm_fd_to_private(fd);
 	int ret;
@@ -319,7 +320,7 @@ int rt_udp_socket(struct rtdm_fd *fd)
 /***
  *  rt_udp_close
  */
-void rt_udp_close(struct rtdm_fd *fd)
+static void rt_udp_close(struct rtdm_fd *fd)
 {
 	struct rtsocket *sock = rtdm_fd_to_private(fd);
 	struct rtskb *del;
@@ -353,7 +354,8 @@ void rt_udp_close(struct rtdm_fd *fd)
 	rt_socket_cleanup(fd);
 }
 
-int rt_udp_ioctl(struct rtdm_fd *fd, unsigned int request, void __user *arg)
+static int rt_udp_ioctl(struct rtdm_fd *fd, unsigned int request,
+			void __user *arg)
 {
 	struct rtsocket *sock = rtdm_fd_to_private(fd);
 	struct _rtdm_setsockaddr_args args;
@@ -389,8 +391,8 @@ int rt_udp_ioctl(struct rtdm_fd *fd, unsigned int request, void __user *arg)
 /***
  *  rt_udp_recvmsg
  */
-ssize_t rt_udp_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg,
-		       int msg_flags)
+static ssize_t rt_udp_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg,
+			      int msg_flags)
 {
 	struct rtsocket *sock = rtdm_fd_to_private(fd);
 	size_t len;
@@ -571,8 +573,8 @@ static int rt_udp_getfrag(const void *p, unsigned char *to, unsigned int offset,
 /***
  *  rt_udp_sendmsg
  */
-ssize_t rt_udp_sendmsg(struct rtdm_fd *fd, const struct user_msghdr *msg,
-		       int msg_flags)
+static ssize_t rt_udp_sendmsg(struct rtdm_fd *fd, const struct user_msghdr *msg,
+			      int msg_flags)
 {
 	struct rtsocket *sock = rtdm_fd_to_private(fd);
 	size_t len;
@@ -690,7 +692,7 @@ static inline unsigned short rt_udp_check(struct udphdr *uh, int len,
 	return (csum_tcpudp_magic(saddr, daddr, len, IPPROTO_UDP, base));
 }
 
-struct rtsocket *rt_udp_dest_socket(struct rtskb *skb)
+static struct rtsocket *rt_udp_dest_socket(struct rtskb *skb)
 {
 	struct udphdr *uh = skb->h.uh;
 	unsigned short ulen = ntohs(uh->len);
@@ -728,7 +730,7 @@ struct rtsocket *rt_udp_dest_socket(struct rtskb *skb)
 /***
  *  rt_udp_rcv
  */
-void rt_udp_rcv(struct rtskb *skb)
+static void rt_udp_rcv(struct rtskb *skb)
 {
 	struct rtsocket *sock = skb->sk;
 	void (*callback_func)(struct rtdm_fd *, void *);
@@ -750,7 +752,7 @@ void rt_udp_rcv(struct rtskb *skb)
 /***
  *  rt_udp_rcv_err
  */
-void rt_udp_rcv_err(struct rtskb *skb)
+static void rt_udp_rcv_err(struct rtskb *skb)
 {
 	rtdm_printk("RTnet: rt_udp_rcv err\n");
 }
diff --git a/kernel/drivers/net/stack/rtcfg/rtcfg_frame.c b/kernel/drivers/net/stack/rtcfg/rtcfg_frame.c
index ef8f0e86ca..0c8eb7a878 100644
--- a/kernel/drivers/net/stack/rtcfg/rtcfg_frame.c
+++ b/kernel/drivers/net/stack/rtcfg/rtcfg_frame.c
@@ -96,8 +96,8 @@ static void rtcfg_rx_task(void *arg)
 	}
 }
 
-int rtcfg_send_frame(struct rtskb *rtskb, struct rtnet_device *rtdev,
-		     u8 *dest_addr)
+static int rtcfg_send_frame(struct rtskb *rtskb, struct rtnet_device *rtdev,
+			    u8 *dest_addr)
 {
 	int ret;
 
diff --git a/kernel/drivers/net/stack/rtcfg/rtcfg_ioctl.c b/kernel/drivers/net/stack/rtcfg/rtcfg_ioctl.c
index 34427e74fc..c280243572 100644
--- a/kernel/drivers/net/stack/rtcfg/rtcfg_ioctl.c
+++ b/kernel/drivers/net/stack/rtcfg/rtcfg_ioctl.c
@@ -33,7 +33,7 @@
 #include <rtcfg/rtcfg_frame.h>
 #include <rtcfg/rtcfg_proc.h>
 
-int rtcfg_event_handler(struct rt_proc_call *call)
+static int rtcfg_event_handler(struct rt_proc_call *call)
 {
 	struct rtcfg_cmd *cmd_event;
 
@@ -42,7 +42,7 @@ int rtcfg_event_handler(struct rt_proc_call *call)
 				   cmd_event->internal.data.event_id, call);
 }
 
-void keep_cmd_add(struct rt_proc_call *call, void *priv_data)
+static void keep_cmd_add(struct rt_proc_call *call, void *priv_data)
 {
 	/* do nothing on error (<0), or if file already present (=0) */
 	if (rtpc_get_result(call) <= 0)
@@ -52,7 +52,7 @@ void keep_cmd_add(struct rt_proc_call *call, void *priv_data)
 	rtpc_set_cleanup_handler(call, NULL);
 }
 
-void cleanup_cmd_add(void *priv_data)
+static void cleanup_cmd_add(void *priv_data)
 {
 	struct rtcfg_cmd *cmd = (struct rtcfg_cmd *)priv_data;
 	void *buf;
@@ -76,7 +76,7 @@ void cleanup_cmd_add(void *priv_data)
 	}
 }
 
-void cleanup_cmd_del(void *priv_data)
+static void cleanup_cmd_del(void *priv_data)
 {
 	struct rtcfg_cmd *cmd = (struct rtcfg_cmd *)priv_data;
 	void *buf;
@@ -99,7 +99,7 @@ void cleanup_cmd_del(void *priv_data)
 	}
 }
 
-void copy_stage_1_data(struct rt_proc_call *call, void *priv_data)
+static void copy_stage_1_data(struct rt_proc_call *call, void *priv_data)
 {
 	struct rtcfg_cmd *cmd;
 	int result = rtpc_get_result(call);
@@ -116,7 +116,7 @@ void copy_stage_1_data(struct rt_proc_call *call, void *priv_data)
 		rtpc_set_result(call, -EFAULT);
 }
 
-void cleanup_cmd_client(void *priv_data)
+static void cleanup_cmd_client(void *priv_data)
 {
 	struct rtcfg_cmd *cmd = (struct rtcfg_cmd *)priv_data;
 	void *station_buf;
@@ -131,7 +131,7 @@ void cleanup_cmd_client(void *priv_data)
 		kfree_rtskb(rtskb);
 }
 
-void copy_stage_2_data(struct rt_proc_call *call, void *priv_data)
+static void copy_stage_2_data(struct rt_proc_call *call, void *priv_data)
 {
 	struct rtcfg_cmd *cmd;
 	int result = rtpc_get_result(call);
@@ -158,7 +158,7 @@ void copy_stage_2_data(struct rt_proc_call *call, void *priv_data)
 	}
 }
 
-void cleanup_cmd_announce(void *priv_data)
+static void cleanup_cmd_announce(void *priv_data)
 {
 	struct rtcfg_cmd *cmd = (struct rtcfg_cmd *)priv_data;
 	struct rtskb *rtskb;
@@ -168,7 +168,7 @@ void cleanup_cmd_announce(void *priv_data)
 		kfree_rtskb(rtskb);
 }
 
-void cleanup_cmd_detach(void *priv_data)
+static void cleanup_cmd_detach(void *priv_data)
 {
 	struct rtcfg_cmd *cmd = (struct rtcfg_cmd *)priv_data;
 	void *buf;
@@ -231,7 +231,7 @@ static int load_cfg_file(struct rtcfg_file *cfgfile, struct rtcfg_cmd *cmd)
 				sizeof(*cmd), NULL, cleanup_cmd_add);
 }
 
-int rtcfg_ioctl_add(struct rtnet_device *rtdev, struct rtcfg_cmd *cmd)
+static int rtcfg_ioctl_add(struct rtnet_device *rtdev, struct rtcfg_cmd *cmd)
 {
 	struct rtcfg_connection *conn_buf;
 	struct rtcfg_file *file = NULL;
@@ -320,8 +320,8 @@ err:
 	return ret;
 }
 
-int rtcfg_ioctl(struct rtnet_device *rtdev, unsigned int request,
-		unsigned long arg)
+static int rtcfg_ioctl(struct rtnet_device *rtdev, unsigned int request,
+		       unsigned long arg)
 {
 	struct rtcfg_cmd cmd;
 	struct rtcfg_station *station_buf;
diff --git a/kernel/drivers/net/stack/rtcfg/rtcfg_module.c b/kernel/drivers/net/stack/rtcfg/rtcfg_module.c
index 39e96b9682..5e597e8189 100644
--- a/kernel/drivers/net/stack/rtcfg/rtcfg_module.c
+++ b/kernel/drivers/net/stack/rtcfg/rtcfg_module.c
@@ -33,7 +33,7 @@
 
 MODULE_LICENSE("GPL");
 
-int __init rtcfg_init(void)
+static int __init rtcfg_init(void)
 {
 	int ret;
 
@@ -67,7 +67,7 @@ error1:
 	return ret;
 }
 
-void rtcfg_cleanup(void)
+static void rtcfg_cleanup(void)
 {
 #ifdef CONFIG_XENO_OPT_VFILE
 	rtcfg_cleanup_proc();
diff --git a/kernel/drivers/net/stack/rtcfg/rtcfg_proc.c b/kernel/drivers/net/stack/rtcfg/rtcfg_proc.c
index 2b7ad9e4be..2e138180f6 100644
--- a/kernel/drivers/net/stack/rtcfg/rtcfg_proc.c
+++ b/kernel/drivers/net/stack/rtcfg/rtcfg_proc.c
@@ -49,7 +49,8 @@ static struct xnvfile_lock_ops rtnet_rtcfg_proc_lock_ops = {
 	.put = rtnet_rtcfg_proc_lock_put,
 };
 
-int rtnet_rtcfg_dev_state_show(struct xnvfile_regular_iterator *it, void *data)
+static int rtnet_rtcfg_dev_state_show(struct xnvfile_regular_iterator *it,
+				      void *data)
 {
 	struct rtcfg_device *rtcfg_dev = xnvfile_priv(it->vfile);
 	const char *state_name[] = { "OFF",
@@ -104,7 +105,8 @@ static struct xnvfile_regular_ops rtnet_rtcfg_dev_state_vfile_ops = {
 	.show = rtnet_rtcfg_dev_state_show,
 };
 
-int rtnet_rtcfg_dev_stations_show(struct xnvfile_regular_iterator *it, void *d)
+static int rtnet_rtcfg_dev_stations_show(struct xnvfile_regular_iterator *it,
+					 void *d)
 {
 	struct rtcfg_device *rtcfg_dev = xnvfile_priv(it->vfile);
 	struct rtcfg_connection *conn;
@@ -144,8 +146,8 @@ static struct xnvfile_regular_ops rtnet_rtcfg_dev_stations_vfile_ops = {
 	.show = rtnet_rtcfg_dev_stations_show,
 };
 
-int rtnet_rtcfg_dev_conn_state_show(struct xnvfile_regular_iterator *it,
-				    void *d)
+static int rtnet_rtcfg_dev_conn_state_show(struct xnvfile_regular_iterator *it,
+					   void *d)
 {
 	struct rtcfg_connection *conn = xnvfile_priv(it->vfile);
 	char *state_name[] = { "SEARCHING", "STAGE_1", "STAGE_2", "READY",
@@ -229,7 +231,7 @@ void rtcfg_remove_conn_proc_entries(int ifindex)
 		xnvfile_destroy_regular(&conn->proc_entry);
 }
 
-void rtcfg_new_rtdev(struct rtnet_device *rtdev)
+static void rtcfg_new_rtdev(struct rtnet_device *rtdev)
 {
 	struct rtcfg_device *dev = &device[rtdev->ifindex];
 	int err;
@@ -275,7 +277,7 @@ error1:
 	mutex_unlock(&nrt_proc_lock);
 }
 
-void rtcfg_remove_rtdev(struct rtnet_device *rtdev)
+static void rtcfg_remove_rtdev(struct rtnet_device *rtdev)
 {
 	struct rtcfg_device *dev = &device[rtdev->ifindex];
 
diff --git a/kernel/drivers/net/stack/rtcfg/rtcfg_timer.c b/kernel/drivers/net/stack/rtcfg/rtcfg_timer.c
index 99baf2cd71..07212c7ba5 100644
--- a/kernel/drivers/net/stack/rtcfg/rtcfg_timer.c
+++ b/kernel/drivers/net/stack/rtcfg/rtcfg_timer.c
@@ -41,7 +41,7 @@ void rtcfg_timer(rtdm_timer_t *t)
 	rtcfg_thread_signal();
 }
 
-void rtcfg_timer_run_one(int ifindex)
+static void rtcfg_timer_run_one(int ifindex)
 {
 	struct rtcfg_device *rtcfg_dev = &device[ifindex];
 	struct list_head *entry;
diff --git a/kernel/drivers/net/stack/rtdev.c b/kernel/drivers/net/stack/rtdev.c
index a5a854a563..7c50a9e9e7 100644
--- a/kernel/drivers/net/stack/rtdev.c
+++ b/kernel/drivers/net/stack/rtdev.c
@@ -275,7 +275,8 @@ EXPORT_SYMBOL_GPL(rtdev_destroy);
  *
  *  allocate memory for a new rt-network-adapter
  */
-struct rtnet_device *rtdev_alloc(unsigned sizeof_priv, unsigned dev_pool_size)
+static struct rtnet_device *rtdev_alloc(unsigned sizeof_priv,
+					unsigned dev_pool_size)
 {
 	struct rtnet_device *rtdev;
 	unsigned alloc_size;
diff --git a/kernel/drivers/net/stack/rtmac/nomac/nomac_module.c b/kernel/drivers/net/stack/rtmac/nomac/nomac_module.c
index c26a6c4278..1a36e33636 100644
--- a/kernel/drivers/net/stack/rtmac/nomac/nomac_module.c
+++ b/kernel/drivers/net/stack/rtmac/nomac/nomac_module.c
@@ -36,7 +36,7 @@
 LIST_HEAD(nomac_devices);
 DEFINE_MUTEX(nomac_nrt_lock);
 
-int nomac_proc_read(struct xnvfile_regular_iterator *it, void *data)
+static int nomac_proc_read(struct xnvfile_regular_iterator *it, void *data)
 {
 	struct nomac_priv *entry;
 
@@ -54,7 +54,7 @@ int nomac_proc_read(struct xnvfile_regular_iterator *it, void *data)
 }
 #endif /* CONFIG_XENO_OPT_VFILE */
 
-int nomac_attach(struct rtnet_device *rtdev, void *priv)
+static int nomac_attach(struct rtnet_device *rtdev, void *priv)
 {
 	struct nomac_priv *nomac = (struct nomac_priv *)priv;
 	int ret;
@@ -77,7 +77,7 @@ int nomac_attach(struct rtnet_device *rtdev, void *priv)
 	return 0;
 }
 
-int nomac_detach(struct rtnet_device *rtdev, void *priv)
+static int nomac_detach(struct rtnet_device *rtdev, void *priv)
 {
 	struct nomac_priv *nomac = (struct nomac_priv *)priv;
 
@@ -127,7 +127,7 @@ struct rtmac_disc nomac_disc = {
 #endif /* CONFIG_XENO_OPT_VFILE */
 };
 
-int __init nomac_init(void)
+static int __init nomac_init(void)
 {
 	int ret;
 
@@ -146,7 +146,7 @@ int __init nomac_init(void)
 	return 0;
 }
 
-void nomac_release(void)
+static void nomac_release(void)
 {
 	rtmac_disc_deregister(&nomac_disc);
 	nomac_proto_cleanup();
diff --git a/kernel/drivers/net/stack/rtmac/nomac/nomac_proto.c b/kernel/drivers/net/stack/rtmac/nomac/nomac_proto.c
index c13c8ccf05..e9842ac5e8 100644
--- a/kernel/drivers/net/stack/rtmac/nomac/nomac_proto.c
+++ b/kernel/drivers/net/stack/rtmac/nomac/nomac_proto.c
@@ -76,7 +76,7 @@ int nomac_nrt_packet_tx(struct rtskb *rtskb)
 	}
 }
 
-void nrt_xmit_task(void *arg)
+static void nrt_xmit_task(void *arg)
 {
 	struct rtskb *rtskb;
 	struct rtnet_device *rtdev;
diff --git a/kernel/drivers/net/stack/rtmac/rtmac_module.c b/kernel/drivers/net/stack/rtmac/rtmac_module.c
index e4013e3679..0a4e1b7502 100644
--- a/kernel/drivers/net/stack/rtmac/rtmac_module.c
+++ b/kernel/drivers/net/stack/rtmac/rtmac_module.c
@@ -30,7 +30,7 @@
 #include <rtmac/rtmac_proto.h>
 #include <rtmac/rtmac_vnic.h>
 
-int __init rtmac_init(void)
+static int __init rtmac_init(void)
 {
 	int ret = 0;
 
@@ -62,7 +62,7 @@ error1:
 	return ret;
 }
 
-void rtmac_release(void)
+static void rtmac_release(void)
 {
 	rtmac_proto_release();
 	rtmac_vnic_module_cleanup();
diff --git a/kernel/drivers/net/stack/rtmac/rtmac_proto.c b/kernel/drivers/net/stack/rtmac/rtmac_proto.c
index 55e11650e6..5d9d834a13 100644
--- a/kernel/drivers/net/stack/rtmac/rtmac_proto.c
+++ b/kernel/drivers/net/stack/rtmac/rtmac_proto.c
@@ -28,7 +28,7 @@
 #include <rtmac/rtmac_proto.h>
 #include <rtmac/rtmac_vnic.h>
 
-int rtmac_proto_rx(struct rtskb *skb, struct rtpacket_type *pt)
+static int rtmac_proto_rx(struct rtskb *skb, struct rtpacket_type *pt)
 {
 	struct rtmac_disc *disc = skb->rtdev->mac_disc;
 	struct rtmac_hdr *hdr;
diff --git a/kernel/drivers/net/stack/rtmac/tdma/tdma_ioctl.c b/kernel/drivers/net/stack/rtmac/tdma/tdma_ioctl.c
index f0fa353803..02230064d7 100644
--- a/kernel/drivers/net/stack/rtmac/tdma/tdma_ioctl.c
+++ b/kernel/drivers/net/stack/rtmac/tdma/tdma_ioctl.c
@@ -202,7 +202,7 @@ static int tdma_ioctl_cal_result_size(struct rtnet_device *rtdev,
 		return 0;
 }
 
-int start_calibration(struct rt_proc_call *call)
+static int start_calibration(struct rt_proc_call *call)
 {
 	struct tdma_request_cal *req_cal;
 	struct tdma_priv *tdma;
@@ -221,7 +221,7 @@ int start_calibration(struct rt_proc_call *call)
 	return -CALL_PENDING;
 }
 
-void copyback_calibration(struct rt_proc_call *call, void *priv_data)
+static void copyback_calibration(struct rt_proc_call *call, void *priv_data)
 {
 	struct tdma_request_cal *req_cal;
 	struct tdma_priv *tdma;
@@ -260,7 +260,7 @@ void copyback_calibration(struct rt_proc_call *call, void *priv_data)
 	       (unsigned long)average, (unsigned long)min, (unsigned long)max);
 }
 
-void cleanup_calibration(void *priv_data)
+static void cleanup_calibration(void *priv_data)
 {
 	struct tdma_request_cal *req_cal;
 
diff --git a/kernel/drivers/net/stack/rtmac/tdma/tdma_module.c b/kernel/drivers/net/stack/rtmac/tdma/tdma_module.c
index e25ad532a2..2269fa2d9f 100644
--- a/kernel/drivers/net/stack/rtmac/tdma/tdma_module.c
+++ b/kernel/drivers/net/stack/rtmac/tdma/tdma_module.c
@@ -37,7 +37,7 @@
 #include <rtmac/tdma/tdma_worker.h>
 
 #ifdef CONFIG_XENO_OPT_VFILE
-int tdma_proc_read(struct xnvfile_regular_iterator *it, void *data)
+static int tdma_proc_read(struct xnvfile_regular_iterator *it, void *data)
 {
 	int d, err = 0;
 	struct rtnet_device *rtdev;
@@ -101,7 +101,7 @@ int tdma_proc_read(struct xnvfile_regular_iterator *it, void *data)
 	return err;
 }
 
-int tdma_slots_proc_read(struct xnvfile_regular_iterator *it, void *data)
+static int tdma_slots_proc_read(struct xnvfile_regular_iterator *it, void *data)
 {
 	int d, i, err = 0;
 	struct rtnet_device *rtdev;
@@ -183,7 +183,7 @@ int tdma_slots_proc_read(struct xnvfile_regular_iterator *it, void *data)
 }
 #endif /* CONFIG_XENO_OPT_VFILE */
 
-int tdma_attach(struct rtnet_device *rtdev, void *priv)
+static int tdma_attach(struct rtnet_device *rtdev, void *priv)
 {
 	struct tdma_priv *tdma = (struct tdma_priv *)priv;
 	int ret;
@@ -221,7 +221,7 @@ err_out1:
 	return ret;
 }
 
-int tdma_detach(struct rtnet_device *rtdev, void *priv)
+static int tdma_detach(struct rtnet_device *rtdev, void *priv)
 {
 	struct tdma_priv *tdma = (struct tdma_priv *)priv;
 	struct tdma_job *job, *tmp;
@@ -289,7 +289,7 @@ struct rtmac_disc tdma_disc = {
 #endif /* CONFIG_XENO_OPT_VFILE */
 };
 
-int __init tdma_init(void)
+static int __init tdma_init(void)
 {
 	int ret;
 
@@ -303,7 +303,7 @@ int __init tdma_init(void)
 	return 0;
 }
 
-void tdma_release(void)
+static void tdma_release(void)
 {
 	rtmac_disc_deregister(&tdma_disc);
 
diff --git a/kernel/drivers/net/stack/rtnet_module.c b/kernel/drivers/net/stack/rtnet_module.c
index f16becafef..c245502cd0 100644
--- a/kernel/drivers/net/stack/rtnet_module.c
+++ b/kernel/drivers/net/stack/rtnet_module.c
@@ -315,7 +315,7 @@ static void rtnet_proc_unregister(void)
 /**
  *  rtnet_init()
  */
-int __init rtnet_init(void)
+static int __init rtnet_init(void)
 {
 	int err = 0;
 
@@ -388,7 +388,7 @@ err_out1:
 /**
  *  rtnet_release()
  */
-void __exit rtnet_release(void)
+static void __exit rtnet_release(void)
 {
 	rtnet_corectl_unregister();
 
diff --git a/kernel/drivers/net/stack/rtwlan.c b/kernel/drivers/net/stack/rtwlan.c
index 26e9262090..6b2644825b 100644
--- a/kernel/drivers/net/stack/rtwlan.c
+++ b/kernel/drivers/net/stack/rtwlan.c
@@ -116,8 +116,8 @@ struct rtnet_device *rtwlan_alloc_dev(unsigned sizeof_priv,
 
 EXPORT_SYMBOL_GPL(rtwlan_alloc_dev);
 
-int rtwlan_ioctl(struct rtnet_device *rtdev, unsigned int request,
-		 unsigned long arg)
+static int rtwlan_ioctl(struct rtnet_device *rtdev, unsigned int request,
+			unsigned long arg)
 {
 	struct rtwlan_cmd cmd;
 	struct ifreq ifr;
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 23/25] drivers/serial: Make private functions static
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (21 preceding siblings ...)
  2024-03-26  6:31 ` [PATCH 22/25] drivers/net: Make private functions static Jan Kiszka
@ 2024-03-26  6:31 ` Jan Kiszka
  2024-03-26  6:31 ` [PATCH 24/25] drivers/spi: Use spi_get_chipselect/gpiod Jan Kiszka
  2024-03-26  6:31 ` [PATCH 25/25] drivers/testing: Make private functions static Jan Kiszka
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:31 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/serial/16550A.c      | 18 +++++++++---------
 kernel/drivers/serial/rt_imx_uart.c |  6 +++---
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/kernel/drivers/serial/16550A.c b/kernel/drivers/serial/16550A.c
index c9274fb191..f8faa9def9 100644
--- a/kernel/drivers/serial/16550A.c
+++ b/kernel/drivers/serial/16550A.c
@@ -428,7 +428,7 @@ static int rt_16550_set_config(struct rt_16550_context *ctx,
 	return err;
 }
 
-void rt_16550_cleanup_ctx(struct rt_16550_context *ctx)
+static void rt_16550_cleanup_ctx(struct rt_16550_context *ctx)
 {
 	rtdm_event_destroy(&ctx->in_event);
 	rtdm_event_destroy(&ctx->out_event);
@@ -436,7 +436,7 @@ void rt_16550_cleanup_ctx(struct rt_16550_context *ctx)
 	rtdm_mutex_destroy(&ctx->out_lock);
 }
 
-int rt_16550_open(struct rtdm_fd *fd, int oflags)
+static int rt_16550_open(struct rtdm_fd *fd, int oflags)
 {
 	struct rt_16550_context *ctx;
 	int dev_id = rtdm_fd_minor(fd);
@@ -500,7 +500,7 @@ int rt_16550_open(struct rtdm_fd *fd, int oflags)
 	return 0;
 }
 
-void rt_16550_close(struct rtdm_fd *fd)
+static void rt_16550_close(struct rtdm_fd *fd)
 {
 	struct rt_16550_context *ctx;
 	unsigned long base;
@@ -536,7 +536,7 @@ void rt_16550_close(struct rtdm_fd *fd)
 	kfree(in_history);
 }
 
-int rt_16550_ioctl(struct rtdm_fd *fd, unsigned int request, void *arg)
+static int rt_16550_ioctl(struct rtdm_fd *fd, unsigned int request, void *arg)
 {
 	rtdm_lockctx_t lock_ctx;
 	struct rt_16550_context *ctx;
@@ -779,7 +779,7 @@ int rt_16550_ioctl(struct rtdm_fd *fd, unsigned int request, void *arg)
 	return err;
 }
 
-ssize_t rt_16550_read(struct rtdm_fd *fd, void *buf, size_t nbyte)
+static ssize_t rt_16550_read(struct rtdm_fd *fd, void *buf, size_t nbyte)
 {
 	struct rt_16550_context *ctx;
 	rtdm_lockctx_t lock_ctx;
@@ -942,7 +942,7 @@ break_unlocked:
 	return ret;
 }
 
-ssize_t rt_16550_write(struct rtdm_fd *fd, const void *buf, size_t nbyte)
+static ssize_t rt_16550_write(struct rtdm_fd *fd, const void *buf, size_t nbyte)
 {
 	struct rt_16550_context *ctx;
 	rtdm_lockctx_t lock_ctx;
@@ -1092,9 +1092,9 @@ static struct rtdm_driver uart16550A_driver = {
 	},
 };
 
-void rt_16550_exit(void);
+static void rt_16550_exit(void);
 
-int __init rt_16550_init(void)
+static int __init rt_16550_init(void)
 {
 	struct rtdm_device *dev;
 	unsigned long base;
@@ -1169,7 +1169,7 @@ int __init rt_16550_init(void)
 	return err;
 }
 
-void rt_16550_exit(void)
+static void rt_16550_exit(void)
 {
 	int i;
 
diff --git a/kernel/drivers/serial/rt_imx_uart.c b/kernel/drivers/serial/rt_imx_uart.c
index 00fdd5f363..2b2dbeeb72 100644
--- a/kernel/drivers/serial/rt_imx_uart.c
+++ b/kernel/drivers/serial/rt_imx_uart.c
@@ -786,7 +786,7 @@ static int rt_imx_uart_set_config(struct rt_imx_uart_ctx *ctx,
 	return err;
 }
 
-void rt_imx_uart_cleanup_ctx(struct rt_imx_uart_ctx *ctx)
+static void rt_imx_uart_cleanup_ctx(struct rt_imx_uart_ctx *ctx)
 {
 	rtdm_event_destroy(&ctx->in_event);
 	rtdm_event_destroy(&ctx->out_event);
@@ -933,7 +933,7 @@ static int rt_imx_uart_open(struct rtdm_fd *fd, int oflags)
 				rtdm_fd_device(fd)->name, ctx);
 }
 
-void rt_imx_uart_close(struct rtdm_fd *fd)
+static void rt_imx_uart_close(struct rtdm_fd *fd)
 {
 	struct rt_imx_uart_port *port;
 	struct rt_imx_uart_ctx *ctx;
@@ -1198,7 +1198,7 @@ wait_unlock_out:
 	return err;
 }
 
-ssize_t rt_imx_uart_read(struct rtdm_fd *fd, void *buf, size_t nbyte)
+static ssize_t rt_imx_uart_read(struct rtdm_fd *fd, void *buf, size_t nbyte)
 {
 	struct rt_imx_uart_ctx *ctx;
 	rtdm_lockctx_t lock_ctx;
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 24/25] drivers/spi: Use spi_get_chipselect/gpiod
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (22 preceding siblings ...)
  2024-03-26  6:31 ` [PATCH 23/25] drivers/serial: " Jan Kiszka
@ 2024-03-26  6:31 ` Jan Kiszka
  2024-03-26  6:31 ` [PATCH 25/25] drivers/testing: Make private functions static Jan Kiszka
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:31 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

This is required since kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 .../include/asm-generic/xenomai/wrappers.h      |  5 +++++
 kernel/drivers/spi/spi-bcm2835.c                | 17 +++++++++--------
 kernel/drivers/spi/spi-device.c                 | 14 +++++++-------
 kernel/drivers/spi/spi-omap2-mcspi-rt.c         | 13 +++++++------
 4 files changed, 28 insertions(+), 21 deletions(-)

diff --git a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
index abf58c589c..9316c35d8b 100644
--- a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
+++ b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
@@ -65,6 +65,11 @@
 #define pde_data(i)	PDE_DATA(i)
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6,3,0)
+#define spi_get_chipselect(spi, idx)	((spi)->chip_select)
+#define spi_get_csgpiod(spi, idx)	((spi)->cs_gpiod)
+#endif
+
 #if LINUX_VERSION_CODE < KERNEL_VERSION(6,8,0)
 #define MAX_PAGE_ORDER	MAX_ORDER
 #endif
diff --git a/kernel/drivers/spi/spi-bcm2835.c b/kernel/drivers/spi/spi-bcm2835.c
index 2d50b86080..fabfd4a59c 100644
--- a/kernel/drivers/spi/spi-bcm2835.c
+++ b/kernel/drivers/spi/spi-bcm2835.c
@@ -462,9 +462,10 @@ static int find_cs_gpio(struct spi_device *spi)
 	int cs_gpio = -ENOENT;
 	int ret;
 
-	if (spi->cs_gpiod) {
+	if (spi_get_csgpiod(spi, 0)) {
 		dev_info(&spi->dev, "using GPIO%i for CS%d\n",
-			 desc_to_gpio(spi->cs_gpiod), spi->chip_select);
+			 desc_to_gpio(spi_get_csgpiod(spi, 0)),
+				      spi_get_chipselect(spi, 0));
 		return 0;
 	}
 
@@ -476,9 +477,9 @@ static int find_cs_gpio(struct spi_device *spi)
 		for (pin_index = 0;
 		     of_property_read_u32_index(pins, "brcm,pins",
 				pin_index, &pin) == 0; pin_index++) {
-			if ((spi->chip_select == 0 &&
+			if ((spi_get_chipselect(spi, 0) == 0 &&
 			     (pin == 8 || pin == 36 || pin == 46)) ||
-			    (spi->chip_select == 1 &&
+			    (spi_get_chipselect(spi, 0) == 1 &&
 			     (pin == 7 || pin == 35))) {
 				cs_gpio = pin;
 				break;
@@ -503,19 +504,19 @@ static int find_cs_gpio(struct spi_device *spi)
 			return 0;
 #endif
 
-		cs_gpio = chip->base + 8 - spi->chip_select;
+		cs_gpio = chip->base + 8 - spi_get_chipselect(spi, 0);
 	}
 
 	dev_info(&spi->dev,
 		 "setting up native-CS%i as GPIO %i\n",
-		 spi->chip_select, cs_gpio);
+		 spi_get_chipselect(spi, 0), cs_gpio);
 
 	ret = gpio_direction_output(cs_gpio,
 			    (spi->mode & SPI_CS_HIGH) ? 0 : 1);
 	if (ret) {
 		dev_err(&spi->dev,
 			"could not set CS%i gpio %i as output: %i",
-			spi->chip_select, cs_gpio, ret);
+			spi_get_chipselect(spi, 0), cs_gpio, ret);
 		return ret;
 	}
 
@@ -534,7 +535,7 @@ bcm2835_attach_slave(struct rtdm_spi_master *master, struct spi_device *spi)
 	struct spi_slave_bcm2835 *bcm;
 	int ret;
 
-	if (spi->chip_select > 1) {
+	if (spi_get_chipselect(spi, 0) > 1) {
 		/*
 		 * Error in the case of native CS requested with CS >
 		 * 1 officially there is a CS2, but it is not
diff --git a/kernel/drivers/spi/spi-device.c b/kernel/drivers/spi/spi-device.c
index 6e368bd555..265f98f1b5 100644
--- a/kernel/drivers/spi/spi-device.c
+++ b/kernel/drivers/spi/spi-device.c
@@ -35,12 +35,12 @@ int rtdm_spi_add_remote_slave(struct rtdm_spi_remote_slave *slave,
 	int ret;
 
 	memset(slave, 0, sizeof(*slave));
-	slave->chip_select = spi->chip_select;
+	slave->chip_select = spi_get_chipselect(spi, 0);
 	slave->config.bits_per_word = spi->bits_per_word;
 	slave->config.speed_hz = spi->max_speed_hz;
 	slave->config.mode = spi->mode;
 	slave->master = master;
-	
+
 	dev = &slave->dev;
 	dev->driver = &master->driver;
 	dev->label = kasprintf(GFP_KERNEL, "%s/slave%d.%%d",
@@ -49,14 +49,14 @@ int rtdm_spi_add_remote_slave(struct rtdm_spi_remote_slave *slave,
 	if (dev->label == NULL)
 		return -ENOMEM;
 
-	if (spi->cs_gpiod)
-		slave->cs_gpiod = spi->cs_gpiod;
-	else {
+	if (spi_get_csgpiod(spi, 0)) {
+		slave->cs_gpiod = spi_get_csgpiod(spi, 0);
+	} else {
 		slave->cs_gpiod = NULL;
 		if (ctlr->cs_gpiods)
-			slave->cs_gpiod = ctlr->cs_gpiods[spi->chip_select];
+			slave->cs_gpiod = ctlr->cs_gpiods[slave->chip_select];
 	}
-	
+
 	mutex_init(&slave->ctl_lock);
 
 	dev->device_data = master;
diff --git a/kernel/drivers/spi/spi-omap2-mcspi-rt.c b/kernel/drivers/spi/spi-omap2-mcspi-rt.c
index 7918f61e7d..976d28dc5d 100644
--- a/kernel/drivers/spi/spi-omap2-mcspi-rt.c
+++ b/kernel/drivers/spi/spi-omap2-mcspi-rt.c
@@ -804,7 +804,8 @@ omap2_mcspi_attach_slave(struct rtdm_spi_master *master, struct spi_device *spi)
 	struct spi_slave_omap2_mcspi *mapped_data;
 	int ret;
 
-	if ((spi->chip_select >= OMAP2_MCSPI_CS_N) || (OMAP2_MCSPI_CS_N > 2)) {
+	if (spi_get_chipselect(spi, 0) >= OMAP2_MCSPI_CS_N ||
+	    OMAP2_MCSPI_CS_N > 2) {
 		/* Error in the case of native CS requested with CS > 1 */
 		dev_err(&spi->dev, "%s: only two native CS per spi module are supported\n",
 			__func__);
@@ -823,11 +824,11 @@ omap2_mcspi_attach_slave(struct rtdm_spi_master *master, struct spi_device *spi)
 	}
 
 	spim = container_of(master, struct spi_master_omap2_mcspi, master);
-	spim->cs[spi->chip_select].chosen = 0;
-	spim->cs[spi->chip_select].regs = spim->regs +
-		spi->chip_select * OMAP2_MCSPI_CHANNELBANK_SIZE;
-	spim->cs[spi->chip_select].phys = spim->phys +
-		spi->chip_select * OMAP2_MCSPI_CHANNELBANK_SIZE;
+	spim->cs[spi_get_chipselect(spi, 0)].chosen = 0;
+	spim->cs[spi_get_chipselect(spi, 0)].regs = spim->regs +
+		spi_get_chipselect(spi, 0) * OMAP2_MCSPI_CHANNELBANK_SIZE;
+	spim->cs[spi_get_chipselect(spi, 0)].phys = spim->phys +
+		spi_get_chipselect(spi, 0) * OMAP2_MCSPI_CHANNELBANK_SIZE;
 
 	return &mapped_data->slave;
 }
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [PATCH 25/25] drivers/testing: Make private functions static
  2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
                   ` (23 preceding siblings ...)
  2024-03-26  6:31 ` [PATCH 24/25] drivers/spi: Use spi_get_chipselect/gpiod Jan Kiszka
@ 2024-03-26  6:31 ` Jan Kiszka
  24 siblings, 0 replies; 28+ messages in thread
From: Jan Kiszka @ 2024-03-26  6:31 UTC (permalink / raw)
  To: xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Addresses missing prototype warnings with kernel 6.8.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 kernel/drivers/testing/switchtest.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/drivers/testing/switchtest.c b/kernel/drivers/testing/switchtest.c
index 674cdef736..f8f6c89207 100644
--- a/kernel/drivers/testing/switchtest.c
+++ b/kernel/drivers/testing/switchtest.c
@@ -723,14 +723,14 @@ static struct rtdm_device device = {
 	.label = "switchtest",
 };
 
-int __init __switchtest_init(void)
+static int __init __switchtest_init(void)
 {
 	fp_features = fp_detect();
 
 	return rtdm_dev_register(&device);
 }
 
-void __switchtest_exit(void)
+static void __switchtest_exit(void)
 {
 	rtdm_dev_unregister(&device);
 }
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [PATCH 19/25] drivers/net/corectl: Provide proper prototypes via corectl.h
  2024-03-26  6:30 ` [PATCH 19/25] drivers/net/corectl: Provide proper prototypes via corectl.h Jan Kiszka
@ 2024-03-26 10:36   ` Florian Bezdeka
  2024-03-26 10:42     ` Philippe Gerum
  0 siblings, 1 reply; 28+ messages in thread
From: Florian Bezdeka @ 2024-03-26 10:36 UTC (permalink / raw)
  To: Jan Kiszka, xenomai

On Tue, 2024-03-26 at 07:30 +0100, Jan Kiszka wrote:
> diff --git a/kernel/drivers/net/stack/include/corectl.h b/kernel/drivers/net/stack/include/corectl.h
> new file mode 100644
> index 0000000000..6dc7fadeb9
> --- /dev/null
> +++ b/kernel/drivers/net/stack/include/corectl.h
> @@ -0,0 +1,20 @@
> +/*
> + * Copyright (C) 2016 Gilles Chanteperdrix <gch@xenomai.org>.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of the
> + * License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
> + */
> +
> +void rtnet_corectl_register(void);
> +void rtnet_corectl_unregister(void);

This seems a bit inconsistent with patch 11, SPDX identifier vs.
license text. I would vote for the SPDX way.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH 19/25] drivers/net/corectl: Provide proper prototypes via corectl.h
  2024-03-26 10:36   ` Florian Bezdeka
@ 2024-03-26 10:42     ` Philippe Gerum
  0 siblings, 0 replies; 28+ messages in thread
From: Philippe Gerum @ 2024-03-26 10:42 UTC (permalink / raw)
  To: Florian Bezdeka; +Cc: Jan Kiszka, xenomai


Florian Bezdeka <florian.bezdeka@siemens.com> writes:

> On Tue, 2024-03-26 at 07:30 +0100, Jan Kiszka wrote:
>> diff --git a/kernel/drivers/net/stack/include/corectl.h b/kernel/drivers/net/stack/include/corectl.h
>> new file mode 100644
>> index 0000000000..6dc7fadeb9
>> --- /dev/null
>> +++ b/kernel/drivers/net/stack/include/corectl.h
>> @@ -0,0 +1,20 @@
>> +/*
>> + * Copyright (C) 2016 Gilles Chanteperdrix <gch@xenomai.org>.
>> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU General Public License as
>> + * published by the Free Software Foundation; either version 2 of the
>> + * License, or (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program; if not, write to the Free Software
>> + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
>> + */
>> +
>> +void rtnet_corectl_register(void);
>> +void rtnet_corectl_unregister(void);
>
> This seems a bit inconsistent with patch 11, SPDX identifier vs.
> license text. I would vote for the SPDX way.

As long as Gilles's signature is kept. Thanks.

-- 
Philippe.

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2024-03-26 10:43 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-26  6:30 [PATCH 00/25] Support for kernel 6.8 Jan Kiszka
2024-03-26  6:30 ` [PATCH 01/25] Account for renaming of MAX_ORDER in " Jan Kiszka
2024-03-26  6:30 ` [PATCH 02/25] cobalt/synch: add [__cobalt_mutex_]lookup_lazy_pp prototype to header Jan Kiszka
2024-03-26  6:30 ` [PATCH 03/25] cobalt/rtdm: Drop __rtdm_synch_flush from public interface Jan Kiszka
2024-03-26  6:30 ` [PATCH 04/25] Drop duplicate define of inclusion guard Jan Kiszka
2024-03-26  6:30 ` [PATCH 05/25] cobalt/arith: Only implement xnarch_generic_full_divmod64 when used Jan Kiszka
2024-03-26  6:30 ` [PATCH 06/25] cobalt: Address missing prototype warnings by adding includes Jan Kiszka
2024-03-26  6:30 ` [PATCH 07/25] cobalt: Make private functions static Jan Kiszka
2024-03-26  6:30 ` [PATCH 08/25] analogy/national_instruments: Drop dead mio_common_detach Jan Kiszka
2024-03-26  6:30 ` [PATCH 09/25] drivers/analogy: Make private functions static Jan Kiszka
2024-03-26  6:30 ` [PATCH 10/25] drivers/autotune: " Jan Kiszka
2024-03-26  6:30 ` [PATCH 11/25] drivers/can/corectl: Provide proper prototypes via corectl.h Jan Kiszka
2024-03-26  6:30 ` [PATCH 12/25] drivers/can/c_can: Replace deprecated strlcpy with strscpy Jan Kiszka
2024-03-26  6:30 ` [PATCH 13/25] drivers/can: Make private functions static Jan Kiszka
2024-03-26  6:30 ` [PATCH 14/25] drivers/gpio: Address missing prototype warnings by adding includes Jan Kiszka
2024-03-26  6:30 ` [PATCH 15/25] drivers/gpio: Make private functions static Jan Kiszka
2024-03-26  6:30 ` [PATCH 16/25] drivers/ipc: " Jan Kiszka
2024-03-26  6:30 ` [PATCH 17/25] drivers/net/ipv4: Align signatures of rt_ip_build_xmit Jan Kiszka
2024-03-26  6:30 ` [PATCH 18/25] drivers/net: Address missing prototype warnings by adding includes Jan Kiszka
2024-03-26  6:30 ` [PATCH 19/25] drivers/net/corectl: Provide proper prototypes via corectl.h Jan Kiszka
2024-03-26 10:36   ` Florian Bezdeka
2024-03-26 10:42     ` Philippe Gerum
2024-03-26  6:30 ` [PATCH 20/25] drivers/net: Make rtdev_init private Jan Kiszka
2024-03-26  6:31 ` [PATCH 21/25] drivers/net/e1000: Move e1000_check_options prototype to a header Jan Kiszka
2024-03-26  6:31 ` [PATCH 22/25] drivers/net: Make private functions static Jan Kiszka
2024-03-26  6:31 ` [PATCH 23/25] drivers/serial: " Jan Kiszka
2024-03-26  6:31 ` [PATCH 24/25] drivers/spi: Use spi_get_chipselect/gpiod Jan Kiszka
2024-03-26  6:31 ` [PATCH 25/25] drivers/testing: Make private functions static Jan Kiszka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).