@@ -1244,7 +1244,7 @@ static int find_overflow_devnum(void)
int ret;
if (!overflow_maj) {
- ret = alloc_chrdev_region(&overflow_maj, 0, IB_UCM_MAX_DEVICES,
+ ret = register_chrdev_ids(&overflow_maj, IB_UCM_MAX_DEVICES,
"infiniband_cm");
if (ret) {
printk(KERN_ERR "ucm: couldn't register dynamic device number\n");
@@ -980,7 +980,8 @@ static int find_overflow_devnum(void)
int ret;
if (!overflow_maj) {
- ret = alloc_chrdev_region(&overflow_maj, 0, IB_UMAD_MAX_PORTS * 2,
+ ret = register_chrdev_ids(&overflow_maj,
+ IB_UMAD_MAX_PORTS * 2,
"infiniband_mad");
if (ret) {
printk(KERN_ERR "user_mad: couldn't register dynamic device number\n");
@@ -1180,8 +1181,8 @@ static int __init ib_umad_init(void)
{
int ret;
- ret = register_chrdev_region(base_dev, IB_UMAD_MAX_PORTS * 2,
- "infiniband_mad");
+ ret = register_chrdev_ids(&base_dev, IB_UMAD_MAX_PORTS * 2,
+ "infiniband_mad");
if (ret) {
printk(KERN_ERR "user_mad: couldn't register device number\n");
goto out;
@@ -711,7 +711,8 @@ static int find_overflow_devnum(void)
int ret;
if (!overflow_maj) {
- ret = alloc_chrdev_region(&overflow_maj, 0, IB_UVERBS_MAX_DEVICES,
+ ret = register_chrdev_ids(&overflow_maj,
+ IB_UVERBS_MAX_DEVICES,
"infiniband_verbs");
if (ret) {
printk(KERN_ERR "user_verbs: couldn't register dynamic device number\n");
@@ -2519,7 +2519,7 @@ static int user_init(void)
{
int ret;
- ret = register_chrdev_region(dev, IPATH_NMINORS, IPATH_DRV_NAME);
+ ret = register_chrdev_ids(&dev, IPATH_NMINORS, IPATH_DRV_NAME);
if (ret < 0) {
printk(KERN_ERR IPATH_DRV_NAME ": Could not register "
"chrdev region (err %d)\n", -ret);
@@ -2238,7 +2238,7 @@ int __init qib_dev_init(void)
{
int ret;
- ret = alloc_chrdev_region(&qib_dev, 0, QIB_NMINORS, QIB_DRV_NAME);
+ ret = register_chrdev_ids(&qib_dev, QIB_NMINORS, QIB_DRV_NAME);
if (ret < 0) {
printk(KERN_ERR QIB_DRV_NAME ": Could not allocate "
"chrdev region (err %d)\n", -ret);
Since new api passes dev_t*, hoist inline MKDEV out to local var assignment, and replace other inline MKDEVs with new var. This patch brought to you by coccinelle/spatch, with some manual rework afterwards. cc: Hal Rosenstock <hal.rosenstock@gmail.com> cc: Roland Dreier <roland@kernel.org> cc: Sean Hefty <sean.hefty@intel.com> cc: linux-rdma@vger.kernel.org @ rcr_md @ identifier f; expression major, minor; expression ct, name; @@ f(...) { // ++ gives multiple inserts, needed for tty_io.c, fix up manually // fresh identifier apparently also helps here ++ dev_t devt; ++ devt = MKDEV(major,minor); <+... - register_chrdev_region + register_chrdev_ids ( - MKDEV(major,minor), + &devt, ct, name) ...+> } @ all_md depends on rcr_md @ // where above changes made, also do identifier f; expression major, minor; @@ f(...) { dev_t devt; devt = MKDEV(major,minor); <+... - MKDEV(major,minor) + devt ...+> } Signed-off-by: Jim Cromie <jim.cromie@gmail.com> --- drivers/infiniband/core/ucm.c | 2 +- drivers/infiniband/core/user_mad.c | 7 ++++--- drivers/infiniband/core/uverbs_main.c | 3 ++- drivers/infiniband/hw/ipath/ipath_file_ops.c | 2 +- drivers/infiniband/hw/qib/qib_file_ops.c | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-)