Re: [PATCH 9/9] HID: add compat support
From: Sam Ravnborg <hidden>
Date: 2008-05-11 21:18:24
Also in:
lkml
On Sun, May 11, 2008 at 11:07:08PM +0200, Jiri Slaby wrote:
On 05/11/2008 10:48 PM, Sam Ravnborg wrote:quoted
On Sun, May 11, 2008 at 10:00:43PM +0200, Jiri Slaby wrote:quoted
diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile index 8a5cbbe..c5bca8f 100644 --- a/drivers/hid/Makefile +++ b/drivers/hid/Makefile@@ -15,3 +15,25 @@ obj-$(CONFIG_USB_HID) += usbhid/obj-$(CONFIG_USB_MOUSE) += usbhid/ obj-$(CONFIG_USB_KBD) += usbhid/ +targets := hid-dummy.h + +ifdef CONFIG_HID_COMPAT + +obj-m += hid-dummy.o + +$(srctree)/$(src)/hid-dummy.c: $(obj)/hid-dummy.h + +$(obj)/hid-dummy.h: $(filter-out $(srctree)/drivers/hid/hid-dummy.c,$(wildcard $(srctree)/drivers/hid/*.c)) + @echo -e 'static void __always_inline hid_dummy_load(void)\n{' > $@ + @FUNS=`grep -h 'HID_COMPAT_LOAD_DRIVER(' $(srctree)/drivers/hid/*.c | \ + sed -e 's/HID_COMPAT_LOAD_DRIVER( *\([^ ]*\) *) *;/\1/'`; \ + for FUN in $$FUNS; do \ + echo -e "\textern void hid_compat_$$FUN(void);"; \ + done >> $@; \ + echo >> $@; \ + for FUN in $$FUNS; do \ + echo -e "\thid_compat_$$FUN();"; \ + done >> $@ + @echo "}" >> $@I would prefer to see this done explicit in favour of some magic makefile fragment as the above. It is much simpler to understand if done explicit. And it is not like we are talking 10 or 50 files here.Sorry, I don't understand you at all. Could you re-formulate what do you want to see rather than this? Maybe an example would be good.
The code above generates the file hid-dummy.h based on the HID_COMPAT_LOAD_DRIVER(*) text in a few .c files. So what I try to say is that we should replace the above with a hid-dummy.h file that is handedited. We could stick a few comments in the .h file explaining the usage too. Or maybe I'm just confused and misunderstood what the code does? Sam