* [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.