From: Roland Dreier Update the ib_umad module to use major 231 instead of a dynamic major, as assigned in the LANANA Linux 2.6+ Device List (http://lanana.org/docs/device-list/devices-2.6+.txt). Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton --- 25-akpm/drivers/infiniband/core/user_mad.c | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-) diff -puN drivers/infiniband/core/user_mad.c~infiniband-use-lanana-assigned-major-in-ib_umad drivers/infiniband/core/user_mad.c --- 25/drivers/infiniband/core/user_mad.c~infiniband-use-lanana-assigned-major-in-ib_umad Thu Jan 27 13:52:58 2005 +++ 25-akpm/drivers/infiniband/core/user_mad.c Thu Jan 27 13:52:58 2005 @@ -56,7 +56,10 @@ MODULE_LICENSE("Dual BSD/GPL"); enum { IB_UMAD_MAX_PORTS = 64, - IB_UMAD_MAX_AGENTS = 32 + IB_UMAD_MAX_AGENTS = 32, + + IB_UMAD_MAJOR = 231, + IB_UMAD_MINOR_BASE = 0 }; struct ib_umad_port { @@ -97,7 +100,7 @@ struct ib_umad_packet { DECLARE_PCI_UNMAP_ADDR(mapping) }; -static dev_t base_dev; +static const dev_t base_dev = MKDEV(IB_UMAD_MAJOR, IB_UMAD_MINOR_BASE); static spinlock_t map_lock; static DECLARE_BITMAP(dev_map, IB_UMAD_MAX_PORTS * 2); @@ -789,10 +792,10 @@ static int __init ib_umad_init(void) spin_lock_init(&map_lock); - ret = alloc_chrdev_region(&base_dev, 0, IB_UMAD_MAX_PORTS * 2, - "infiniband_mad"); + ret = register_chrdev_region(base_dev, IB_UMAD_MAX_PORTS * 2, + "infiniband_mad"); if (ret) { - printk(KERN_ERR "user_mad: couldn't get device number\n"); + printk(KERN_ERR "user_mad: couldn't register device number\n"); goto out; } _