All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anssi Hannula <anssi.hannula@gmail.com>
To: Andrew Morton <akpm@osdl.org>
Cc: dtor_core@ameritech.net, linux-joystick@atrey.karlin.mff.cuni.cz,
	linux-kernel@vger.kernel.org
Subject: Re: [patch 03/13] input: make input a multi-object module
Date: Sat, 27 May 2006 02:07:00 +0300	[thread overview]
Message-ID: <44778A14.4060500@gmail.com> (raw)
In-Reply-To: <20060526153246.267991ed.akpm@osdl.org>

Andrew Morton wrote:
> Anssi Hannula <anssi.hannula@gmail.com> wrote:
> 
>>Andrew Morton wrote:
>>
>>>Anssi Hannula <anssi.hannula@gmail.com> wrote:
>>>
>>>
>>>>>>>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.
>>>
>>>
>>>yup, thanks.
>>>
>>>I'd have thought that 3) is the path of least resistance.
>>>
>>>But it does require that input.c "knows" that input-ff.c was included in
>>>the build, which is not a thing we like to do.
>>
>>Well, it's going to be included as built-in and can't be built as a
>>module at all, so I think it's okay for us to do so?
> 
> 
> If that's the case then no EXPORT_SYMBOL_GPL() is needed - we just link the
> the two .o files together, link the result into vmlinux?
> 

Probably so, I was under the false assumption that even built-in modules
should use EXPORT_SYMBOL.

>>>Why should things in input.c call into input-ff.c, btw?  The way we
>>>normally would handle that is to add a register_something() API to input.c
>>>and input-ff.c would insert its callback via that interface.
>>
>>Yes, we could easily add a callback to e.g. struct input_dev, but is
>>that really preferred if the input-ff.c is built-in?
> 
> 
> Nope, not if they're as tightly-coupled as that.

Actually, they don't call each others functions at all (except for the
one we discuss below)... But if input-ff.o would be allowed as a module,
device drivers would either need to know at the build time if input-ff.o
is enabled (not an option, as it could be built as a module afterwards),
_or_ query input.o if the input-ff.o is registered in. However the
latter causes again the situation that nothing depends on input-ff.o and
it is never loaded...

> However it still might not be _appropriate_ for the input core code to call
> into the force-feedback code in this manner.  It certainly sounds unusual.
> 

I guess I could just use the normal event() handler in input_dev:
FF-capable input-drivers should assign input_ff_event() as the event()
or call input_ff_event() in their own event() handler.

Hmm, just came to me mind that input.o can be built as module if
EMBEDDED is set. But input-ff.o doesn't actually require input.o (it's
just not useful without it), so input-ff.o as a built-in wouldn't be a
problem. That's why I wanted them to be in a single module (so that if
input.o is a module, input-ff.o would also be part of that module
instead of being built-in). But I don't think there is someone who runs
with EMBEDDED enabled, INPUT as a module, INPUT_FF_EFFECTS enabled, and
doesn't like that input-ff.o cannot be built as a module.

So, I guess we go for a separate input-ff.o as a bool.

Unless you have any more thoughts, I'll make patches for (1) separate
input-ff.o from input.o so that input.c renaming is not required, and to
(2) use the input_dev->event() handler instead of input.o calling
input-ff.o.

-- 
Anssi Hannula


  reply	other threads:[~2006-05-26 23:07 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-26 16:11 [patch 00/13] input: force feedback updates, second time Anssi Hannula
2006-05-26 16:11 ` [patch 01/13] input: move fixp-arith.h to drivers/input Anssi Hannula
2006-05-26 16:11 ` [patch 02/13] input: fix accuracy of fixp-arith.h Anssi Hannula
2006-05-26 16:11 ` [patch 03/13] input: make input a multi-object module Anssi Hannula
2006-05-26 21:16   ` Andrew Morton
2006-05-26 21:29     ` Anssi Hannula
2006-05-26 21:43       ` Andrew Morton
2006-05-26 21:53         ` Anssi Hannula
2006-05-26 22:08           ` Andrew Morton
2006-05-26 22:22             ` Anssi Hannula
2006-05-26 22:32               ` Andrew Morton
2006-05-26 23:07                 ` Anssi Hannula [this message]
2006-05-26 23:28                   ` Andrew Morton
2006-05-26 23:35                     ` Anssi Hannula
2006-05-26 23:45                       ` Andrew Morton
2006-05-27  0:46                         ` [patch] input: new force feedback interface Anssi Hannula
2006-05-27  0:53                         ` [patch] input: use event handler in ff drivers Anssi Hannula
2006-05-26 16:11 ` [patch 04/13] input: new force feedback interface Anssi Hannula
2006-05-26 16:11 ` [patch 05/13] input: adapt hid force feedback drivers for the new interface Anssi Hannula
2006-05-26 16:11 ` [patch 06/13] input: adapt uinput for the new force feedback interface Anssi Hannula
2006-05-26 16:11 ` [patch 07/13] input: adapt iforce driver " Anssi Hannula
2006-05-26 16:11 ` [patch 08/13] input: force feedback driver for PID devices Anssi Hannula
2006-05-26 16:11 ` [patch 09/13] input: force feedback driver for Zeroplus devices Anssi Hannula
2006-05-26 16:11 ` [patch 10/13] input: update documentation of force feedback Anssi Hannula
2006-05-26 16:11 ` [patch 11/13] input: drop the remains of the old ff interface Anssi Hannula
2006-05-26 16:11 ` [patch 12/13] input: drop the old PID driver Anssi Hannula
2006-05-26 16:11 ` [patch 13/13] input: use -ENOSPC instead of -ENOMEM in iforce when device full Anssi Hannula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44778A14.4060500@gmail.com \
    --to=anssi.hannula@gmail.com \
    --cc=akpm@osdl.org \
    --cc=dtor_core@ameritech.net \
    --cc=linux-joystick@atrey.karlin.mff.cuni.cz \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.