Hi guys, I'm compiling a custom kernel with microdia driver in-tree just now, and found that, if I disable the evdev support, I get the following errors: CC [M] drivers/media/video/microdia/sn9c20x-usb.o drivers/media/video/microdia/sn9c20x-usb.c: In function ‘input_thread’: drivers/media/video/microdia/sn9c20x-usb.c:821: error: implicit declaration of function ‘set_freezable’ drivers/media/video/microdia/sn9c20x-usb.c:823: error: implicit declaration of function ‘kthread_should_stop’ drivers/media/video/microdia/sn9c20x-usb.c:831: error: ‘struct usb_sn9c20x’ has no member named ‘input_gpio’ drivers/media/video/microdia/sn9c20x-usb.c:834: error: implicit declaration of function ‘input_report_key’ drivers/media/video/microdia/sn9c20x-usb.c:834: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:835: error: ‘BTN_0’ undeclared (first use in this function) drivers/media/video/microdia/sn9c20x-usb.c:835: error: (Each undeclared identifier is reported only once drivers/media/video/microdia/sn9c20x-usb.c:835: error: for each function it appears in.) drivers/media/video/microdia/sn9c20x-usb.c:837: error: implicit declaration of function ‘input_sync’ drivers/media/video/microdia/sn9c20x-usb.c:837: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:840: error: implicit declaration of function ‘wait_event_freezable_timeout’ drivers/media/video/microdia/sn9c20x-usb.c: In function ‘sn9c20x_input_init’: drivers/media/video/microdia/sn9c20x-usb.c:852: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:852: error: implicit declaration of function ‘input_allocate_device’ drivers/media/video/microdia/sn9c20x-usb.c:853: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:856: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:858: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:862: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:865: error: implicit declaration of function ‘usb_to_input_id’ drivers/media/video/microdia/sn9c20x-usb.c:865: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:866: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:868: error: ‘EV_KEY’ undeclared (first use in this function) drivers/media/video/microdia/sn9c20x-usb.c:868: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:869: error: ‘BTN_0’ undeclared (first use in this function) drivers/media/video/microdia/sn9c20x-usb.c:869: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:870: error: ‘BTN_1’ undeclared (first use in this function) drivers/media/video/microdia/sn9c20x-usb.c:870: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:871: error: ‘BTN_2’ undeclared (first use in this function) drivers/media/video/microdia/sn9c20x-usb.c:871: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:872: error: ‘BTN_3’ undeclared (first use in this function) drivers/media/video/microdia/sn9c20x-usb.c:872: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:873: error: ‘BTN_4’ undeclared (first use in this function) drivers/media/video/microdia/sn9c20x-usb.c:873: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:874: error: ‘BTN_5’ undeclared (first use in this function) drivers/media/video/microdia/sn9c20x-usb.c:874: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:875: error: ‘BTN_6’ undeclared (first use in this function) drivers/media/video/microdia/sn9c20x-usb.c:875: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:876: error: ‘BTN_7’ undeclared (first use in this function) drivers/media/video/microdia/sn9c20x-usb.c:876: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:878: error: implicit declaration of function ‘input_register_device’ drivers/media/video/microdia/sn9c20x-usb.c:878: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:882: error: ‘struct usb_sn9c20x’ has no member named ‘input_task’ drivers/media/video/microdia/sn9c20x-usb.c:882: error: implicit declaration of function ‘kthread_run’ drivers/media/video/microdia/sn9c20x-usb.c:885: error: ‘struct usb_sn9c20x’ has no member named ‘input_task’ drivers/media/video/microdia/sn9c20x-usb.c: In function ‘sn9c20x_input_cleanup’: drivers/media/video/microdia/sn9c20x-usb.c:893: error: ‘struct usb_sn9c20x’ has no member named ‘input_task’ drivers/media/video/microdia/sn9c20x-usb.c:894: error: implicit declaration of function ‘kthread_stop’ drivers/media/video/microdia/sn9c20x-usb.c:894: error: ‘struct usb_sn9c20x’ has no member named ‘input_task’ drivers/media/video/microdia/sn9c20x-usb.c:896: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:897: error: implicit declaration of function ‘input_unregister_device’ drivers/media/video/microdia/sn9c20x-usb.c:897: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:898: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:899: error: implicit declaration of function ‘input_free_device’ drivers/media/video/microdia/sn9c20x-usb.c:899: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ drivers/media/video/microdia/sn9c20x-usb.c:900: error: ‘struct usb_sn9c20x’ has no member named ‘input_dev’ make[4]: *** [drivers/media/video/microdia/sn9c20x-usb.o] Error 1 make[3]: *** [drivers/media/video/microdia] Error 2 make[2]: *** [drivers/media/video] Error 2 make[1]: *** [drivers/media] Error 2 make: *** [drivers] Error 2
Enabling evdev support, the error disappears. BTW, to compile it in-tree, I did the following: * cloned the 2.6.30 rc8 linus tree, and copied my kernel config into it * cloned the prepare-for-kernel branch, and put it under drivers/media/video * applied the attached patch, to integrate the new driver with Kconfig and Makefiles * run make menuconfig, and enabled the driver, to be compiled as a module * built the kernel Corrado On Sat, May 30, 2009 at 4:34 AM, Daniel Ribeiro <[email protected]> wrote: > > Em Qui, 2009-05-28 às 10:31 -0700, GWater escreveu: >> 4. Also I don't wanna compile a whole kernel to see if it is working. > > You will need to if you want to submit it upstream. > > -- > Daniel Ribeiro > > > > > -- __________________________________________________________________________ dott. Corrado Zoccolo mailto:[email protected] PhD - Department of Computer Science - University of Pisa, Italy -------------------------------------------------------------------------- The self-confidence of a warrior is not the self-confidence of the average man. The average man seeks certainty in the eyes of the onlooker and calls that self-confidence. The warrior seeks impeccability in his own eyes and calls that humbleness. Tales of Power - C. Castaneda --~--~---------~--~----~------------~-------~--~----~ Lets make microdia webcams plug'n play, (currently plug'n pray) To post to this group, send email to [email protected] Visit us online https://groups.google.com/group/microdia -~----------~----~----~----~------~----~------~--~---
microdia-enable.patch
Description: Binary data
