From 89a058fe300d70e374ff0501429c48ec10c7b840 Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Tue, 19 May 2009 14:12:15 +0000 Subject: Replaece member bus_id with dev_name() and set_dev_name() As of 2.6.26 the macros dev_name() and set_dev_name() are used to read and set (respectively) the bus_id member in sysfs. As of 2.6.30 bus_id is gone. This patch provides comaptiobility macros for older kernel versions and removes direct usage of bus_id. (closes issue #14965) Patches: xpp_2630_dev_name.diff uploaded by tzafrir (license 46) git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@6637 a0bf4364-ded3-4de4-8d8a-66a801d63aff --- drivers/dahdi/xpp/Kbuild | 2 ++ drivers/dahdi/xpp/card_bri.c | 2 +- drivers/dahdi/xpp/card_fxo.c | 2 +- drivers/dahdi/xpp/card_fxs.c | 2 +- drivers/dahdi/xpp/card_pri.c | 2 +- drivers/dahdi/xpp/mmapbus.c | 2 +- drivers/dahdi/xpp/mmapdrv.c | 2 +- drivers/dahdi/xpp/xbus-sysfs.c | 16 ++++++++-------- drivers/dahdi/xpp/xdefs.h | 6 ++++++ 9 files changed, 22 insertions(+), 14 deletions(-) diff --git a/drivers/dahdi/xpp/Kbuild b/drivers/dahdi/xpp/Kbuild index 973ef57..3b87bf6 100644 --- a/drivers/dahdi/xpp/Kbuild +++ b/drivers/dahdi/xpp/Kbuild @@ -6,6 +6,8 @@ EXTRA_CFLAGS = $(XPP_LOCAL_CFLAGS) \ -g # -DOLD_PROC # +WITH_BRISTUFF := $(shell grep -c '^[[:space:]]*\#[[:space:]]*define[[:space:]]\+CONFIG_DAHDI_BRI_DCHANS\>' $(src)/../../../include/dahdi/dahdi_config.h) + obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPP) += xpp.o obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPD_FXS) += xpd_fxs.o obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPD_FXO) += xpd_fxo.o diff --git a/drivers/dahdi/xpp/card_bri.c b/drivers/dahdi/xpp/card_bri.c index 7752159..47e62a3 100644 --- a/drivers/dahdi/xpp/card_bri.c +++ b/drivers/dahdi/xpp/card_bri.c @@ -1761,7 +1761,7 @@ static int bri_xpd_probe(struct device *dev) /* Is it our device? */ if(xpd->type != XPD_TYPE_BRI) { XPD_ERR(xpd, "drop suggestion for %s (%d)\n", - dev->bus_id, xpd->type); + dev_name(dev), xpd->type); return -EINVAL; } XPD_DBG(DEVICES, xpd, "SYSFS\n"); diff --git a/drivers/dahdi/xpp/card_fxo.c b/drivers/dahdi/xpp/card_fxo.c index 79b7ce2..9e618a6 100644 --- a/drivers/dahdi/xpp/card_fxo.c +++ b/drivers/dahdi/xpp/card_fxo.c @@ -1351,7 +1351,7 @@ static int fxo_xpd_probe(struct device *dev) /* Is it our device? */ if(xpd->type != XPD_TYPE_FXO) { XPD_ERR(xpd, "drop suggestion for %s (%d)\n", - dev->bus_id, xpd->type); + dev_name(dev), xpd->type); return -EINVAL; } XPD_DBG(DEVICES, xpd, "SYSFS\n"); diff --git a/drivers/dahdi/xpp/card_fxs.c b/drivers/dahdi/xpp/card_fxs.c index c00684e..0aee211 100644 --- a/drivers/dahdi/xpp/card_fxs.c +++ b/drivers/dahdi/xpp/card_fxs.c @@ -1502,7 +1502,7 @@ static int fxs_xpd_probe(struct device *dev) /* Is it our device? */ if(xpd->type != XPD_TYPE_FXS) { XPD_ERR(xpd, "drop suggestion for %s (%d)\n", - dev->bus_id, xpd->type); + dev_name(dev), xpd->type); return -EINVAL; } XPD_DBG(DEVICES, xpd, "SYSFS\n"); diff --git a/drivers/dahdi/xpp/card_pri.c b/drivers/dahdi/xpp/card_pri.c index d39c3f3..2c8d318 100644 --- a/drivers/dahdi/xpp/card_pri.c +++ b/drivers/dahdi/xpp/card_pri.c @@ -2085,7 +2085,7 @@ static int pri_xpd_probe(struct device *dev) /* Is it our device? */ if(xpd->type != XPD_TYPE_PRI) { XPD_ERR(xpd, "drop suggestion for %s (%d)\n", - dev->bus_id, xpd->type); + dev_name(dev), xpd->type); return -EINVAL; } XPD_DBG(DEVICES, xpd, "SYSFS\n"); diff --git a/drivers/dahdi/xpp/mmapbus.c b/drivers/dahdi/xpp/mmapbus.c index 30ca8c5..ffe9358 100644 --- a/drivers/dahdi/xpp/mmapbus.c +++ b/drivers/dahdi/xpp/mmapbus.c @@ -5,7 +5,7 @@ static int mmap_match(struct device *dev, struct device_driver *driver) { - return !strncmp(dev->bus_id, driver->name, strlen(driver->name)); + return !strncmp(dev_name(dev), driver->name, strlen(driver->name)); } static int mmap_uevent(struct device *dev, char **envp, int num_envp, char *buffer, int buffer_size) { diff --git a/drivers/dahdi/xpp/mmapdrv.c b/drivers/dahdi/xpp/mmapdrv.c index 22b9a2b..6f38587 100644 --- a/drivers/dahdi/xpp/mmapdrv.c +++ b/drivers/dahdi/xpp/mmapdrv.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include "mmapbus.h" #include "xbus-core.h" #include "dahdi_debug.h" diff --git a/drivers/dahdi/xpp/xbus-sysfs.c b/drivers/dahdi/xpp/xbus-sysfs.c index 67c4c28..63bce35 100644 --- a/drivers/dahdi/xpp/xbus-sysfs.c +++ b/drivers/dahdi/xpp/xbus-sysfs.c @@ -279,7 +279,7 @@ static struct device_attribute xbus_dev_attrs[] = { static int astribank_match(struct device *dev, struct device_driver *driver) { DBG(DEVICES, "SYSFS MATCH: dev->bus_id = %s, driver->name = %s\n", - dev->bus_id, driver->name); + dev_name(dev), driver->name); return 1; } @@ -326,7 +326,7 @@ static int astribank_uevent(struct device *dev, char **envp, int num_envp, char if(!dev) return -ENODEV; xbus = dev_to_xbus(dev); - DBG(GENERAL, "SYFS bus_id=%s xbus=%s\n", dev->bus_id, xbus->busname); + DBG(GENERAL, "SYFS bus_id=%s xbus=%s\n", dev_name(dev), xbus->busname); XBUS_VAR_BLOCK; envp[i] = NULL; return 0; @@ -348,7 +348,7 @@ static int astribank_uevent(struct device *dev, struct kobj_uevent_env *kenv) if(!dev) return -ENODEV; xbus = dev_to_xbus(dev); - DBG(GENERAL, "SYFS bus_id=%s xbus=%s\n", dev->bus_id, xbus->busname); + DBG(GENERAL, "SYFS bus_id=%s xbus=%s\n", dev_name(dev), xbus->busname); XBUS_VAR_BLOCK; return 0; } @@ -363,7 +363,7 @@ void astribank_uevent_send(xbus_t *xbus, enum kobject_action act) kobj = &xbus->astribank.kobj; XBUS_DBG(DEVICES, xbus, "SYFS bus_id=%s action=%d\n", - xbus->astribank.bus_id, act); + dev_name(&xbus->astribank), act); #if defined(OLD_HOTPLUG_SUPPORT_269) { @@ -645,7 +645,7 @@ static int xpd_match(struct device *dev, struct device_driver *driver) return 0; } XPD_DBG(DEVICES, xpd, "SYSFS MATCH: type=%d dev->bus_id = %s, driver->name = %s\n", - xpd->type, dev->bus_id, driver->name); + xpd->type, dev_name(dev), driver->name); return 1; } @@ -701,8 +701,8 @@ int xpd_device_register(xbus_t *xbus, xpd_t *xpd) XPD_DBG(DEVICES, xpd, "SYSFS\n"); dev->bus = &xpd_type; dev->parent = &xbus->astribank; - snprintf(dev->bus_id, BUS_ID_SIZE, "%02d:%1x:%1x", - xbus->num, xpd->addr.unit, xpd->addr.subunit); + dev_set_name(dev, "%02d:%1x:%1x", xbus->num, xpd->addr.unit, + xpd->addr.subunit); dev->driver_data = xpd; dev->release = xpd_release; ret = device_register(dev); @@ -759,7 +759,7 @@ int xbus_sysfs_create(xbus_t *xbus) XBUS_DBG(DEVICES, xbus, "\n"); astribank->bus = &toplevel_bus_type; astribank->parent = xbus->transport.transport_device; - snprintf(astribank->bus_id, BUS_ID_SIZE, "xbus-%02d", xbus->num); + dev_set_name(astribank, "xbus-%02d", xbus->num); astribank->driver_data = xbus; astribank->release = astribank_release; ret = device_register(astribank); diff --git a/drivers/dahdi/xpp/xdefs.h b/drivers/dahdi/xpp/xdefs.h index 4bdcf8a..1a25e68 100644 --- a/drivers/dahdi/xpp/xdefs.h +++ b/drivers/dahdi/xpp/xdefs.h @@ -136,6 +136,12 @@ typedef unsigned char byte; ssize_t name(struct device *dev, const char *buf, size_t count) #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) +#define dev_name(dev) (dev)->bus_id +#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,19) /* Also don't define this for later RHEL >= 5.2 . hex_asc is from the * same linux-2.6-net-infrastructure-updates-to-mac80211-iwl4965.patch -- cgit v1.2.3