All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Metcalf <cmetcalf-kv+TWInifGbQT0dZR+AlfA@public.gmane.org>
To: Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>
Cc: Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
	Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
	Catalin Marinas <Catalin.Marinas-5wv7dgnIgG8@public.gmane.org>,
	"paul-DWxLp4Yu+b8AvxtiuMwx3w@public.gmane.org"
	<paul-DWxLp4Yu+b8AvxtiuMwx3w@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Peter De Schrijver
	<pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	"arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org"
	<arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 2/5] char: tile-srom: Remove reference to platform_bus
Date: Fri, 29 Aug 2014 14:43:13 -0400	[thread overview]
Message-ID: <5400C9C1.4060904@tilera.com> (raw)
In-Reply-To: <1407515691.31897.26.camel@hornet>

(Resending with text/plain.)

First, sorry for the delayed response, with summer vacation and then
trying to catch up.  :-)

On 8/8/2014 12:34 PM, Pawel Moll wrote:
> On Tue, 2014-08-05 at 21:08 +0100, Chris Metcalf wrote:
>>>> In addition, we also have user binaries
>>>> in the wild that know to look for /sys/devices/platform/srom/ paths,
>>>> so I'm pretty reluctant to change this path without good reason.
>>> So what is the srom class for then if not for device discovery? And why
>>> do they look for them in the first place? To get relevant character
>>> device's data, if I understand it right?
>>>
>>> Maybe you could just register a simple "proper" platform device for all
>>> the sroms and then hang the class devices from it? I can type some code
>>> doing this if it sound reasonably?
>> By "device discovery" I meant the way you find the way in your devices
>> in /sysfs. You seem to be traversing /sys/devices/... tree, while you've
>> got almost direct access to them through /sys/class/srom and you can (I
>> believe, correct me if I'm wrong, Greg) rely on this path being stable.

Yes, this is an excellent point.  I will change the user tool to use
/sys/class instead and then it will work with the existing kernel as well
as with future kernels that incorporate your suggested change.

>> The
>> subdirectories under /sys/devices/platform/srom/ correspond to partitions
>> in the SPI-ROM, which are software constructs created by the Tilera hypervisor.
>> By default we have three, where the first holds boot data that the chip
>> can use to boot out of hardware, and the other two are smaller partitions
>> for boot- and user-specific data.  We use the /sys files primarily to get the
>> page size and sector size for the sroms, and also export other interesting
>> information like the total size of the particular srom device.
>>
>> Thank you for volunteering to write a bit of code; if that's the best
>> way to clarify this for us, fantastic, or else pointing us at existing
>> good practices or documentation would be great too.
> [...]
> @@ -350,7 +351,7 @@ static int srom_setup_minor(struct srom_dev *srom, int index)
>  		       SROM_PAGE_SIZE_OFF, sizeof(srom->page_size)) < 0)
>  		return -EIO;
>
> -	dev = device_create(srom_class, &platform_bus,
> +	dev = device_create(srom_class, srom_parent,
>  			    MKDEV(srom_major, index), srom, "%d", index);
>  	return PTR_ERR_OR_ZERO(dev);
>  }

The second argument should be &srom_parent.dev though, I think.  Right?

> Would that work for you? Note that it will move the srom class devices
> one level deeper in /sys/devices/... hierarchy.

Yes, that seems slightly unfortunately but not too problematic.  If the
consensus is that this is the way to go, I can certainly take this change
into the Tile tree.

-- 
Chris Metcalf, Tilera Corp.
http://www.tilera.com

WARNING: multiple messages have this Message-ID (diff)
From: cmetcalf@tilera.com (Chris Metcalf)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/5] char: tile-srom: Remove reference to platform_bus
Date: Fri, 29 Aug 2014 14:43:13 -0400	[thread overview]
Message-ID: <5400C9C1.4060904@tilera.com> (raw)
In-Reply-To: <1407515691.31897.26.camel@hornet>

(Resending with text/plain.)

First, sorry for the delayed response, with summer vacation and then
trying to catch up.  :-)

On 8/8/2014 12:34 PM, Pawel Moll wrote:
> On Tue, 2014-08-05 at 21:08 +0100, Chris Metcalf wrote:
>>>> In addition, we also have user binaries
>>>> in the wild that know to look for /sys/devices/platform/srom/ paths,
>>>> so I'm pretty reluctant to change this path without good reason.
>>> So what is the srom class for then if not for device discovery? And why
>>> do they look for them in the first place? To get relevant character
>>> device's data, if I understand it right?
>>>
>>> Maybe you could just register a simple "proper" platform device for all
>>> the sroms and then hang the class devices from it? I can type some code
>>> doing this if it sound reasonably?
>> By "device discovery" I meant the way you find the way in your devices
>> in /sysfs. You seem to be traversing /sys/devices/... tree, while you've
>> got almost direct access to them through /sys/class/srom and you can (I
>> believe, correct me if I'm wrong, Greg) rely on this path being stable.

Yes, this is an excellent point.  I will change the user tool to use
/sys/class instead and then it will work with the existing kernel as well
as with future kernels that incorporate your suggested change.

>> The
>> subdirectories under /sys/devices/platform/srom/ correspond to partitions
>> in the SPI-ROM, which are software constructs created by the Tilera hypervisor.
>> By default we have three, where the first holds boot data that the chip
>> can use to boot out of hardware, and the other two are smaller partitions
>> for boot- and user-specific data.  We use the /sys files primarily to get the
>> page size and sector size for the sroms, and also export other interesting
>> information like the total size of the particular srom device.
>>
>> Thank you for volunteering to write a bit of code; if that's the best
>> way to clarify this for us, fantastic, or else pointing us at existing
>> good practices or documentation would be great too.
> [...]
> @@ -350,7 +351,7 @@ static int srom_setup_minor(struct srom_dev *srom, int index)
>  		       SROM_PAGE_SIZE_OFF, sizeof(srom->page_size)) < 0)
>  		return -EIO;
>
> -	dev = device_create(srom_class, &platform_bus,
> +	dev = device_create(srom_class, srom_parent,
>  			    MKDEV(srom_major, index), srom, "%d", index);
>  	return PTR_ERR_OR_ZERO(dev);
>  }

The second argument should be &srom_parent.dev though, I think.  Right?

> Would that work for you? Note that it will move the srom class devices
> one level deeper in /sys/devices/... hierarchy.

Yes, that seems slightly unfortunately but not too problematic.  If the
consensus is that this is the way to go, I can certainly take this change
into the Tile tree.

-- 
Chris Metcalf, Tilera Corp.
http://www.tilera.com

WARNING: multiple messages have this Message-ID (diff)
From: Chris Metcalf <cmetcalf@tilera.com>
To: Pawel Moll <pawel.moll@arm.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Olof Johansson <olof@lixom.net>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	"paul@pwsan.com" <paul@pwsan.com>, Arnd Bergmann <arnd@arndb.de>,
	Peter De Schrijver <pdeschrijver@nvidia.com>,
	"arm@kernel.org" <arm@kernel.org>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/5] char: tile-srom: Remove reference to platform_bus
Date: Fri, 29 Aug 2014 14:43:13 -0400	[thread overview]
Message-ID: <5400C9C1.4060904@tilera.com> (raw)
In-Reply-To: <1407515691.31897.26.camel@hornet>

(Resending with text/plain.)

First, sorry for the delayed response, with summer vacation and then
trying to catch up.  :-)

On 8/8/2014 12:34 PM, Pawel Moll wrote:
> On Tue, 2014-08-05 at 21:08 +0100, Chris Metcalf wrote:
>>>> In addition, we also have user binaries
>>>> in the wild that know to look for /sys/devices/platform/srom/ paths,
>>>> so I'm pretty reluctant to change this path without good reason.
>>> So what is the srom class for then if not for device discovery? And why
>>> do they look for them in the first place? To get relevant character
>>> device's data, if I understand it right?
>>>
>>> Maybe you could just register a simple "proper" platform device for all
>>> the sroms and then hang the class devices from it? I can type some code
>>> doing this if it sound reasonably?
>> By "device discovery" I meant the way you find the way in your devices
>> in /sysfs. You seem to be traversing /sys/devices/... tree, while you've
>> got almost direct access to them through /sys/class/srom and you can (I
>> believe, correct me if I'm wrong, Greg) rely on this path being stable.

Yes, this is an excellent point.  I will change the user tool to use
/sys/class instead and then it will work with the existing kernel as well
as with future kernels that incorporate your suggested change.

>> The
>> subdirectories under /sys/devices/platform/srom/ correspond to partitions
>> in the SPI-ROM, which are software constructs created by the Tilera hypervisor.
>> By default we have three, where the first holds boot data that the chip
>> can use to boot out of hardware, and the other two are smaller partitions
>> for boot- and user-specific data.  We use the /sys files primarily to get the
>> page size and sector size for the sroms, and also export other interesting
>> information like the total size of the particular srom device.
>>
>> Thank you for volunteering to write a bit of code; if that's the best
>> way to clarify this for us, fantastic, or else pointing us at existing
>> good practices or documentation would be great too.
> [...]
> @@ -350,7 +351,7 @@ static int srom_setup_minor(struct srom_dev *srom, int index)
>  		       SROM_PAGE_SIZE_OFF, sizeof(srom->page_size)) < 0)
>  		return -EIO;
>
> -	dev = device_create(srom_class, &platform_bus,
> +	dev = device_create(srom_class, srom_parent,
>  			    MKDEV(srom_major, index), srom, "%d", index);
>  	return PTR_ERR_OR_ZERO(dev);
>  }

The second argument should be &srom_parent.dev though, I think.  Right?

> Would that work for you? Note that it will move the srom class devices
> one level deeper in /sys/devices/... hierarchy.

Yes, that seems slightly unfortunately but not too problematic.  If the
consensus is that this is the way to go, I can certainly take this change
into the Tile tree.

-- 
Chris Metcalf, Tilera Corp.
http://www.tilera.com



  parent reply	other threads:[~2014-08-29 18:43 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-25 14:23 [PATCH 1/5] ARM: imx: Remove references to platform_bus in mxc code Pawel Moll
2014-07-25 14:23 ` Pawel Moll
2014-07-25 14:23 ` Pawel Moll
2014-07-25 14:23 ` [PATCH 2/5] char: tile-srom: Remove reference to platform_bus Pawel Moll
2014-07-25 14:23   ` Pawel Moll
     [not found]   ` <1406298233-27876-2-git-send-email-pawel.moll-5wv7dgnIgG8@public.gmane.org>
2014-07-31 20:24     ` Chris Metcalf
2014-07-31 20:24       ` Chris Metcalf
2014-07-31 20:24       ` Chris Metcalf
2014-07-31 21:32       ` Greg Kroah-Hartman
2014-07-31 21:32         ` Greg Kroah-Hartman
     [not found]       ` <53DAA605.2030500-kv+TWInifGbQT0dZR+AlfA@public.gmane.org>
2014-08-01 17:21         ` Pawel Moll
2014-08-01 17:21           ` Pawel Moll
2014-08-01 17:21           ` Pawel Moll
2014-08-05 20:08           ` Chris Metcalf
2014-08-05 20:08             ` Chris Metcalf
2014-08-05 20:08             ` Chris Metcalf
     [not found]             ` <53E139C8.9000502-kv+TWInifGbQT0dZR+AlfA@public.gmane.org>
2014-08-05 23:06               ` Greg Kroah-Hartman
2014-08-05 23:06                 ` Greg Kroah-Hartman
2014-08-05 23:06                 ` Greg Kroah-Hartman
2014-08-08 16:34               ` Pawel Moll
2014-08-08 16:34                 ` Pawel Moll
2014-08-08 16:34                 ` Pawel Moll
2014-08-08 16:39                 ` Pawel Moll
2014-08-08 16:39                   ` Pawel Moll
2014-08-11  2:38                 ` Chris Metcalf
2014-08-11  2:38                   ` Chris Metcalf
2014-08-11  2:38                   ` Chris Metcalf
2014-08-29 18:43                 ` Chris Metcalf [this message]
2014-08-29 18:43                   ` Chris Metcalf
2014-08-29 18:43                   ` Chris Metcalf
     [not found]                   ` <5400C9C1.4060904-kv+TWInifGbQT0dZR+AlfA@public.gmane.org>
2014-09-01 12:27                     ` Pawel Moll
2014-09-01 12:27                       ` Pawel Moll
2014-09-01 12:27                       ` Pawel Moll
2014-09-01 13:53                       ` Chris Metcalf
2014-09-01 13:53                         ` Chris Metcalf
2014-09-01 13:53                         ` Chris Metcalf
2014-07-25 14:23 ` [PATCH 3/5] mmc: sdhci-pltfm: Do not use parent as the host's device Pawel Moll
2014-07-25 14:23   ` Pawel Moll
2014-07-25 14:23   ` Pawel Moll
2014-08-08 16:36   ` Pawel Moll
2014-08-08 16:36     ` Pawel Moll
2014-08-08 16:36     ` Pawel Moll
2014-08-11  9:07     ` Ulf Hansson
2014-08-11  9:07       ` Ulf Hansson
2014-08-11  9:07       ` Ulf Hansson
     [not found]       ` <CAPDyKFoLU6pnJFmKe7CB0q-hKfwv4uCPSr0cE4aoYMvfhjMteQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-11  9:15         ` Pawel Moll
2014-08-11  9:15           ` Pawel Moll
2014-08-11  9:15           ` Pawel Moll
2014-08-11  9:15           ` Pawel Moll
2014-08-11  9:32           ` Ulf Hansson
2014-08-11  9:32             ` Ulf Hansson
2014-08-11  9:32             ` Ulf Hansson
     [not found]             ` <CAPDyKFruZxUtzUKM+PvsK-_qqcE4OcCaKSkRJ2_01y7TuQMGkA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-08-12  8:58               ` Ulf Hansson
2014-08-12  8:58                 ` Ulf Hansson
2014-08-12  8:58                 ` Ulf Hansson
2014-08-12  8:58                 ` Ulf Hansson
2014-08-12 10:37                 ` [PATCH 3/5 v2] " Pawel Moll
2014-08-12 10:37                   ` Pawel Moll
2014-08-12 11:51                   ` Ulf Hansson
2014-08-12 11:51                     ` Ulf Hansson
2014-08-11 10:02           ` [PATCH 3/5] " Russell King - ARM Linux
2014-08-11 10:02             ` Russell King - ARM Linux
2014-08-11 10:02             ` Russell King - ARM Linux
2014-08-11 10:02             ` Russell King - ARM Linux
2014-07-25 14:23 ` [PATCH 4/5] [SCSI] Do not use platform_bus as a parent Pawel Moll
2014-07-25 14:23   ` Pawel Moll
2014-07-25 14:46   ` James Bottomley
2014-07-25 14:46     ` James Bottomley
2014-07-25 15:40     ` Pawel Moll
2014-07-25 15:40       ` Pawel Moll
2014-07-25 15:40       ` Pawel Moll
2014-07-26 20:11     ` Greg Kroah-Hartman
2014-07-26 20:11       ` Greg Kroah-Hartman
2014-07-27  3:52       ` James Bottomley
2014-07-27  3:52         ` James Bottomley
2014-07-27 15:07         ` Greg Kroah-Hartman
2014-07-27 15:07           ` Greg Kroah-Hartman
2014-08-01 17:25           ` Pawel Moll
2014-08-01 17:25             ` Pawel Moll
     [not found] ` <1406298233-27876-1-git-send-email-pawel.moll-5wv7dgnIgG8@public.gmane.org>
2014-07-25 14:23   ` [PATCH 5/5] platform: Make platform_bus device a platform device Pawel Moll
2014-07-25 14:23     ` Pawel Moll
2014-07-25 14:23     ` Pawel Moll
2014-07-26 20:12     ` Greg Kroah-Hartman
2014-07-26 20:12       ` Greg Kroah-Hartman
2014-08-01 17:21       ` Pawel Moll
2014-08-01 17:21         ` Pawel Moll
2014-07-26 20:13     ` Greg Kroah-Hartman
2014-07-26 20:13       ` Greg Kroah-Hartman
     [not found]       ` <20140726201351.GC21870-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2014-08-01 17:21         ` Pawel Moll
2014-08-01 17:21           ` Pawel Moll
2014-08-01 17:21           ` Pawel Moll
2014-07-28  1:45 ` [PATCH 1/5] ARM: imx: Remove references to platform_bus in mxc code Shawn Guo
2014-07-28  1:45   ` Shawn Guo
2014-07-28  1:45   ` Shawn Guo

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=5400C9C1.4060904@tilera.com \
    --to=cmetcalf-kv+twinifgbqt0dzr+alfa@public.gmane.org \
    --cc=Catalin.Marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
    --cc=paul-DWxLp4Yu+b8AvxtiuMwx3w@public.gmane.org \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.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.