Re: [PATCH 2/3] mfd: cros_ec: Create sysfs attributes for the ChromeOS EC.

From: Javier Martinez Canillas
Date: Thu Nov 20 2014 - 06:59:13 EST


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@xxxxxxxxxxxx>
>>
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/