All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Coquelin <maxime.coquelin-nonst@stericsson.com>
To: "eduardo.valentin@nokia.com" <eduardo.valentin@nokia.com>
Cc: ext Nishanth Menon <nm@ti.com>,
	ext Tony Lindgren <tony@atomide.com>,
	Peter De-Schrijver <Peter.De-Schrijver@nokia.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Ambresh <a0393775@ti.com>,
	Saravana Kannan <skannan@codeaurora.org>,
	Andrei Warkentin <andreiw@motorola.com>,
	Lee Jones <Lee.Jones@linaro.org>,
	Rabin VINCENT <rabin.vincent@stericsson.com>,
	Russell King <linux@arm.linux.org.uk>,
	Jonas ABERG <jonas.aberg@stericsson.com>,
	ext Kevin Hilman <khilman@deeprootsystems.com>,
	David Brown <davidb@codeaurora.org>,
	"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
	Loic PALLARDY <loic.pallardy@stericsson.com>,
	"maxime_coquelin@yahoo.fr" <maxime_coquelin@yahoo.fr>,
	Ryan Mallon <ryan@bluewatersys.com>,
	Linux-OMAP <linux-omap@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	Daniel Walker <dwalker@codeaurora.org>
Subject: Re: [RFC PATCHv2 1/2] Export SoC info through sysfs
Date: Fri, 11 Mar 2011 16:40:05 +0100	[thread overview]
Message-ID: <4D7A4255.6030603@stericsson.com> (raw)
In-Reply-To: <20110311135043.GA9320@besouro.research.nokia.com>




>> +
>> +int __init register_sysfs_soc_info(struct sysfs_soc_info *info, int nb_info)
>> +{
>> +	int i, ret;
>> +
>> +	for (i = 0; i<  nb_info; i++) {
>> +		ret = sysfs_create_file(soc_object,&info[i].attr.attr);
>> +		if (ret) {
>> +			for (i -= 1; i>= 0; i--)
>> +				sysfs_remove_file(soc_object,&info[i].attr.attr);
>> +			break;
>> +		}
>> +	}
>> +
>> +	return ret;
>> +}
>  From functional perspective, this looks like a sysfs_create_group.
> Now it makes me wonder if this thing would make sense. Maybe it's
> better to create a node under platform and then add attributes to it, as suggested
> in V1 thread. I don't know, this could still be done by the socinfo code.
> I mean, location is still an issue it seams :-)
>
> Another thing, what could be done is, instead of creating new data structures to hold
> the attributes, a struct  attribute_group could be pass instead during registration time.
> What do you think??

It would be cleaner indeed.

>> +
>> +static struct attribute *soc_attrs[] = {
>> +	NULL,
>> +};
>> +
>> +static struct attribute_group soc_attr_group = {
>> +	.attrs = soc_attrs,
>> +};
>
> What is the point of the above two ?

sysfs_create_group() requires attributes.

>> +
>> +int __init register_sysfs_soc(struct sysfs_soc_info *info, size_t num)
>> +{
>> +	int ret;
>> +
>> +	soc_object = kobject_create_and_add("socinfo", NULL);
>> +	if (!soc_object) {
>> +		ret = -ENOMEM;
>> +		goto exit;
>> +	}
>> +
>> +	ret = sysfs_create_group(soc_object,&soc_attr_group);
>> +	if (ret)
>> +		goto kset_exit;
> You add an empty group here.
>
>> +
>> +	ret = register_sysfs_soc_info(info, num);
>> +	if (ret)
>> +		goto group_exit;
> But the real thing happens here.
>

WARNING: multiple messages have this Message-ID (diff)
From: maxime.coquelin-nonst@stericsson.com (Maxime Coquelin)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCHv2 1/2] Export SoC info through sysfs
Date: Fri, 11 Mar 2011 16:40:05 +0100	[thread overview]
Message-ID: <4D7A4255.6030603@stericsson.com> (raw)
In-Reply-To: <20110311135043.GA9320@besouro.research.nokia.com>




>> +
>> +int __init register_sysfs_soc_info(struct sysfs_soc_info *info, int nb_info)
>> +{
>> +	int i, ret;
>> +
>> +	for (i = 0; i<  nb_info; i++) {
>> +		ret = sysfs_create_file(soc_object,&info[i].attr.attr);
>> +		if (ret) {
>> +			for (i -= 1; i>= 0; i--)
>> +				sysfs_remove_file(soc_object,&info[i].attr.attr);
>> +			break;
>> +		}
>> +	}
>> +
>> +	return ret;
>> +}
>  From functional perspective, this looks like a sysfs_create_group.
> Now it makes me wonder if this thing would make sense. Maybe it's
> better to create a node under platform and then add attributes to it, as suggested
> in V1 thread. I don't know, this could still be done by the socinfo code.
> I mean, location is still an issue it seams :-)
>
> Another thing, what could be done is, instead of creating new data structures to hold
> the attributes, a struct  attribute_group could be pass instead during registration time.
> What do you think??

It would be cleaner indeed.

>> +
>> +static struct attribute *soc_attrs[] = {
>> +	NULL,
>> +};
>> +
>> +static struct attribute_group soc_attr_group = {
>> +	.attrs = soc_attrs,
>> +};
>
> What is the point of the above two ?

sysfs_create_group() requires attributes.

>> +
>> +int __init register_sysfs_soc(struct sysfs_soc_info *info, size_t num)
>> +{
>> +	int ret;
>> +
>> +	soc_object = kobject_create_and_add("socinfo", NULL);
>> +	if (!soc_object) {
>> +		ret = -ENOMEM;
>> +		goto exit;
>> +	}
>> +
>> +	ret = sysfs_create_group(soc_object,&soc_attr_group);
>> +	if (ret)
>> +		goto kset_exit;
> You add an empty group here.
>
>> +
>> +	ret = register_sysfs_soc_info(info, num);
>> +	if (ret)
>> +		goto group_exit;
> But the real thing happens here.
>

  reply	other threads:[~2011-03-11 15:40 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-11 12:35 [RFC PATCHv2 0/2] Export SoC info through sysfs Maxime Coquelin
2011-03-11 12:35 ` Maxime Coquelin
2011-03-11 12:35 ` Maxime Coquelin
2011-03-11 12:35 ` [RFC PATCHv2 1/2] " Maxime Coquelin
2011-03-11 12:35   ` Maxime Coquelin
2011-03-11 12:35   ` Maxime Coquelin
2011-03-11 13:50   ` Eduardo Valentin
2011-03-11 13:50     ` Eduardo Valentin
2011-03-11 15:40     ` Maxime Coquelin [this message]
2011-03-11 15:40       ` Maxime Coquelin
2011-03-11 17:35       ` Eduardo Valentin
2011-03-11 17:35         ` Eduardo Valentin
2011-03-11 14:32   ` Arnd Bergmann
2011-03-11 14:32     ` Arnd Bergmann
2011-03-11 14:31     ` Eduardo Valentin
2011-03-11 14:31       ` Eduardo Valentin
2011-03-11 15:40     ` Ben Dooks
2011-03-11 15:40       ` Ben Dooks
2011-03-11 17:38       ` Eduardo Valentin
2011-03-11 17:38         ` Eduardo Valentin
2011-03-11 15:52     ` Greg KH
2011-03-11 15:52       ` Greg KH
2011-03-11 17:58       ` Eduardo Valentin
2011-03-11 17:58         ` Eduardo Valentin
2011-03-11 19:33         ` Greg KH
2011-03-11 19:33           ` Greg KH
2011-03-11 21:42           ` Arnd Bergmann
2011-03-11 21:42             ` Arnd Bergmann
2011-03-11 22:03             ` Greg KH
2011-03-11 22:03               ` Greg KH
2011-03-11 22:13               ` Arnd Bergmann
2011-03-11 22:13                 ` Arnd Bergmann
2011-04-07 16:24                 ` Lee Jones
2011-04-07 16:24                   ` Lee Jones
2011-04-07 21:29                   ` Arnd Bergmann
2011-04-07 21:29                     ` Arnd Bergmann
2011-04-07 21:46                     ` Ryan Mallon
2011-04-07 21:46                       ` Ryan Mallon
2011-04-07 22:01                       ` Nicolas Pitre
2011-04-07 22:01                         ` Nicolas Pitre
2011-04-07 22:07                         ` Ryan Mallon
2011-04-07 22:07                           ` Ryan Mallon
2011-04-07 22:45                           ` Nicolas Pitre
2011-04-07 22:45                             ` Nicolas Pitre
2011-04-07 22:56                             ` Ryan Mallon
2011-04-07 22:56                               ` Ryan Mallon
2011-04-07 23:19                               ` Arnd Bergmann
2011-04-07 23:19                                 ` Arnd Bergmann
2011-04-07 23:29                                 ` Greg KH
2011-04-07 23:29                                   ` Greg KH
2011-04-08  3:35                                   ` Arnd Bergmann
2011-04-08  3:35                                     ` Arnd Bergmann
2011-04-08  7:41                                     ` Lee Jones
2011-04-08  7:41                                       ` Lee Jones
2011-04-08 15:02                                       ` Arnd Bergmann
2011-04-08 15:02                                         ` Arnd Bergmann
2011-04-08 15:43                                         ` Lee Jones
2011-04-08 15:43                                           ` Lee Jones
2011-04-08 20:22                                           ` Arnd Bergmann
2011-04-08 20:22                                             ` Arnd Bergmann
2011-03-11 12:35 ` [RFC PATCHv2 2/2] ux500: Export U8500 " Maxime Coquelin
2011-03-11 12:35   ` Maxime Coquelin
2011-03-11 12:35   ` Maxime Coquelin
2011-03-11 14:11   ` Jean-Christophe PLAGNIOL-VILLARD
2011-03-11 14:11     ` Jean-Christophe PLAGNIOL-VILLARD
2011-03-11 15:20     ` Linus Walleij
2011-03-11 15:20       ` Linus Walleij
2011-03-11 17:24       ` Jean-Christophe PLAGNIOL-VILLARD
2011-03-11 17:24         ` Jean-Christophe PLAGNIOL-VILLARD

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=4D7A4255.6030603@stericsson.com \
    --to=maxime.coquelin-nonst@stericsson.com \
    --cc=Lee.Jones@linaro.org \
    --cc=Peter.De-Schrijver@nokia.com \
    --cc=a0393775@ti.com \
    --cc=andreiw@motorola.com \
    --cc=davidb@codeaurora.org \
    --cc=dwalker@codeaurora.org \
    --cc=eduardo.valentin@nokia.com \
    --cc=jonas.aberg@stericsson.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=loic.pallardy@stericsson.com \
    --cc=maxime_coquelin@yahoo.fr \
    --cc=nm@ti.com \
    --cc=rabin.vincent@stericsson.com \
    --cc=ryan@bluewatersys.com \
    --cc=skannan@codeaurora.org \
    --cc=tony@atomide.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 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.