Re: [patch 03/13] input: make input a multi-object module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrew Morton wrote:
> Anssi Hannula <[email protected]> wrote:
> 
>>Andrew Morton wrote:
>>
>>>Anssi Hannula <[email protected]> wrote:
>>>
>>>
>>>>Move the input.c to input-core.c and modify Makefile so that the input module
>>>>can be built from multiple source files. This is preparing for the input-ff.c.
>>>>
>>>>Signed-off-by: Anssi Hannula <[email protected]>
>>>>
>>>>---
>>>>drivers/input/Makefile     |    2 
>>>>drivers/input/input-core.c | 1099 +++++++++++++++++++++++++++++++++++++++++++++
>>>>drivers/input/input.c      | 1099 ---------------------------------------------
>>>
>>>urgh.  There are other changes pending againt input.c and this renaming
>>>makes everything a huge pain.
>>>
>>>What does "can be built from multiple source files" mean?
>>
>>Well, I want to embed the input-ff.c into the input module too.
> 
> 
> What does "embed" mean?  #include a .c file, or what?  (If "yes" then "no",
> there's enough of that happening and it's an awful thing to do).
> 

No, but this (from Documentation/kbuild/makefiles.txt):
<clip>
	If a kernel module is built from several source files, you specify
	that you want to build a module in the same way as above.

	Kbuild needs to know which the parts that you want to build your
	module from, so you have to tell it by setting an
	$(<module_name>-objs) variable.

	Example:
		#drivers/isdn/i4l/Makefile
		obj-$(CONFIG_ISDN) += isdn.o
		isdn-objs := isdn_net_lib.o isdn_v110.o isdn_common.o

	In this example, the module name will be isdn.o. Kbuild will
	compile the objects listed in $(isdn-objs) and then run
	"$(LD) -r" on the list of these files to generate isdn.o.
</clip>

input.o would be the "module" name, and it would be by default build
from input-core.o, and if INPUT_FF_EFFECTS is enabled, then also input-ff.o.

Then any functions in input-ff.c that are called from input-core.c would
not need to be EXPORT_SYMBOLed to the rest of the kernel.

Note especially that the module name of such module can't be the same as
one of the source files that the module is built from (I tried). That's
the reason for the rename.

>>>It would be much nicer all round if we could avoid renaming this file.
>>
>>Indeed... There are these 4 options as far as I see:
>>
>>1. Do this rename
>>2. Put all the code in input-ff.c to input.c
>>3. Make the input-ff a separate bool "module" and add
>>EXPORT_SYMBOL_GPL() for input_ff_event() which is currently the only
>>function in input-ff.c that is called from input.c
>>4. Rename the input "module" to something else, it doesn't matter so
>>much as almost everybody builds it as built-in anyway.
>>
>>WDYT is the best one?
> 
> 
> I still don't know what problem you're trying to solve so I cannot say.

Maybe you know now.

-- 
Anssi Hannula

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux