Messages in this thread | | | Date | Thu, 20 Nov 2014 12:58:59 +0100 | From | Javier Martinez Canillas <> | Subject | Re: [PATCH 2/3] mfd: cros_ec: Create sysfs attributes for the ChromeOS EC. |
| |
Hello Lee,
On 11/18/2014 03:26 PM, Lee Jones wrote: > On Mon, 17 Nov 2014, Javier Martinez Canillas wrote: > >> From: Bill Richardson <wfrichar@chromium.org> >> >> This adds the first few sysfs attributes for the Chrome OS EC. These >> controls are made available under /sys/devices/virtual/chromeos/cros_ec >> >> flashinfo - display current flash info > > drivers/mtd? > >> reboot - tell the EC to reboot in various ways > > drivers/power? >
Well this driver is special in the sense that there is a Cortex-M Embedded Controller that has different peripherals (flash, keyboard, charger, etc). The kernel communicates with these peripherals by using a tunnel through the protocol used to communicate with the Embedded Controller (SPI/I2C/LPC).
But you are right that this is not suitable for drivers/mfd, I just added there because that is the location in the downstream ChromeOS kernel but like you said, the MFD subsystem should not be a dumping ground for devices that is not clear where should live.
On v2 I'll add this sysfs interface and the dev to drivers/platform/chrome/ since I think is a better place for the cros_ec dev driver. It will still be spawns from the cros_ec MFD driver though but that is OK for you AFAIU.
>> version - information about the EC software and hardware > > What's the difference between this version and the version you can > read in the new _dev driver? >
The version information read from the cros_ec dev interface is a subset of the information read from the version sysfs, e.g:
$ cat /dev/cros_ec 1.0.0 pit_v1.1.1198-1cd618e pit_v1.1.1198-1cd618e read-only
$ cat /sys/class/chromeos/cros_ec/version RO version: pit_v1.1.1198-1cd618e RW version: pit_v1.1.1198-1cd618e Firmware copy: RO Build info: pit_v1.1.1198-1cd618e 2014-04-30 16:29:52 @build122-m2 Chip vendor: stm Chip name: stm32l15x Chip revision: Board version: 0
I don't really know why there are two interfaces for this but I guess that different user-space utilities use one or another. Maybe the ChromiumOS folks can comment on this.
Best regards, Javier
| |