From 148761cc8b944195d66e8f5be2e59216f0c8114c Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Tue, 19 May 2009 16:09:06 +0000 Subject: xpp: 'owner' property of procfs was dropped in 2.6.30. This adds a compatibility macro for older versions that is a noop for kernels >= 2.6.30. (closes issue #14964) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6642 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/xpp/xbus-core.c | 8 ++++---- drivers/dahdi/xpp/xdefs.h | 5 +++++ drivers/dahdi/xpp/xpp_dahdi.c | 6 +++--- drivers/dahdi/xpp/xpp_usb.c | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/drivers/dahdi/xpp/xbus-core.c b/drivers/dahdi/xpp/xbus-core.c index 3399f44..23d997a 100644 --- a/drivers/dahdi/xpp/xbus-core.c +++ b/drivers/dahdi/xpp/xbus-core.c @@ -1087,7 +1087,7 @@ static struct xbus_workqueue *worker_new(int xbusno) XBUS_ERR(xbus, "Failed to create proc file '%s'\n", PROC_XBUS_WAITFOR_XPDS); goto err; } - worker->proc_xbus_waitfor_xpds->owner = THIS_MODULE; + SET_PROC_DIRENTRY_OWNER(worker->proc_xbus_waitfor_xpds); } #endif #endif @@ -1398,7 +1398,7 @@ xbus_t *xbus_new(struct xbus_ops *ops, ushort max_send_size, struct device *tran err = -EIO; goto nobus; } - xbus->proc_xbus_summary->owner = THIS_MODULE; + SET_PROC_DIRENTRY_OWNER(xbus->proc_xbus_summary); #ifdef PROTOCOL_DEBUG xbus->proc_xbus_command = create_proc_entry(PROC_XBUS_COMMAND, 0200, xbus->proc_xbus_dir); if (!xbus->proc_xbus_command) { @@ -1408,7 +1408,7 @@ xbus_t *xbus_new(struct xbus_ops *ops, ushort max_send_size, struct device *tran } xbus->proc_xbus_command->write_proc = proc_xbus_command_write; xbus->proc_xbus_command->data = xbus; - xbus->proc_xbus_command->owner = THIS_MODULE; + SET_PROC_DIRENTRY_OWNER(xbus->proc_xbus_command); #endif #endif #ifdef XPP_DEBUGFS @@ -1857,7 +1857,7 @@ int __init xbus_core_init(void) ret = -EFAULT; goto err; } - proc_xbuses->owner = THIS_MODULE; + SET_PROC_DIRENTRY_OWNER(proc_xbuses); #endif #ifdef XPP_DEBUGFS DBG(GENERAL, "Creating debugfs xpp root\n"); diff --git a/drivers/dahdi/xpp/xdefs.h b/drivers/dahdi/xpp/xdefs.h index e55c706..ad89d4c 100644 --- a/drivers/dahdi/xpp/xdefs.h +++ b/drivers/dahdi/xpp/xdefs.h @@ -143,6 +143,11 @@ typedef unsigned char byte; #define dev_set_name(dev, format, ...) \ snprintf((dev)->bus_id, BUS_ID_SIZE, format, ## __VA_ARGS__); #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) +#define SET_PROC_DIRENTRY_OWNER(p) do { (p)->owner = THIS_MODULE; } while(0); +#else +#define SET_PROC_DIRENTRY_OWNER(p) do { } while(0); +#endif #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) /* Also don't define this for later RHEL >= 5.2 . hex_asc is from the diff --git a/drivers/dahdi/xpp/xpp_dahdi.c b/drivers/dahdi/xpp/xpp_dahdi.c index e6543dd..6e7ee85 100644 --- a/drivers/dahdi/xpp/xpp_dahdi.c +++ b/drivers/dahdi/xpp/xpp_dahdi.c @@ -190,14 +190,14 @@ static int xpd_proc_create(xbus_t *xbus, xpd_t *xpd) XPD_ERR(xpd, "Failed to create proc file '%s'\n", PROC_XPD_SUMMARY); goto err; } - xpd->proc_xpd_summary->owner = THIS_MODULE; + SET_PROC_DIRENTRY_OWNER(xpd->proc_xpd_summary); #ifdef OLD_PROC xpd->proc_xpd_ztregister = create_proc_entry(PROC_XPD_ZTREGISTER, 0644, xpd->proc_xpd_dir); if (!xpd->proc_xpd_ztregister) { XPD_ERR(xpd, "Failed to create proc file '%s'\n", PROC_XPD_ZTREGISTER); goto err; } - xpd->proc_xpd_ztregister->owner = THIS_MODULE; + SET_PROC_DIRENTRY_OWNER(xpd->proc_xpd_ztregister); xpd->proc_xpd_ztregister->data = xpd; xpd->proc_xpd_ztregister->read_proc = proc_xpd_ztregister_read; xpd->proc_xpd_ztregister->write_proc = proc_xpd_ztregister_write; @@ -206,7 +206,7 @@ static int xpd_proc_create(xbus_t *xbus, xpd_t *xpd) XPD_ERR(xpd, "Failed to create proc file '%s'\n", PROC_XPD_BLINK); goto err; } - xpd->proc_xpd_blink->owner = THIS_MODULE; + SET_PROC_DIRENTRY_OWNER(xpd->proc_xpd_blink); xpd->proc_xpd_blink->data = xpd; xpd->proc_xpd_blink->read_proc = proc_xpd_blink_read; xpd->proc_xpd_blink->write_proc = proc_xpd_blink_write; diff --git a/drivers/dahdi/xpp/xpp_usb.c b/drivers/dahdi/xpp/xpp_usb.c index ff17e73..36a4616 100644 --- a/drivers/dahdi/xpp/xpp_usb.c +++ b/drivers/dahdi/xpp/xpp_usb.c @@ -755,7 +755,7 @@ static int xusb_probe(struct usb_interface *interface, const struct usb_device_i retval = -EIO; goto probe_failed; } - procsummary->owner = THIS_MODULE; + SET_PROC_DIRENTRY_OWNER(procsummary); #endif bus_count++; xusb->xbus_num = xbus->num; -- cgit v1.2.3