[PATCH 2/3] mach-ux500: export System-on-Chip information via sysfs
Saravana Kannan
skannan at codeaurora.org
Tue Jul 12 12:29:04 EDT 2011
On 07/12/2011 06:08 AM, Lee Jones wrote:
> Signed-off-by: Lee Jones<lee.jones at linaro.org>
> ---
> arch/arm/mach-ux500/Kconfig | 1 +
> arch/arm/mach-ux500/id.c | 115 +++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 116 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig
> index 4210cb4..4d2f2c2 100644
<snip>
> +
> +struct soc_callback_functions soc_callbacks = {
> + .get_machine_fn = ux500_get_machine,
> + .get_family_fn = ux500_get_family,
> + .get_soc_id_fn = ux500_get_soc_id,
> + .get_revision_fn = ux500_get_revision,
> +};
> +
> +struct device_attribute ux500_soc_attrs[] = {
> + __ATTR(process, S_IRUGO, ux500_get_process, NULL),
> + __ATTR_NULL,
> +};
> +
> +static int __init ux500_soc_sysfs_init(void)
> +{
> + int ret;
> + int i = 0;
> + ret = soc_device_register(&soc_parent,
> + &soc_callbacks);
> + if (ret>= 0) {
> + while (ux500_soc_attrs[i].attr.name != NULL) {
> + ret = device_create_file(&soc_parent,
> + &ux500_soc_attrs[i++]);
> + if (ret)
> + goto out;
> + }
> + }
Can you please make this code as part of soc_device_register? Otherwise,
every SoC that wants to add its own set of attributes will have to
repeat this code.
> + out:
> + return ret;
> +}
> +module_init(ux500_soc_sysfs_init);
> +
> +static void __exit ux500_soc_sysfs_exit(void)
> +{
> + int i = 0;
> +
> + while (ux500_soc_attrs[i].attr.name != NULL)
> + device_remove_file(&soc_parent,&ux500_soc_attrs[i++]);
That would also pull this in and make sure the ordering is always correct.
> +
> + soc_device_unregister(&soc_parent);
> +}
> +module_exit(ux500_soc_sysfs_exit);
> +
> +#endif
Thanks,
Saravana
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
More information about the linux-arm-kernel
mailing list