* [Xenomai-core] [PATCH] ksrc: respect struct proc_dir_entry changes in 2.6.30
@ 2009-06-11 9:16 Vladimir Zapolskiy
2009-06-11 9:32 ` Jan Kiszka
0 siblings, 1 reply; 6+ messages in thread
From: Vladimir Zapolskiy @ 2009-06-11 9:16 UTC (permalink / raw)
To: rpm; +Cc: xenomai
[-- Attachment #1: Type: text/plain, Size: 150 bytes --]
Hello,
please apply the attached simple patch, which resolves a kind of
compilation problems against 2.6.30 kernel.
--
With best wishes,
Vladimir
[-- Attachment #2: 0001-Made-conditional-inclusion-of-owner-field-in-struct.patch --]
[-- Type: text/x-patch, Size: 3211 bytes --]
>From 894660f7dc91b406d8e078247b46606778562de9 Mon Sep 17 00:00:00 2001
From: Vladimir Zapolskiy <vladimir.zapolskiy@domain.hid>
Date: Thu, 11 Jun 2009 12:32:00 +0400
Subject: [PATCH] Made conditional inclusion of owner field in struct proc_dir_entry due to changes in 2.6.30
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@domain.hid>
---
ksrc/arch/generic/hal.c | 6 ++++++
ksrc/drivers/comedi/device.c | 2 ++
ksrc/drivers/comedi/rtdm_interface.c | 4 ++++
ksrc/nucleus/registry.c | 2 ++
4 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/ksrc/arch/generic/hal.c b/ksrc/arch/generic/hal.c
index e4f0f31..b983b68 100644
--- a/ksrc/arch/generic/hal.c
+++ b/ksrc/arch/generic/hal.c
@@ -738,7 +738,9 @@ struct proc_dir_entry *rthal_add_proc_leaf(const char *name,
entry->data = data;
entry->read_proc = rdproc;
entry->write_proc = wrproc;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
entry->owner = THIS_MODULE;
+#endif
return entry;
}
@@ -756,7 +758,9 @@ struct proc_dir_entry *rthal_add_proc_seq(const char *name,
return NULL;
entry->proc_fops = fops;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
entry->owner = THIS_MODULE;
+#endif
if (size)
entry->size = size;
@@ -773,7 +777,9 @@ static int rthal_proc_register(void)
return -1;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
rthal_proc_root->owner = THIS_MODULE;
+#endif
rthal_add_proc_leaf("hal", &hal_read_proc, NULL, NULL, rthal_proc_root);
rthal_add_proc_leaf("faults",
diff --git a/ksrc/drivers/comedi/device.c b/ksrc/drivers/comedi/device.c
index 51f1125..c35ae33 100644
--- a/ksrc/drivers/comedi/device.c
+++ b/ksrc/drivers/comedi/device.c
@@ -144,7 +144,9 @@ int comedi_proc_attach(comedi_cxt_t * cxt)
entry->data = dev->transfer;
entry->write_proc = NULL;
entry->read_proc = comedi_rdproc_transfer;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
entry->owner = THIS_MODULE;
+#endif
out_setup_proc_transfer:
/* Frees the file name buffer */
diff --git a/ksrc/drivers/comedi/rtdm_interface.c b/ksrc/drivers/comedi/rtdm_interface.c
index 7d78a45..a9ed574 100644
--- a/ksrc/drivers/comedi/rtdm_interface.c
+++ b/ksrc/drivers/comedi/rtdm_interface.c
@@ -78,7 +78,9 @@ int comedi_init_proc(void)
entry->data = NULL;
entry->write_proc = NULL;
entry->read_proc = comedi_rdproc_devs;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
entry->owner = THIS_MODULE;
+#endif
/* Creates the drivers related file */
entry = create_proc_entry("drivers", 0444, comedi_proc_root);
@@ -93,7 +95,9 @@ int comedi_init_proc(void)
entry->data = NULL;
entry->write_proc = NULL;
entry->read_proc = comedi_rdproc_drvs;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
entry->owner = THIS_MODULE;
+#endif
return 0;
diff --git a/ksrc/nucleus/registry.c b/ksrc/nucleus/registry.c
index 6c7ec20..833ee75 100644
--- a/ksrc/nucleus/registry.c
+++ b/ksrc/nucleus/registry.c
@@ -280,7 +280,9 @@ static struct proc_dir_entry *add_proc_link(const char *name,
if (!entry)
return NULL;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
entry->owner = THIS_MODULE;
+#endif
return entry;
}
--
1.6.2.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [Xenomai-core] [PATCH] ksrc: respect struct proc_dir_entry changes in 2.6.30
2009-06-11 9:16 [Xenomai-core] [PATCH] ksrc: respect struct proc_dir_entry changes in 2.6.30 Vladimir Zapolskiy
@ 2009-06-11 9:32 ` Jan Kiszka
2009-06-11 9:52 ` Vladimir Zapolskiy
0 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2009-06-11 9:32 UTC (permalink / raw)
To: Vladimir Zapolskiy; +Cc: xenomai
[-- Attachment #1: Type: text/plain, Size: 1424 bytes --]
Hi Vladimir,
Vladimir Zapolskiy wrote:
> Hello,
>
> please apply the attached simple patch, which resolves a kind of
> compilation problems against 2.6.30 kernel.
>
> --
> With best wishes,
> Vladimir
>
> From 894660f7dc91b406d8e078247b46606778562de9 Mon Sep 17 00:00:00 2001
> From: Vladimir Zapolskiy <vladimir.zapolskiy@domain.hid>
> Date: Thu, 11 Jun 2009 12:32:00 +0400
> Subject: [PATCH] Made conditional inclusion of owner field in struct proc_dir_entry due to changes in 2.6.30
>
> Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@domain.hid>
> ---
> ksrc/arch/generic/hal.c | 6 ++++++
> ksrc/drivers/comedi/device.c | 2 ++
> ksrc/drivers/comedi/rtdm_interface.c | 4 ++++
> ksrc/nucleus/registry.c | 2 ++
> 4 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/ksrc/arch/generic/hal.c b/ksrc/arch/generic/hal.c
> index e4f0f31..b983b68 100644
> --- a/ksrc/arch/generic/hal.c
> +++ b/ksrc/arch/generic/hal.c
> @@ -738,7 +738,9 @@ struct proc_dir_entry *rthal_add_proc_leaf(const char *name,
> entry->data = data;
> entry->read_proc = rdproc;
> entry->write_proc = wrproc;
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
> entry->owner = THIS_MODULE;
> +#endif
I would suggest to squeeze all these assignments into a helper function
that is void from 2.6.30 on, hiding the #ifdefs
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai-core] [PATCH] ksrc: respect struct proc_dir_entry changes in 2.6.30
2009-06-11 9:32 ` Jan Kiszka
@ 2009-06-11 9:52 ` Vladimir Zapolskiy
2009-06-11 10:16 ` Jan Kiszka
0 siblings, 1 reply; 6+ messages in thread
From: Vladimir Zapolskiy @ 2009-06-11 9:52 UTC (permalink / raw)
To: Jan Kiszka; +Cc: xenomai
Hi Jan,
I observed that LINUX_VERSION_CODE comparisons are common enough in
Xenomai code. Do you propose to make a separate header, which is
included from nucleus, drivers and arch files?
--
With best wishes,
Vladimir
Jan Kiszka wrote:
> Hi Vladimir,
>
> Vladimir Zapolskiy wrote:
>> Hello,
>>
>> please apply the attached simple patch, which resolves a kind of
>> compilation problems against 2.6.30 kernel.
>>
>> --
>> With best wishes,
>> Vladimir
>>
>> From 894660f7dc91b406d8e078247b46606778562de9 Mon Sep 17 00:00:00 2001
>> From: Vladimir Zapolskiy <vladimir.zapolskiy@domain.hid>
>> Date: Thu, 11 Jun 2009 12:32:00 +0400
>> Subject: [PATCH] Made conditional inclusion of owner field in struct proc_dir_entry due to changes in 2.6.30
>>
>> Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@domain.hid>
>> ---
>> ksrc/arch/generic/hal.c | 6 ++++++
>> ksrc/drivers/comedi/device.c | 2 ++
>> ksrc/drivers/comedi/rtdm_interface.c | 4 ++++
>> ksrc/nucleus/registry.c | 2 ++
>> 4 files changed, 14 insertions(+), 0 deletions(-)
>>
>> diff --git a/ksrc/arch/generic/hal.c b/ksrc/arch/generic/hal.c
>> index e4f0f31..b983b68 100644
>> --- a/ksrc/arch/generic/hal.c
>> +++ b/ksrc/arch/generic/hal.c
>> @@ -738,7 +738,9 @@ struct proc_dir_entry *rthal_add_proc_leaf(const char *name,
>> entry->data = data;
>> entry->read_proc = rdproc;
>> entry->write_proc = wrproc;
>> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
>> entry->owner = THIS_MODULE;
>> +#endif
>
> I would suggest to squeeze all these assignments into a helper function
> that is void from 2.6.30 on, hiding the #ifdefs
>
> Jan
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai-core] [PATCH] ksrc: respect struct proc_dir_entry changes in 2.6.30
2009-06-11 9:52 ` Vladimir Zapolskiy
@ 2009-06-11 10:16 ` Jan Kiszka
2009-06-11 10:37 ` Philippe Gerum
0 siblings, 1 reply; 6+ messages in thread
From: Jan Kiszka @ 2009-06-11 10:16 UTC (permalink / raw)
To: Vladimir Zapolskiy; +Cc: xenomai
[-- Attachment #1: Type: text/plain, Size: 344 bytes --]
Vladimir Zapolskiy wrote:
> Hi Jan,
> I observed that LINUX_VERSION_CODE comparisons are common enough in
> Xenomai code. Do you propose to make a separate header, which is
> included from nucleus, drivers and arch files?
Yes, it's common, but we also keep a lot of wrapping in asm-*/wrappers.h.
Jan
PS: Please avoid top-posts.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai-core] [PATCH] ksrc: respect struct proc_dir_entry changes in 2.6.30
2009-06-11 10:16 ` Jan Kiszka
@ 2009-06-11 10:37 ` Philippe Gerum
2009-06-11 11:51 ` Vladimir Zapolskiy
0 siblings, 1 reply; 6+ messages in thread
From: Philippe Gerum @ 2009-06-11 10:37 UTC (permalink / raw)
To: Jan Kiszka; +Cc: xenomai
On Thu, 2009-06-11 at 12:16 +0200, Jan Kiszka wrote:
> Vladimir Zapolskiy wrote:
> > Hi Jan,
> > I observed that LINUX_VERSION_CODE comparisons are common enough in
> > Xenomai code. Do you propose to make a separate header, which is
> > included from nucleus, drivers and arch files?
>
> Yes, it's common, but we also keep a lot of wrapping in asm-*/wrappers.h.
>
No, it's not that common actually. Most of them are used in the HAL,
half of those in assembly files because we don't have assembly-level
wrappers, and the remaining spots are located in a few RT drivers
(namely serial, CAN and irqbench).
So the canonical way to fix this is indeed to add the proper wrapper to
include/asm-generic/wrappers.h. TIA,
> Jan
>
> PS: Please avoid top-posts.
>
--
Philippe.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai-core] [PATCH] ksrc: respect struct proc_dir_entry changes in 2.6.30
2009-06-11 10:37 ` Philippe Gerum
@ 2009-06-11 11:51 ` Vladimir Zapolskiy
0 siblings, 0 replies; 6+ messages in thread
From: Vladimir Zapolskiy @ 2009-06-11 11:51 UTC (permalink / raw)
To: Philippe Gerum; +Cc: Jan Kiszka, xenomai
[-- Attachment #1: Type: text/plain, Size: 914 bytes --]
Thank you very much for the detailed explanation.
The updated patch is attached.
With best wishes,
Vladimir
Philippe Gerum wrote:
> On Thu, 2009-06-11 at 12:16 +0200, Jan Kiszka wrote:
>> Vladimir Zapolskiy wrote:
>>> Hi Jan,
>>> I observed that LINUX_VERSION_CODE comparisons are common enough in
>>> Xenomai code. Do you propose to make a separate header, which is
>>> included from nucleus, drivers and arch files?
>> Yes, it's common, but we also keep a lot of wrapping in asm-*/wrappers.h.
>>
>
> No, it's not that common actually. Most of them are used in the HAL,
> half of those in assembly files because we don't have assembly-level
> wrappers, and the remaining spots are located in a few RT drivers
> (namely serial, CAN and irqbench).
>
> So the canonical way to fix this is indeed to add the proper wrapper to
> include/asm-generic/wrappers.h. TIA,
>
>> Jan
>>
>> PS: Please avoid top-posts.
>>
[-- Attachment #2: 0001-Made-conditional-inclusion-of-owner-field-in-struct.patch --]
[-- Type: text/x-patch, Size: 3899 bytes --]
>From aa0d1003333982f5840879d0b435b9673986ea2f Mon Sep 17 00:00:00 2001
From: Vladimir Zapolskiy <vladimir.zapolskiy@domain.hid>
Date: Thu, 11 Jun 2009 15:26:19 +0400
Subject: [PATCH] Made conditional inclusion of owner field in struct proc_dir_entry due to changes in 2.6.30.
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@domain.hid>
---
include/asm-generic/wrappers.h | 13 +++++++++++++
ksrc/arch/generic/hal.c | 6 +++---
ksrc/drivers/comedi/device.c | 2 +-
ksrc/drivers/comedi/rtdm_interface.c | 4 ++--
ksrc/nucleus/registry.c | 2 +-
5 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/include/asm-generic/wrappers.h b/include/asm-generic/wrappers.h
index 12e4070..cbb8c43 100644
--- a/include/asm-generic/wrappers.h
+++ b/include/asm-generic/wrappers.h
@@ -523,4 +523,17 @@ static inline int wrap_raise_cap(int cap)
}
#endif /* LINUX_VERSION_CODE >= 2.6.29 */
+#ifdef CONFIG_PROC_FS
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+#include <linux/module.h>
+#include <linux/proc_fs.h>
+static inline void wrap_proc_dir_entry_owner(struct proc_dir_entry *entry)
+{
+ entry->owner = THIS_MODULE;
+}
+#else /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) */
+#define wrap_proc_dir_entry_owner(entry)
+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) */
+#endif /* CONFIG_PROC_FS */
+
#endif /* _XENO_ASM_GENERIC_WRAPPERS_H */
diff --git a/ksrc/arch/generic/hal.c b/ksrc/arch/generic/hal.c
index e4f0f31..762e544 100644
--- a/ksrc/arch/generic/hal.c
+++ b/ksrc/arch/generic/hal.c
@@ -738,7 +738,7 @@ struct proc_dir_entry *rthal_add_proc_leaf(const char *name,
entry->data = data;
entry->read_proc = rdproc;
entry->write_proc = wrproc;
- entry->owner = THIS_MODULE;
+ wrap_proc_dir_entry_owner(entry);
return entry;
}
@@ -756,7 +756,7 @@ struct proc_dir_entry *rthal_add_proc_seq(const char *name,
return NULL;
entry->proc_fops = fops;
- entry->owner = THIS_MODULE;
+ wrap_proc_dir_entry_owner(entry);
if (size)
entry->size = size;
@@ -773,7 +773,7 @@ static int rthal_proc_register(void)
return -1;
}
- rthal_proc_root->owner = THIS_MODULE;
+ wrap_proc_dir_entry_owner(rthal_proc_root);
rthal_add_proc_leaf("hal", &hal_read_proc, NULL, NULL, rthal_proc_root);
rthal_add_proc_leaf("faults",
diff --git a/ksrc/drivers/comedi/device.c b/ksrc/drivers/comedi/device.c
index 51f1125..f60dfcd 100644
--- a/ksrc/drivers/comedi/device.c
+++ b/ksrc/drivers/comedi/device.c
@@ -144,7 +144,7 @@ int comedi_proc_attach(comedi_cxt_t * cxt)
entry->data = dev->transfer;
entry->write_proc = NULL;
entry->read_proc = comedi_rdproc_transfer;
- entry->owner = THIS_MODULE;
+ wrap_proc_dir_entry_owner(entry);
out_setup_proc_transfer:
/* Frees the file name buffer */
diff --git a/ksrc/drivers/comedi/rtdm_interface.c b/ksrc/drivers/comedi/rtdm_interface.c
index 7d78a45..d4ea5ac 100644
--- a/ksrc/drivers/comedi/rtdm_interface.c
+++ b/ksrc/drivers/comedi/rtdm_interface.c
@@ -78,7 +78,7 @@ int comedi_init_proc(void)
entry->data = NULL;
entry->write_proc = NULL;
entry->read_proc = comedi_rdproc_devs;
- entry->owner = THIS_MODULE;
+ wrap_proc_dir_entry_owner(enrty);
/* Creates the drivers related file */
entry = create_proc_entry("drivers", 0444, comedi_proc_root);
@@ -93,7 +93,7 @@ int comedi_init_proc(void)
entry->data = NULL;
entry->write_proc = NULL;
entry->read_proc = comedi_rdproc_drvs;
- entry->owner = THIS_MODULE;
+ wrap_proc_dir_entry_owner(enrty);
return 0;
diff --git a/ksrc/nucleus/registry.c b/ksrc/nucleus/registry.c
index 6c7ec20..6d67dfd 100644
--- a/ksrc/nucleus/registry.c
+++ b/ksrc/nucleus/registry.c
@@ -280,7 +280,7 @@ static struct proc_dir_entry *add_proc_link(const char *name,
if (!entry)
return NULL;
- entry->owner = THIS_MODULE;
+ wrap_proc_dir_entry_owner(entry);
return entry;
}
--
1.6.2.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-06-11 11:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-11 9:16 [Xenomai-core] [PATCH] ksrc: respect struct proc_dir_entry changes in 2.6.30 Vladimir Zapolskiy
2009-06-11 9:32 ` Jan Kiszka
2009-06-11 9:52 ` Vladimir Zapolskiy
2009-06-11 10:16 ` Jan Kiszka
2009-06-11 10:37 ` Philippe Gerum
2009-06-11 11:51 ` Vladimir Zapolskiy
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.