From: Christopher Heiny <cheiny@synaptics.com>
To: Courtney Cavin <courtney.cavin@sonymobile.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Linux Input <linux-input@vger.kernel.org>,
Andrew Duggan <aduggan@synaptics.com>,
Vincent Huang <vincent.huang@tw.synaptics.com>,
Vivian Ly <vly@synaptics.com>,
Daniel Rosenberg <daniel.rosenberg@synaptics.com>,
Linus Walleij <linus.walleij@linaro.org>,
Benjamin Tissoires <benjamin.tissoires@redhat.com>,
David Herrmann <dh.herrmann@gmail.com>,
Jiri Kosina <jkosina@suse.cz>
Subject: Re: [PATCH 04/05] input synaptics-rmi4: rmi_driver - Export some symbols and functions for use by reflash.
Date: Mon, 10 Mar 2014 15:54:59 -0700 [thread overview]
Message-ID: <531E42C3.5000800@synaptics.com> (raw)
In-Reply-To: <20140310150448.GD18578@sonymobile.com>
On 03/10/2014 08:04 AM, Courtney Cavin wrote:
> On Sat, Mar 08, 2014 at 03:29:54AM +0100, Christopher Heiny wrote:
>> Reflash functionality will need to unload the existing functions and
>> rescan the PDT before starting reflash; then reload the functions
>> afterwards.
>>
>> Signed-off-by: Christopher Heiny <cheiny@synaptics.com>
>> Signed-off-by: Vincent Huang <vincent.huang@tw.synaptics.com>
>> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
>> Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
>> Cc: Linux Walleij <linus.walleij@linaro.org>
>> Cc: David Herrmann <dh.herrmann@gmail.com>
>> Cc: Jiri Kosina <jkosina@suse.cz>
>>
>> ---
>>
>> drivers/input/rmi4/rmi_driver.c | 165 ++++++++++++++++++++++------------------
>> drivers/input/rmi4/rmi_driver.h | 22 +++---
>> 2 files changed, 101 insertions(+), 86 deletions(-)
> [...]
>> diff --git a/drivers/input/rmi4/rmi_driver.h b/drivers/input/rmi4/rmi_driver.h
> [...]
>> -int rmi_read_pdt_entry(struct rmi_device *rmi_dev, struct pdt_entry *entry,
>> - u16 pdt_address);
>> +#define RMI_SCAN_CONTINUE 0
>> +#define RMI_SCAN_DONE 1
>> +
>> +int rmi_scan_pdt(struct rmi_device *rmi_dev, void *ctx,
>> + int (*callback)(struct rmi_device *rmi_dev,
>> + void *ctx, const struct pdt_entry *entry));
>
> I don't really like this callback. The main reason for it is early
> abort of PDT scanning, right? It is really that beneficial?
Well, the main reason for adding this that there are several places
where we perform a PDT scan, and they were proving vulnerable to
cut-and-paste errors and code drift. The boilerplate code of the
process of doing a PDT scan was also obscuring the actual purpose of
each PDT scan.
Early abort of the PDT scan is also important - in some of the scans you
want to quit as soon as you've found the function(s) of interest, or if
you detect that the device is still in bootloader mode. Since there are
256 possible RMI4 pages to scan, stopping early provides serious time
savings at boot time and during the reflash process. It also simplifies
the code when the device comes up in bootloader mode.
>>
>> bool rmi_is_physical_driver(struct device_driver *);
>> int rmi_register_physical_driver(void);
>> @@ -113,4 +109,10 @@ void rmi_unregister_physical_driver(void);
>> int rmi_register_f01_handler(void);
>> void rmi_unregister_f01_handler(void);
>>
>> +int check_bootloader_mode(struct rmi_device *rmi_dev,
>> + const struct pdt_entry *pdt);
>
> This is a silly function name to put in a header. rmi_* perhaps?
Yes, I noticed that too while preparing the patch, along with a lot of
other instances. I decided to do an overall namespace cleanup later,
and not piggyback it onto this particular patchset. I'll fix this one
if it's a blocking issue.
>
>> +void rmi_free_function_list(struct rmi_device *rmi_dev);
>> +int rmi_driver_detect_functions(struct rmi_device *rmi_dev);
>> +
>> +
>> #endif
>
> -Courtney
>
--
Christopher Heiny
Senior Staff Firmware Engineer
Synaptics Incorporated
next prev parent reply other threads:[~2014-03-10 22:55 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-08 2:29 [PATCH 01/05] input synaptics-rmi4: Split F01 definitions out into header file for use by reflash Christopher Heiny
2014-03-08 2:29 ` [PATCH 02/05] input synaptics-rmi4: Add some additional F01 properties for the use of reflash Christopher Heiny
2014-03-08 2:29 ` [PATCH 03/05] input synaptics-rmi4: rmi_f01 - Fix a comment and add a diagnostic output message Christopher Heiny
2014-03-10 14:51 ` Courtney Cavin
2014-03-10 22:37 ` Christopher Heiny
2014-03-08 2:29 ` [PATCH 04/05] input synaptics-rmi4: rmi_driver - Export some symbols and functions for use by reflash Christopher Heiny
2014-03-10 15:04 ` Courtney Cavin
2014-03-10 22:54 ` Christopher Heiny [this message]
2014-03-10 23:34 ` Courtney Cavin
2014-03-11 0:13 ` Christopher Heiny
2014-03-08 2:29 ` [PATCH 05/05] input synaptics-rmi4: Add reflash support Christopher Heiny
2014-03-10 16:24 ` Courtney Cavin
2014-03-11 1:03 ` Christopher Heiny
2014-03-10 14:46 ` [PATCH 01/05] input synaptics-rmi4: Split F01 definitions out into header file for use by reflash Courtney Cavin
2014-03-10 22:33 ` Christopher Heiny
2014-03-10 22:45 ` Courtney Cavin
2014-03-10 22:57 ` Courtney Cavin
2014-03-11 2:36 ` Christopher Heiny
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=531E42C3.5000800@synaptics.com \
--to=cheiny@synaptics.com \
--cc=aduggan@synaptics.com \
--cc=benjamin.tissoires@redhat.com \
--cc=courtney.cavin@sonymobile.com \
--cc=daniel.rosenberg@synaptics.com \
--cc=dh.herrmann@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=jkosina@suse.cz \
--cc=linus.walleij@linaro.org \
--cc=linux-input@vger.kernel.org \
--cc=vincent.huang@tw.synaptics.com \
--cc=vly@synaptics.com \
/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).