All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.