* [Xenomai] how to bring gpio to user space
[not found] ` <CALLqZ8SkbLmcv4vLUV-gudwi5L_-GbnBAKXNMCYo0J-jsvdBoQ@mail.gmail.com>
@ 2018-05-02 8:42 ` Шевченко Тарас Григорьевич
2018-05-02 13:47 ` Greg Gallagher
0 siblings, 1 reply; 4+ messages in thread
From: Шевченко Тарас Григорьевич @ 2018-05-02 8:42 UTC (permalink / raw)
To: Greg Gallagher, xenomai; +Cc: Olej
HI Community
I try to register simple rtdm gpio driver
but get the error EEXIST ? could you explain what is wrong or missing ?
and what daes it mean "invalid opcode: 0000 [#1] SMP" ?
[ 1415.642644] gpio Driver Init
[ 1415.642646] gpio TRY register Driver
[ 1415.642881] err number = -17
[ 1415.642885] err EEXIST = -17
[ 1415.642922] ------------[ cut here ]------------
[ 1415.643010] kernel BUG at mm/slub.c:3873!
[ 1415.643066] invalid opcode: 0000 [#1] SMP
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gpio_driver_ks.c
Type: text/x-c++src
Size: 4046 bytes
Desc: not available
URL: <http://xenomai.org/pipermail/xenomai/attachments/20180502/78927eff/attachment.c>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai] how to bring gpio to user space
2018-05-02 8:42 ` [Xenomai] how to bring gpio to user space Шевченко Тарас Григорьевич
@ 2018-05-02 13:47 ` Greg Gallagher
2018-05-02 13:56 ` Шевченко Тарас Григорьевич
0 siblings, 1 reply; 4+ messages in thread
From: Greg Gallagher @ 2018-05-02 13:47 UTC (permalink / raw)
To: Шевченко
Тарас
Григорьевич
Cc: Olej, xenomai
It looks like you are calling rtdm_dev_register twice, so the second
one complains that it already exists. Take out the second call and
see what happens.
// rtdm_sem_init(&sem, 0); // init the global semaphore
rtdm_printk("gpio TRY register Driver \n");
err=rtdm_dev_register(&device);
if ((err=rtdm_dev_register(&device))!=0){
// gpio_free(GPIO_PIN);
rtdm_printk("err number = %d\n",err);
if(err == -EINVAL)
rtdm_printk("err EINVAL = %d\n",err);
if(err == -EEXIST)
rtdm_printk("err EEXIST = %d\n",err);
if(err == -ENOMEM)
rtdm_printk("err ENOMEM = %d\n",err);
if(err == -EAGAIN)
rtdm_printk("err EAGAIN = %d\n",err);
if(err == -ENOSYS)
rtdm_printk("err ENOSYS = %d\n",err);
if(err == -ENXIO)
rtdm_printk("err ENXIO = %d\n",err);
kfree(&device);
return err;
}
-Greg
On Wed, May 2, 2018 at 4:42 AM, Шевченко Тарас Григорьевич
<shevchenko.taras@triolcorp.com.ua> wrote:
> HI Community
> I try to register simple rtdm gpio driver
>
> but get the error EEXIST ? could you explain what is wrong or missing ?
> and what daes it mean "invalid opcode: 0000 [#1] SMP" ?
>
> [ 1415.642644] gpio Driver Init
> [ 1415.642646] gpio TRY register Driver
> [ 1415.642881] err number = -17
> [ 1415.642885] err EEXIST = -17
> [ 1415.642922] ------------[ cut here ]------------
> [ 1415.643010] kernel BUG at mm/slub.c:3873!
> [ 1415.643066] invalid opcode: 0000 [#1] SMP
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai] how to bring gpio to user space
2018-05-02 13:47 ` Greg Gallagher
@ 2018-05-02 13:56 ` Шевченко Тарас Григорьевич
2018-05-02 13:59 ` Greg Gallagher
0 siblings, 1 reply; 4+ messages in thread
From: Шевченко Тарас Григорьевич @ 2018-05-02 13:56 UTC (permalink / raw)
To: Greg Gallagher; +Cc: Olej, xenomai
yes, sorry for this and thanks for help
С уважением и надеждой на сотрудничество,
Шевченко Т.Г.
----- Исходное сообщение -----
От: "Greg Gallagher" <greg@embeddedgreg.com>
Кому: "Шевченко Тарас Григорьевич" <shevchenko.taras@triolcorp.com.ua>
Копия: "xenomai" <xenomai@xenomai.org>, "Olej" <o.tsiliuric@yandex.ru>
Отправленные: Среда, 2 Май 2018 г 16:47:57
Тема: Re: how to bring gpio to user space
It looks like you are calling rtdm_dev_register twice, so the second
one complains that it already exists. Take out the second call and
see what happens.
// rtdm_sem_init(&sem, 0); // init the global semaphore
rtdm_printk("gpio TRY register Driver \n");
err=rtdm_dev_register(&device);
if ((err=rtdm_dev_register(&device))!=0){
// gpio_free(GPIO_PIN);
rtdm_printk("err number = %d\n",err);
if(err == -EINVAL)
rtdm_printk("err EINVAL = %d\n",err);
if(err == -EEXIST)
rtdm_printk("err EEXIST = %d\n",err);
if(err == -ENOMEM)
rtdm_printk("err ENOMEM = %d\n",err);
if(err == -EAGAIN)
rtdm_printk("err EAGAIN = %d\n",err);
if(err == -ENOSYS)
rtdm_printk("err ENOSYS = %d\n",err);
if(err == -ENXIO)
rtdm_printk("err ENXIO = %d\n",err);
kfree(&device);
return err;
}
-Greg
On Wed, May 2, 2018 at 4:42 AM, Шевченко Тарас Григорьевич
<shevchenko.taras@triolcorp.com.ua> wrote:
> HI Community
> I try to register simple rtdm gpio driver
>
> but get the error EEXIST ? could you explain what is wrong or missing ?
> and what daes it mean "invalid opcode: 0000 [#1] SMP" ?
>
> [ 1415.642644] gpio Driver Init
> [ 1415.642646] gpio TRY register Driver
> [ 1415.642881] err number = -17
> [ 1415.642885] err EEXIST = -17
> [ 1415.642922] ------------[ cut here ]------------
> [ 1415.643010] kernel BUG at mm/slub.c:3873!
> [ 1415.643066] invalid opcode: 0000 [#1] SMP
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Xenomai] how to bring gpio to user space
2018-05-02 13:56 ` Шевченко Тарас Григорьевич
@ 2018-05-02 13:59 ` Greg Gallagher
0 siblings, 0 replies; 4+ messages in thread
From: Greg Gallagher @ 2018-05-02 13:59 UTC (permalink / raw)
To: Шевченко
Тарас
Григорьевич
Cc: Olej, xenomai
No problem, I think the rest of the log was from the panic and may not
be an issue after this fix.
On Wed, May 2, 2018 at 9:56 AM, Шевченко Тарас Григорьевич
<shevchenko.taras@triolcorp.com.ua> wrote:
> yes, sorry for this and thanks for help
>
> С уважением и надеждой на сотрудничество,
> Шевченко Т.Г.
>
> ----- Исходное сообщение -----
> От: "Greg Gallagher" <greg@embeddedgreg.com>
> Кому: "Шевченко Тарас Григорьевич" <shevchenko.taras@triolcorp.com.ua>
> Копия: "xenomai" <xenomai@xenomai.org>, "Olej" <o.tsiliuric@yandex.ru>
> Отправленные: Среда, 2 Май 2018 г 16:47:57
> Тема: Re: how to bring gpio to user space
>
> It looks like you are calling rtdm_dev_register twice, so the second
> one complains that it already exists. Take out the second call and
> see what happens.
>
>
> // rtdm_sem_init(&sem, 0); // init the global semaphore
> rtdm_printk("gpio TRY register Driver \n");
> err=rtdm_dev_register(&device);
> if ((err=rtdm_dev_register(&device))!=0){
> // gpio_free(GPIO_PIN);
> rtdm_printk("err number = %d\n",err);
> if(err == -EINVAL)
> rtdm_printk("err EINVAL = %d\n",err);
> if(err == -EEXIST)
> rtdm_printk("err EEXIST = %d\n",err);
> if(err == -ENOMEM)
> rtdm_printk("err ENOMEM = %d\n",err);
> if(err == -EAGAIN)
> rtdm_printk("err EAGAIN = %d\n",err);
> if(err == -ENOSYS)
> rtdm_printk("err ENOSYS = %d\n",err);
> if(err == -ENXIO)
> rtdm_printk("err ENXIO = %d\n",err);
>
> kfree(&device);
> return err;
> }
>
> -Greg
>
> On Wed, May 2, 2018 at 4:42 AM, Шевченко Тарас Григорьевич
> <shevchenko.taras@triolcorp.com.ua> wrote:
>> HI Community
>> I try to register simple rtdm gpio driver
>>
>> but get the error EEXIST ? could you explain what is wrong or missing ?
>> and what daes it mean "invalid opcode: 0000 [#1] SMP" ?
>>
>> [ 1415.642644] gpio Driver Init
>> [ 1415.642646] gpio TRY register Driver
>> [ 1415.642881] err number = -17
>> [ 1415.642885] err EEXIST = -17
>> [ 1415.642922] ------------[ cut here ]------------
>> [ 1415.643010] kernel BUG at mm/slub.c:3873!
>> [ 1415.643066] invalid opcode: 0000 [#1] SMP
>>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-05-02 13:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <o8krfbogm8lie1nfuolb6du4.1524796511535@embeddedgreg.com>
[not found] ` <1430984661.4004024.1524839797276.JavaMail.zimbra@triolcorp.com.ua>
[not found] ` <CALLqZ8RkP3D3z4eCfpevvAtujL5PfcLqK2NTfBakWaKprhTmoA@mail.gmail.com>
[not found] ` <865117766.4054244.1524858734306.JavaMail.zimbra@triolcorp.com.ua>
[not found] ` <CALLqZ8SkbLmcv4vLUV-gudwi5L_-GbnBAKXNMCYo0J-jsvdBoQ@mail.gmail.com>
2018-05-02 8:42 ` [Xenomai] how to bring gpio to user space Шевченко Тарас Григорьевич
2018-05-02 13:47 ` Greg Gallagher
2018-05-02 13:56 ` Шевченко Тарас Григорьевич
2018-05-02 13:59 ` Greg Gallagher
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.