From mboxrd@z Thu Jan 1 00:00:00 1970 From: ryan@bluewatersys.com (Ryan Mallon) Date: Wed, 02 Mar 2011 16:35:09 +1300 Subject: [PATCHv5 0/3] Introduce the /proc/socinfo and use it to export OMAP data In-Reply-To: <4D6DB7CB.7070701@codeaurora.org> References: <1273587331-24604-1-git-send-email-eduardo.valentin@nokia.com> <20110216115729.GA29817@besouro.research.nokia.com> <4D6B78BF.1020102@stericsson.com> <4D6C7B56.9060109@codeaurora.org> <4D6D9B10.9000606@codeaurora.org> <4D6D9D06.2020204@bluewatersys.com> <4D6D9FC7.1090206@codeaurora.org> <4D6DA290.2010607@bluewatersys.com> <4D6DAA24.3000204@codeaurora.org> <4D6DAE6E.4030701@bluewatersys.com> <4D6DB1B1.4060908@codeaurora.org> <4D6DB566.4090908@bluewatersys.com> <4D6DB7CB.7070701@codeaurora.org> Message-ID: <4D6DBAED.7070805@bluewatersys.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 03/02/2011 04:21 PM, Saravana Kannan wrote: > On 03/01/2011 07:11 PM, Ryan Mallon wrote: >> On 03/02/2011 03:55 PM, Saravana Kannan wrote: >>> On 03/01/2011 06:41 PM, Ryan Mallon wrote: >>>> On 03/02/2011 03:23 PM, Saravana Kannan wrote: >>>>> I don't have any attachment to the "arch" file suggestion. If there >>>>> is a >>>>> better solution to identify the different implementations of socinfo >>>>> without having to maintain some "unique id" list in the kernel, >>>>> then I'm >>>>> all for it. But cpuinfo is not it. >>>> >>>> Sorry I am confusing the 'arch' and 'mach' bits here. I definitely have >>>> an objection to having an 'arch' file (i.e. ARM). A 'mach' (i.e. omap) >>>> file makes a bit more sense, but should probably be called 'mach' >>>> rather >>>> than 'arch' to avoid this confusion :-). >>> >>> Sorry for the confusion. Sure, I don't care much for the filename as >>> long as we can all agree on it. I care more about the content of the >>> file (using names very close to xxxx in mach-xxxx). I like "soc-family" >>> better since it's generic enough to not force, say omap3 and omap4, to >>> report different values. >>> >>> Linus Walleij, Eduardo, Maxime, Andrei, >>> >>> Would like to hear your opinion on the file name (soc-family vs. mach vs >>> ) and the path /sys/devices/system/soc/. >> >> 'family' sounds good. I don't think we need the 'soc-' prefix on >> filenames if they are already in /sys/devices/system/soc/. > > Makes sense. We can drop the soc- prefix. So the contenders left: family > vs . Would still be nice if the other folks chime in. > >>> If we settle on this, may be it would be easier to get this through. >>> >>>> I still think it is a solution in search of a problem though. What >>>> userspace programs need to know what specific SoC they are on? My >>>> feeling is that if userspace needs to know this information, then it is >>>> probably dicking around with things that should be managed by the >>>> kernel. Differences in available peripherals, etc can be determined by >>>> looking at existing sysfs files. >>> >>> I certainly have seen several use cases. Couple of easy examples: >>> >>> * A lot of test scripts would find this very useful. For example, some >>> clock (present is all/most MSMs) shouldn't be tested on some SOCs as it >>> would lock up the system if you try to turn it off while the CPU is >>> running. >> >> I don't follow here. Do you mean a struct clk clock or something else? >> Why is userspace allowed to disable a clock which will effectively hang >> the system? :-). > > Ah, sorry. Didn't give enough details. To give some context, I manage > the clock stuff for MSM. The MSM clock driver exports clock control thru > debugfs. We have test scripts that bang the clocks to test them. Each > SoC has a different set of "touch me and you die" clocks that the test > script shouldn't mess with. This socinfo would be useful for those test > cases. Ah, okay. This is still within a single SoC family though since we don't yet (AFAIK) support mutliple SoCs in a single kernel. >>> * Some of the user space tools might want to report different "product >>> id/type" (nothing to do with USB, etc) depending on what SOC it is >>> running on. >> >> This makes more sense. It would actually be useful for custom USB >> devices (gadget) which can be done from user space. > > Hmm... didn't know USB devices/gadgets could be handled from userspace. The gadgetfs driver allows for writing custom usb device implementations. The SoC info could be used to set the USB vendor/product id. Again, I see this more useful within the SoC family (ie at91sam9260 vs at91sam9263) rather than between families. From an embedded perspective at least, I think it is unlikely for an application to need to work on multiple SoC families. The only real objection I have to adding the SoC family information is basically to discourage it being abused by userspace. I can see it being useful in debug situations, but I can also see stupid userspace applications explicitly testing for some particular SoC, rather than more correctly (IMHO) checking for presence of certain drivers etc. ~Ryan -- Bluewater Systems Ltd - ARM Technology Solution Centre Ryan Mallon 5 Amuri Park, 404 Barbadoes St ryan at bluewatersys.com PO Box 13 889, Christchurch 8013 http://www.bluewatersys.com New Zealand Phone: +64 3 3779127 Freecall: Australia 1800 148 751 Fax: +64 3 3779135 USA 1800 261 2934