summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorShaun Ruffell <sruffell@digium.com>2012-03-21 18:56:12 +0000
committerShaun Ruffell <sruffell@digium.com>2012-03-21 18:56:12 +0000
commitfb0af55d455aa4800164f1237defce3faabaa06b (patch)
tree23a443c28fcfc4ee6a92983865e32165e6c393ac /include
parentf9994d0f8f3033b5ff4bebe8968842b00061a5f0 (diff)
dahdi: Update dev_set_name / dev_name for RHEL 5.6+.
This is needed because dev_name() is mapped to kobject_name() in a backport, but the kobject name isn't set until after device_add(). The result would be parentless devices would fail since dahdi would not think a name was set for these devices. For these systems, we'll set both the bus_id string and the underlying kobject_name. Signed-off-by: Shaun Ruffell <sruffell@digium.com> Acked-by: Tzafrir Cohen <tzafrir.cohen@xorcom.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10561 a0bf4364-ded3-4de4-8d8a-66a801d63aff
Diffstat (limited to 'include')
-rw-r--r--include/dahdi/kernel.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/dahdi/kernel.h b/include/dahdi/kernel.h
index 3b96c97..a0c96ae 100644
--- a/include/dahdi/kernel.h
+++ b/include/dahdi/kernel.h
@@ -79,16 +79,25 @@
#define DAHDI_IRQ_DISABLED IRQF_DISABLED
#define DAHDI_IRQ_SHARED_DISABLED IRQF_SHARED | IRQF_DISABLED
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26)
# ifdef RHEL_RELEASE_VERSION
# if RHEL_RELEASE_CODE < RHEL_RELEASE_VERSION(5, 6)
#define dev_name(dev) ((dev)->bus_id)
+#define dev_set_name(dev, format, ...) \
+ snprintf((dev)->bus_id, BUS_ID_SIZE, format, ## __VA_ARGS__)
+# else
+#define dev_set_name(dev, format, ...) \
+ do { \
+ kobject_set_name(&(dev)->kobj, format, ## __VA_ARGS__); \
+ snprintf((dev)->bus_id, BUS_ID_SIZE, \
+ kobject_name(&(dev)->kobj)); \
+ } while (0)
# endif
# else
#define dev_name(dev) ((dev)->bus_id)
-# endif
#define dev_set_name(dev, format, ...) \
snprintf((dev)->bus_id, BUS_ID_SIZE, format, ## __VA_ARGS__)
+# endif
#endif
/*! Default chunk size for conferences and such -- static right now, might make