All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.