linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Frysinger <vapier.adi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "Hennerich,
	Michael"
	<Michael.Hennerich-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org>
Cc: David Brownell <david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>,
	uclinux-dist-devel-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.org,
	dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v3] add analog devices AD714X captouchinput driver
Date: Fri, 9 Oct 2009 04:56:26 -0400	[thread overview]
Message-ID: <8bd0f97a0910090156g2a8fba58r4085422f3a79c892@mail.gmail.com> (raw)
In-Reply-To: <8A42379416420646B9BFAC9682273B6D0DC3BD95-pcKY8lWzTjquVPpjEGsWsTcYPEmu4y7e@public.gmane.org>

On Fri, Sep 11, 2009 at 09:19, Hennerich, Michael wrote:
> On Friday 11 September 2009, Song, Barry wrote:
> +static int __init ad714x_init(void)
> +{
> +
> +       int ret = 0;
> +       ret = ad714x_spi_register_driver(&ad714x_spi_driver);
> +       if (ret)
> +               goto err;
> +       ret = ad714x_i2c_add_driver(&ad714x_i2c_driver);
> +       if (ret)
> +               ad714x_spi_unregister_driver(&ad714x_spi_driver);
> +err:
> +       return ret;
> +}
> +
> +static void __exit ad714x_exit(void)
> +{
> +       ad714x_spi_unregister_driver(&ad714x_spi_driver);
> +       ad714x_i2c_del_driver(&ad714x_i2c_driver);
> +}
>
> This doesn't make much sense!
> Assuming we have two AD714x in a system. One connected by SPI the other
> by I2C.
> Why would I remove the SPI one in case the other I2C fails, or not even
> try the SPI one if the I2C fails?

is this a realistic problem ?  we arent talking about failure to probe
the device, we're talking about failure to register the driver as
available.  i.e. the only way the module_init step should fail is if
i2c_add_driver() or spi_register_driver() fails.  and if either of
those fail, it's most likely a pretty bad situation.

failure to probe/detect/talk to the device are a different issue and a
problem with one interface will not affect the other.

> Who says that a driver can't have two module_init()?

Mr. C Code says it wont work.  if ad714x is built as a module and both
I2C and SPI support are enabled, we get:
drivers/input/misc/ad714x.c:1621: error: redefinition of ‘__inittest’
drivers/input/misc/ad714x.c:1492: error: previous definition of
‘__inittest’ was here

these lines correspond to the module_init() macro

linux/init.h says:
/* Each module must use one module_init(). */
#define module_init(initfn)                 \
    static inline initcall_t __inittest(void)       \
    { return initfn; }                  \
    int init_module(void) __attribute__((alias(#initfn)));

and indeed, the error makes sense -- you cant have multiple functions
named the same thing (in this case, we'd have two __inittest() and two
init_module())
-mike
_______________________________________________
Uclinux-dist-devel mailing list
Uclinux-dist-devel@blackfin.uclinux.org
https://blackfin.uclinux.org/mailman/listinfo/uclinux-dist-devel

  parent reply	other threads:[~2009-10-09  8:56 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-11  6:53 [PATCH v3] add analog devices AD714X captouch input driver Barry Song
2009-09-11 13:19 ` [Uclinux-dist-devel] [PATCH v3] add analog devices AD714X captouchinput driver Hennerich, Michael
2009-09-11 13:28   ` [Uclinux-dist-devel] [PATCH v3] add analog devices AD714Xcaptouchinput driver Hennerich, Michael
     [not found]   ` <8A42379416420646B9BFAC9682273B6D0DC3BD95-pcKY8lWzTjquVPpjEGsWsTcYPEmu4y7e@public.gmane.org>
2009-10-09  8:56     ` Mike Frysinger [this message]
     [not found]       ` <8bd0f97a0910090156g2a8fba58r4085422f3a79c892-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-09  9:03         ` [PATCH v3] add analog devices AD714X captouchinput driver David Woodhouse
     [not found]           ` <1255079007.8362.70.camel-uXGAPMMVk8bAQYKIod7YupZV94DADvEd@public.gmane.org>
2009-10-09  9:18             ` Mike Frysinger
     [not found]               ` <8bd0f97a0910090218j6a2aa6aaq497fba3f04d7b19f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-09  9:20                 ` David Woodhouse
2009-10-09 10:11                 ` Mike Frysinger
     [not found]                   ` <8bd0f97a0910090311t5f5167c8r336afaa6f790e1a9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-09 16:22                     ` Dmitry Torokhov
     [not found]                       ` <20091009162219.GB1092-WlK9ik9hQGAhIp7JRqBPierSzoNAToWh@public.gmane.org>
2009-10-10  2:24                         ` Barry Song
     [not found]                           ` <3c17e3570910091924p68a248e6q3dd2640acc17c90d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-10 20:38                             ` Mike Frysinger
     [not found]                               ` <8bd0f97a0910101338y46cb227hdc6d83c3c6622a21-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-12 17:08                                 ` Mike Frysinger
     [not found]                                   ` <8bd0f97a0910121008l1563803bu766e7d0868254a9f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-13  3:05                                     ` Barry Song
     [not found]                                       ` <3c17e3570910122005j16c5e0fcgc542172ca9c4a0d2-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-13  4:26                                         ` Barry Song
2009-10-09 21:33                 ` Jiri Kosina
     [not found]                   ` <alpine.LRH.2.00.0910092331040.12171-1ReQVI26iDCaZKY3DrU6dA@public.gmane.org>
2009-10-09 21:36                     ` Mike Frysinger
2009-10-09 10:34         ` [PATCH v3] add analog devices AD714Xcaptouchinput driver Song, Barry
2009-09-14  3:36 ` [Uclinux-dist-devel] [PATCH v3] add analog devices AD714X captouch input driver Mike Frysinger
     [not found] ` <1252652006-5270-1-git-send-email-21cnbao-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-10-13  6:02   ` [PATCH v4] input/misc: add Analog Devices AD714x " Mike Frysinger
2009-10-20  8:37     ` [PATCH v5] " Mike Frysinger
     [not found]       ` <1256027864-26126-1-git-send-email-vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2009-12-15  4:52         ` Barry Song

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=8bd0f97a0910090156g2a8fba58r4085422f3a79c892@mail.gmail.com \
    --to=vapier.adi-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=Michael.Hennerich-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org \
    --cc=david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org \
    --cc=dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-input-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=uclinux-dist-devel-ZG0+EudsQA8dtHy/vicBwGD2FQJk+8+b@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).