From: Mauro Carvalho Chehab <mchehab@redhat.com>
To: Ezequiel Garcia <elezegarcia@gmail.com>
Cc: mchehab@infradead.org, jarod@redhat.com, linux-media@vger.kernel.org
Subject: Re: [PATCH] media: rc: Pospone ir raw decoders loading until really needed
Date: Thu, 15 Mar 2012 16:39:57 -0300 [thread overview]
Message-ID: <4F62458D.5060705@redhat.com> (raw)
In-Reply-To: <1331840342-9191-1-git-send-email-elezegarcia@gmail.com>
Em 15-03-2012 16:39, Ezequiel Garcia escreveu:
> This changes rc_core to not load the IR decoders at load time,
> postponing it to load only if a RC_DRIVER_IR_RAW device is registered
> via rc_register_device.
>
> Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com>
> ---
> drivers/media/rc/rc-main.c | 8 ++++++--
> include/media/rc-core.h | 2 ++
> 2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
> index f6a930b..adf4a99 100644
> --- a/drivers/media/rc/rc-main.c
> +++ b/drivers/media/rc/rc-main.c
> @@ -1103,6 +1103,12 @@ int rc_register_device(struct rc_dev *dev)
> kfree(path);
>
> if (dev->driver_type == RC_DRIVER_IR_RAW) {
> + /* Load raw decoders, if they aren't already */
> + if (dev->raw_init) {
The logic here seems to be inverted. it should be, instead !dev->raw_init.
> + IR_dprintk(1, "Loading raw decoders\n");
> + ir_raw_init();
> + dev->raw_init = true;
> + }
> rc = ir_raw_event_register(dev);
> if (rc < 0)
> goto out_input;
> @@ -1176,8 +1182,6 @@ static int __init rc_core_init(void)
> return rc;
> }
>
> - /* Initialize/load the decoders/keymap code that will be used */
> - ir_raw_init();
> rc_map_register(&empty_map);
>
> return 0;
> diff --git a/include/media/rc-core.h b/include/media/rc-core.h
> index b0c494a..71c99c1 100644
> --- a/include/media/rc-core.h
> +++ b/include/media/rc-core.h
> @@ -47,6 +47,7 @@ enum rc_driver_type {
> * anyone can call show_protocols or store_protocols
> * @devno: unique remote control device number
> * @raw: additional data for raw pulse/space devices
> + * @raw_init: used to load raw decoders modules if needed
> * @input_dev: the input child device used to communicate events to userspace
> * @driver_type: specifies if protocol decoding is done in hardware or software
> * @idle: used to keep track of RX state
> @@ -95,6 +96,7 @@ struct rc_dev {
> struct mutex lock;
> unsigned long devno;
> struct ir_raw_event_ctrl *raw;
> + bool raw_init;
> struct input_dev *input_dev;
> enum rc_driver_type driver_type;
> bool idle;
next prev parent reply other threads:[~2012-03-15 19:40 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-15 19:39 [PATCH] media: rc: Pospone ir raw decoders loading until really needed Ezequiel Garcia
2012-03-15 19:39 ` Mauro Carvalho Chehab [this message]
2012-03-15 19:52 ` Ezequiel García
2012-03-15 19:46 ` Jarod Wilson
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=4F62458D.5060705@redhat.com \
--to=mchehab@redhat.com \
--cc=elezegarcia@gmail.com \
--cc=jarod@redhat.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@infradead.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.