[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50469AF9.7010508@synaptics.com>
Date: Tue, 4 Sep 2012 17:21:13 -0700
From: Christopher Heiny <cheiny@...aptics.com>
To: Linus Walleij <linus.walleij@...aro.org>
CC: Dmitry Torokhov <dmitry.torokhov@...il.com>,
Jean Delvare <khali@...ux-fr.org>,
Linux Kernel <linux-kernel@...r.kernel.org>,
Linux Input <linux-input@...r.kernel.org>,
Allie Xiong <axiong@...aptics.com>,
William Manson <wmanson@...aptics.com>,
Peichen Chang <peichen.chang@...aptics.com>,
Joerie de Gram <j.de.gram@...il.com>,
Wolfram Sang <w.sang@...gutronix.de>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Linus Walleij <linus.walleij@...ricsson.com>,
Naveen Kumar Gaddipati <naveen.gaddipati@...ricsson.com>,
Henrik Rydberg <rydberg@...omail.se>
Subject: Re: [RFC PATCH 8/17] input: RMI4 F09 Built-In Self Test
On 08/27/2012 03:07 PM, Linus Walleij wrote:
[snip]
>> >+static struct device_attribute attrs[] = {
>> >+ __ATTR(status, RMI_RW_ATTR,
>> >+ rmi_f09_status_show, rmi_f09_status_store),
>> >+ __ATTR(limitRegisterCount, RMI_RO_ATTR,
>> >+ rmi_f09_limit_register_count_show, rmi_store_error),
>> >+ __ATTR(hostTestEnable, RMI_RW_ATTR,
>> >+ rmi_f09_host_test_enable_show, rmi_f09_host_test_enable_store),
>> >+ __ATTR(internalLimits, RMI_RO_ATTR,
>> >+ rmi_f09_internal_limits_show, rmi_store_error),
>> >+ __ATTR(resultRegisterCount, RMI_RO_ATTR,
>> >+ rmi_f09_result_register_count_show, rmi_store_error),
>> >+ __ATTR(overall_bist_result, RMI_RO_ATTR,
>> >+ rmi_f09_overall_bist_result_show, rmi_store_error),
>> >+ __ATTR(test_number_control, RMI_RW_ATTR,
>> >+ rmi_f09_test_number_control_show,
>> >+ rmi_f09_test_number_control_store),
>> >+ __ATTR(test_result1, RMI_RO_ATTR,
>> >+ rmi_f09_test_result1_show, rmi_store_error),
>> >+ __ATTR(test_result2, RMI_RO_ATTR,
>> >+ rmi_f09_test_result2_show, rmi_store_error),
>> >+ __ATTR(run_bist, RMI_RW_ATTR,
>> >+ rmi_f09_run_bist_show, rmi_f09_run_bist_store),
>> >+ __ATTR(f09_control_test1, RMI_RW_ATTR,
>> >+ rmi_f09_control_test1_show, rmi_f09_control_test1_store),
>> >+ __ATTR(f09_control_test2, RMI_RW_ATTR,
>> >+ rmi_f09_control_test2_show, rmi_f09_control_test2_store),
>> >+};
> If this is*only* for tests, then for sure this should be in debugfs?
F09 is used in the final product (for example, a phone or tablet) both
on the production line and to diagnose failures in returned products.
We can't be certain that the phone/tablet/whatever manufacturer will
include debugfs in their production kernel, and if they don't they
almost certainly won't want to install a different kernel on the
production line to run a test, so we provided a sysfs interface to this.
>
>> >+static int rmi_f09_alloc_memory(struct rmi_function_container *fc)
> (...)
>> >+static void rmi_f09_free_memory(struct rmi_function_container *fc)
> Why do you need separate functions for these two?
>
> If they are only used from one place (which I suspect) then just
> put the code at that site.
Some of the other modules have fairly large and complicated
alloc_memory() and free_memory() implementations, so we adopted this as
a general convention in all the RMI function implementations. But as
you suggested elsewhere, using devm_kzalloc could tidy things up a lot,
in which case the functions could be merged back into their callers.
[snip]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists