From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mitch Bradley Subject: Re: I2C and devicetrees Date: Fri, 01 Mar 2013 11:47:58 -1000 Message-ID: <5131220E.70407@firmworks.com> References: <201212052336.24233.PeterHuewe@gmx.de> <50C79DE8.2090201@wwwdotorg.org> <20121214203845.5D7ED3E0BDD@localhost> <511A6F26.20801@keymile.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-i2c-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Thomas De Schampheleire Cc: Gerlando Falauto , devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Peter Huewe List-Id: linux-i2c@vger.kernel.org On 3/1/2013 9:56 AM, Thomas De Schampheleire wrote: > Hi, > > On Tue, Feb 12, 2013 at 5:34 PM, Gerlando Falauto > wrote: >> Hi everyone, >> >> I have a similar question. >> I'd like to "name" i2c devices so that a userspace application can somehow >> identify those devices with the same function across different boards (which >> may have different addresses or be connected to a different i2c bus, or be a >> physically different chip). >> >> For instance "hwmon" devices get instantiated within sysfs under >> /sys/class/hwmon/hwmonX >> >> # cat /sys/class/hwmon/hwmon0/device/name >> lm75 >> >> which I would like to be identified by the name "switch" (as in "switch >> temperature"). I was thinking about instantiating it as something like >> "lm75:switch" within i2c_board_info.type. For device-tree-less >> architectures, a trivial change within i2c_match_id() so to ignore the part >> following ":" seems to do the trick. Don't know about devicetree but I guess >> a similar approach could be imagined. >> >> Another example would be given by EEPROMs: all boards are equipped with an >> EEPROM containing inventory management, which I would like to identify as >> "ivm". So something like "24c08:ivm". >> After all, I'd like to be able to achive something like "named MTD >> partitions" which you can identify by looking at "/proc/mtd". >> >> Maybe some other symbol could be used instead of ":", but anyhow, does the >> above make any sense at all to you? >> > > I have exactly the same request: I would like to put logical names in > the device tree for various devices (i2c, spi, ...) which are in some > way easily retrievable from a userspace application. > The purpose seems to be the same as Gerlando's: different boards have > different physical configuration but logically each has the same set > of devices. > > How can one achieve that? Unless I am misunderstanding your request, that is what the /aliases node is intended for. Each property name in /aliases is a logical name, and the value refers to the corresponding device node. I'm not sure about all the different ways that Linux exports information in /aliases to userspace. I do know that, in the case of some i2c, serial, and ethernet devices, aliases like: serial1 = &uart1; cause the assignment of small-integer unit numbers to specific device instances. That "serial" pattern is somewhat of a Linux-specific special case. In general, the Open Firmware standard just says that /aliases maps logical names to longer strings representing fuller pathnames, without imposing any structure (e.g. serial) on the logical names. > > Thanks, > Thomas > _______________________________________________ > devicetree-discuss mailing list > devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org > https://lists.ozlabs.org/listinfo/devicetree-discuss >