Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1334109 > unrolled thread
| Started by | "Huang\, Ying" <ying.huang@intel.com> |
|---|---|
| First post | 2016-02-15 03:40 +0100 |
| Last post | 2016-02-24 17:10 +0100 |
| Articles | 5 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [LKP] [lkp] [gpio] 3c702e9987: kmsg.user_verbs:couldn't_register_device_number "Huang\, Ying" <ying.huang@intel.com> - 2016-02-15 03:40 +0100
Re: [LKP] [lkp] [gpio] 3c702e9987: kmsg.user_verbs:couldn't_register_device_number Linus Walleij <linus.walleij@linaro.org> - 2016-02-15 10:40 +0100
Re: [LKP] [lkp] [gpio] 3c702e9987: kmsg.user_verbs:couldn't_register_device_number "Huang\, Ying" <ying.huang@intel.com> - 2016-02-23 07:40 +0100
Re: [LKP] [lkp] [gpio] 3c702e9987: kmsg.user_verbs:couldn't_register_device_number Michael Welling <mwelling@ieee.org> - 2016-02-23 23:00 +0100
Re: [LKP] [lkp] [gpio] 3c702e9987: kmsg.user_verbs:couldn't_register_device_number Linus Walleij <linus.walleij@linaro.org> - 2016-02-24 17:10 +0100
| From | "Huang\, Ying" <ying.huang@intel.com> |
|---|---|
| Date | 2016-02-15 03:40 +0100 |
| Subject | Re: [LKP] [lkp] [gpio] 3c702e9987: kmsg.user_verbs:couldn't_register_device_number |
| Message-ID | <r2heW-31E-13@gated-at.bofh.it> |
Michael Welling <mwelling@ieee.org> writes:
> On Sun, Feb 14, 2016 at 02:59:06PM +0800, kernel test robot wrote:
>> FYI, we noticed the below changes on
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git chardev
>> commit 3c702e9987e261042a07e43460a8148be254412e ("gpio: add a userspace chardev ABI for GPIOs")
>>
>>
>> [ 1.951191] user_verbs: couldn't register device number
>
> Looks like user_verbs is using a static device node setup.
>
> enum {
> IB_UVERBS_MAJOR = 231,
> IB_UVERBS_BASE_MINOR = 192,
> IB_UVERBS_MAX_DEVICES = 32
> };
>
> #define IB_UVERBS_BASE_DEV MKDEV(IB_UVERBS_MAJOR, IB_UVERBS_BASE_MINOR)
>
> Something tells me that a new GPIO chardev is taking this spot.
>
> It looks like the device is documented to be using the range:
> https://www.kernel.org/doc/Documentation/devices.txt
>
> Could you run cat /proc/devices?
>
Sorry, the test mechanism is not flexible enough to run some shell
command in test system. Could you provide a specialized debug kernel to
dump the necessary information in kernel log? We can collect dmesg
easily.
Best Regards,
Huang, Ying
[toc] | [next] | [standalone]
| From | Linus Walleij <linus.walleij@linaro.org> |
|---|---|
| Date | 2016-02-15 10:40 +0100 |
| Message-ID | <r2nNp-7tb-25@gated-at.bofh.it> |
| In reply to | #1334109 |
On Mon, Feb 15, 2016 at 3:39 AM, Huang, Ying <ying.huang@intel.com> wrote:
> Michael Welling <mwelling@ieee.org> writes:
>> Could you run cat /proc/devices?
>
> Sorry, the test mechanism is not flexible enough to run some shell
> command in test system. Could you provide a specialized debug kernel to
> dump the necessary information in kernel log? We can collect dmesg
> easily.
Can you try this:
diff --git a/fs/char_dev.c b/fs/char_dev.c
index 24b142569ca9..74a2d433273e 100644
--- a/fs/char_dev.c
+++ b/fs/char_dev.c
@@ -96,6 +96,8 @@ __register_chrdev_region(unsigned int major,
unsigned int baseminor,
goto out;
}
major = i;
+ pr_info("CHARDEV: allocate major %d for \"%s\"\n",
+ i, name);
}
cd->major = major;
Then dmesg |grep CHARDEV should tell what we need to know.
Yours,
Linus Walleij
[toc] | [prev] | [next] | [standalone]
| From | "Huang\, Ying" <ying.huang@intel.com> |
|---|---|
| Date | 2016-02-23 07:40 +0100 |
| Message-ID | <r5eNz-1oL-9@gated-at.bofh.it> |
| In reply to | #1334323 |
[Multipart message — attachments visible in raw view] — view raw
Linus Walleij <linus.walleij@linaro.org> writes:
> On Mon, Feb 15, 2016 at 3:39 AM, Huang, Ying <ying.huang@intel.com> wrote:
>> Michael Welling <mwelling@ieee.org> writes:
>
>>> Could you run cat /proc/devices?
>>
>> Sorry, the test mechanism is not flexible enough to run some shell
>> command in test system. Could you provide a specialized debug kernel to
>> dump the necessary information in kernel log? We can collect dmesg
>> easily.
>
> Can you try this:
>
> diff --git a/fs/char_dev.c b/fs/char_dev.c
> index 24b142569ca9..74a2d433273e 100644
> --- a/fs/char_dev.c
> +++ b/fs/char_dev.c
> @@ -96,6 +96,8 @@ __register_chrdev_region(unsigned int major,
> unsigned int baseminor,
> goto out;
> }
> major = i;
> + pr_info("CHARDEV: allocate major %d for \"%s\"\n",
> + i, name);
> }
>
> cd->major = major;
>
> Then dmesg |grep CHARDEV should tell what we need to know.
Sorry for late, the dmesg with the patch is attached. And the output of
dmesg | grep CHARDEV is as follow:
[ 0.750037] CHARDEV: allocate major 254 for "gpiochip"
[ 0.897928] CHARDEV: allocate major 253 for "tpm"
[ 0.904196] CHARDEV: allocate major 252 for "ndctl"
[ 0.905295] CHARDEV: allocate major 251 for "dimmctl"
[ 0.909573] CHARDEV: allocate major 250 for "pps"
[ 0.913740] CHARDEV: allocate major 249 for "ptp"
[ 0.916711] CHARDEV: allocate major 248 for "iio"
[ 1.227597] CHARDEV: allocate major 247 for "bsg"
[ 1.577194] CHARDEV: allocate major 246 for "gsmtty"
[ 1.614921] CHARDEV: allocate major 245 for "ttyn"
[ 1.616044] CHARDEV: allocate major 244 for "ttyARC"
[ 1.617177] CHARDEV: allocate major 243 for "ttyRP"
[ 1.618310] CHARDEV: allocate major 242 for "ttyLP"
[ 1.620618] CHARDEV: allocate major 241 for "noz"
[ 1.621707] CHARDEV: allocate major 240 for "ttyIPWp"
[ 1.630024] CHARDEV: allocate major 239 for "telco_clock"
[ 1.632315] CHARDEV: allocate major 239 for "cmm"
[ 1.681375] CHARDEV: allocate major 238 for "hpilo"
[ 1.696757] CHARDEV: allocate major 237 for "aac"
[ 1.699338] CHARDEV: allocate major 236 for "megadev_legacy"
[ 1.704680] CHARDEV: allocate major 235 for "megaraid_sas_ioctl"
[ 1.731179] CHARDEV: allocate major 234 for "pmcsas"
[ 1.737520] CHARDEV: allocate major 233 for "nvme"
[ 2.388531] CHARDEV: allocate major 232 for "firewire"
[ 2.389743] CHARDEV: allocate major 231 for "uio"
[ 2.904429] CHARDEV: allocate major 230 for "ttySDIO"
[ 2.922374] CHARDEV: allocate major 229 for "ib_qib"
[ 2.927559] CHARDEV: allocate major 228 for "hidraw"
[ 2.952328] CHARDEV: allocate major 227 for "fwtty"
[ 2.953435] CHARDEV: allocate major 225 for "fwloop"
Best Regards,
Huang, Ying
[toc] | [prev] | [next] | [standalone]
| From | Michael Welling <mwelling@ieee.org> |
|---|---|
| Date | 2016-02-23 23:00 +0100 |
| Subject | Re: [LKP] [lkp] [gpio] 3c702e9987: kmsg.user_verbs:couldn't_register_device_number |
| Message-ID | <r5t9U-2Zj-11@gated-at.bofh.it> |
| In reply to | #1340334 |
On Tue, Feb 23, 2016 at 02:35:14PM +0800, Huang, Ying wrote:
> Linus Walleij <linus.walleij@linaro.org> writes:
>
> > On Mon, Feb 15, 2016 at 3:39 AM, Huang, Ying <ying.huang@intel.com> wrote:
> >> Michael Welling <mwelling@ieee.org> writes:
> >
> >>> Could you run cat /proc/devices?
> >>
> >> Sorry, the test mechanism is not flexible enough to run some shell
> >> command in test system. Could you provide a specialized debug kernel to
> >> dump the necessary information in kernel log? We can collect dmesg
> >> easily.
> >
> > Can you try this:
> >
> > diff --git a/fs/char_dev.c b/fs/char_dev.c
> > index 24b142569ca9..74a2d433273e 100644
> > --- a/fs/char_dev.c
> > +++ b/fs/char_dev.c
> > @@ -96,6 +96,8 @@ __register_chrdev_region(unsigned int major,
> > unsigned int baseminor,
> > goto out;
> > }
> > major = i;
> > + pr_info("CHARDEV: allocate major %d for \"%s\"\n",
> > + i, name);
> > }
> >
> > cd->major = major;
> >
> > Then dmesg |grep CHARDEV should tell what we need to know.
>
> Sorry for late, the dmesg with the patch is attached. And the output of
> dmesg | grep CHARDEV is as follow:
>
> [ 0.750037] CHARDEV: allocate major 254 for "gpiochip"
> [ 0.897928] CHARDEV: allocate major 253 for "tpm"
> [ 0.904196] CHARDEV: allocate major 252 for "ndctl"
> [ 0.905295] CHARDEV: allocate major 251 for "dimmctl"
> [ 0.909573] CHARDEV: allocate major 250 for "pps"
> [ 0.913740] CHARDEV: allocate major 249 for "ptp"
> [ 0.916711] CHARDEV: allocate major 248 for "iio"
> [ 1.227597] CHARDEV: allocate major 247 for "bsg"
> [ 1.577194] CHARDEV: allocate major 246 for "gsmtty"
> [ 1.614921] CHARDEV: allocate major 245 for "ttyn"
> [ 1.616044] CHARDEV: allocate major 244 for "ttyARC"
> [ 1.617177] CHARDEV: allocate major 243 for "ttyRP"
> [ 1.618310] CHARDEV: allocate major 242 for "ttyLP"
> [ 1.620618] CHARDEV: allocate major 241 for "noz"
> [ 1.621707] CHARDEV: allocate major 240 for "ttyIPWp"
> [ 1.630024] CHARDEV: allocate major 239 for "telco_clock"
> [ 1.632315] CHARDEV: allocate major 239 for "cmm"
> [ 1.681375] CHARDEV: allocate major 238 for "hpilo"
> [ 1.696757] CHARDEV: allocate major 237 for "aac"
> [ 1.699338] CHARDEV: allocate major 236 for "megadev_legacy"
> [ 1.704680] CHARDEV: allocate major 235 for "megaraid_sas_ioctl"
> [ 1.731179] CHARDEV: allocate major 234 for "pmcsas"
Not sure how this is the first time this problem has come up.
There is an obvious overlap here into the statically allocated region.
> [ 1.737520] CHARDEV: allocate major 233 for "nvme"
> [ 2.388531] CHARDEV: allocate major 232 for "firewire"
> [ 2.389743] CHARDEV: allocate major 231 for "uio"
> [ 2.904429] CHARDEV: allocate major 230 for "ttySDIO"
> [ 2.922374] CHARDEV: allocate major 229 for "ib_qib"
> [ 2.927559] CHARDEV: allocate major 228 for "hidraw"
> [ 2.952328] CHARDEV: allocate major 227 for "fwtty"
> [ 2.953435] CHARDEV: allocate major 225 for "fwloop"
>
> Best Regards,
> Huang, Ying
[toc] | [prev] | [next] | [standalone]
| From | Linus Walleij <linus.walleij@linaro.org> |
|---|---|
| Date | 2016-02-24 17:10 +0100 |
| Message-ID | <r5KaK-6ZF-13@gated-at.bofh.it> |
| In reply to | #1340334 |
On Tue, Feb 23, 2016 at 7:35 AM, Huang, Ying <ying.huang@intel.com> wrote: >> On Mon, Feb 15, 2016 at 3:39 AM, Huang, Ying <ying.huang@intel.com> wrote: >>> Michael Welling <mwelling@ieee.org> writes: >> Then dmesg |grep CHARDEV should tell what we need to know. > > Sorry for late, the dmesg with the patch is attached. And the output of > dmesg | grep CHARDEV is as follow: > > [ 0.750037] CHARDEV: allocate major 254 for "gpiochip" > [ 0.897928] CHARDEV: allocate major 253 for "tpm" > [ 0.904196] CHARDEV: allocate major 252 for "ndctl" > [ 0.905295] CHARDEV: allocate major 251 for "dimmctl" > [ 0.909573] CHARDEV: allocate major 250 for "pps" > [ 0.913740] CHARDEV: allocate major 249 for "ptp" > [ 0.916711] CHARDEV: allocate major 248 for "iio" > [ 1.227597] CHARDEV: allocate major 247 for "bsg" > [ 1.577194] CHARDEV: allocate major 246 for "gsmtty" > [ 1.614921] CHARDEV: allocate major 245 for "ttyn" > [ 1.616044] CHARDEV: allocate major 244 for "ttyARC" > [ 1.617177] CHARDEV: allocate major 243 for "ttyRP" > [ 1.618310] CHARDEV: allocate major 242 for "ttyLP" > [ 1.620618] CHARDEV: allocate major 241 for "noz" > [ 1.621707] CHARDEV: allocate major 240 for "ttyIPWp" > [ 1.630024] CHARDEV: allocate major 239 for "telco_clock" > [ 1.632315] CHARDEV: allocate major 239 for "cmm" > [ 1.681375] CHARDEV: allocate major 238 for "hpilo" > [ 1.696757] CHARDEV: allocate major 237 for "aac" > [ 1.699338] CHARDEV: allocate major 236 for "megadev_legacy" > [ 1.704680] CHARDEV: allocate major 235 for "megaraid_sas_ioctl" > [ 1.731179] CHARDEV: allocate major 234 for "pmcsas" > [ 1.737520] CHARDEV: allocate major 233 for "nvme" > [ 2.388531] CHARDEV: allocate major 232 for "firewire" > [ 2.389743] CHARDEV: allocate major 231 for "uio" > [ 2.904429] CHARDEV: allocate major 230 for "ttySDIO" > [ 2.922374] CHARDEV: allocate major 229 for "ib_qib" > [ 2.927559] CHARDEV: allocate major 228 for "hidraw" > [ 2.952328] CHARDEV: allocate major 227 for "fwtty" > [ 2.953435] CHARDEV: allocate major 225 for "fwloop" Oh that's a complete train wreck. Well I will keep working on the patch to improve dynamic allocation of majors that I'm reiterating with Torvalds in the look. Yours, Linus Walleij
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web