<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/platform/chrome, branch v5.3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v5.3</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v5.3'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2019-07-29T11:18:45Z</updated>
<entry>
<title>platform/chrome: cros_ec_ishtp: fix crash during suspend</title>
<updated>2019-07-29T11:18:45Z</updated>
<author>
<name>Hyungwoo Yang</name>
<email>hyungwoo.yang@intel.com</email>
</author>
<published>2019-05-30T04:03:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9cdde85804833af77c6afbf7c53f0d959c42eb9f'/>
<id>urn:sha1:9cdde85804833af77c6afbf7c53f0d959c42eb9f</id>
<content type='text'>
Kernel crashes during suspend due to wrong conversion in
suspend and resume functions.

Use the proper helper to get ishtp_cl_device instance.

Cc: &lt;stable@vger.kernel.org&gt; # 5.2.x: b12bbdc5: HID: intel-ish-hid: fix wrong driver_data usage
Signed-off-by: Hyungwoo Yang &lt;hyungwoo.yang@intel.com&gt;
Signed-off-by: Enric Balletbo i Serra &lt;enric.balletbo@collabora.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'tag-chrome-platform-for-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux</title>
<updated>2019-07-12T01:45:29Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2019-07-12T01:45:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d7d170a8e357bd9926cc6bfea5c2385c2eac65b2'/>
<id>urn:sha1:d7d170a8e357bd9926cc6bfea5c2385c2eac65b2</id>
<content type='text'>
Pull chrome platform updates from Benson Leung
 "CrOS EC:
   - Add new CrOS ISHTP transport protocol
   - Add proper documentation for debugfs entries and expose resume and
     uptime files
   - Select LPC transport protocol variant at runtime.
   - Add lid angle sensor driver
   - Fix oops on suspend/resume for lightbar driver
   - Set CrOS SPI transport protol in realtime

  Wilco EC:
   - Add telemetry char device interface
   - Add support for event handling
   - Add new sysfs attributes

  Misc:
   - Contains ib-mfd-cros-v5.3 immutable branch from mfd, with
     cros_ec_commands.h header freshly synced with Chrome OS's EC
     project"

* tag 'tag-chrome-platform-for-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux: (54 commits)
  mfd / platform: cros_ec_debugfs: Expose resume result via debugfs
  platform/chrome: lightbar: Get drvdata from parent in suspend/resume
  iio: cros_ec: Add lid angle driver
  platform/chrome: wilco_ec: Add circular buffer as event queue
  platform/chrome: cros_ec_lpc_mec: Fix kernel-doc comment first line
  platform/chrome: cros_ec_lpc: Choose Microchip EC at runtime
  platform/chrome: cros_ec_lpc: Merge cros_ec_lpc and cros_ec_lpc_reg
  Input: cros_ec_keyb: mask out extra flags in event_type
  platform/chrome: wilco_ec: Fix unreleased lock in event_read()
  platform/chrome: cros_ec_debugfs: cros_ec_uptime_fops can be static
  platform/chrome: cros_ec_debugfs: Add debugfs ABI documentation
  platform/chrome: cros_ec_debugfs: Fix kernel-doc comment first line
  platform/chrome: cros_ec_debugfs: Add debugfs entry to retrieve EC uptime
  mfd: cros_ec: Update I2S API
  mfd: cros_ec: Add Management API entry points
  mfd: cros_ec: Add SKU ID and Secure storage API
  mfd: cros_ec: Add API for rwsig
  mfd: cros_ec: Add API for Fingerprint support
  mfd: cros_ec: Add API for Touchpad support
  mfd: cros_ec: Add API for EC-EC communication
  ...
</content>
</entry>
<entry>
<title>mfd / platform: cros_ec_debugfs: Expose resume result via debugfs</title>
<updated>2019-07-01T13:39:11Z</updated>
<author>
<name>Evan Green</name>
<email>evgreen@chromium.org</email>
</author>
<published>2019-06-27T20:44:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8c3166e17cf10161d2871dfb1d017287c7b79ff1'/>
<id>urn:sha1:8c3166e17cf10161d2871dfb1d017287c7b79ff1</id>
<content type='text'>
For ECs that support it, the EC returns the number of slp_s0
transitions and whether or not there was a timeout in the resume
response. Expose the last resume result to usermode via debugfs so
that usermode can detect and report S0ix timeouts.

Signed-off-by: Evan Green &lt;evgreen@chromium.org&gt;
Acked-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Enric Balletbo i Serra &lt;enric.balletbo@collabora.com&gt;
</content>
</entry>
<entry>
<title>platform/chrome: lightbar: Get drvdata from parent in suspend/resume</title>
<updated>2019-06-28T10:37:21Z</updated>
<author>
<name>Rajat Jain</name>
<email>rajatja@google.com</email>
</author>
<published>2019-06-27T21:47:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c18e6ea1014ca1ade0030aca5e80af33c8873e1e'/>
<id>urn:sha1:c18e6ea1014ca1ade0030aca5e80af33c8873e1e</id>
<content type='text'>
The lightbar driver never assigned the drvdata in probe method, and
thus there is nothing there. Need to get the ec_dev from the parent's
drvdata.

Signed-off-by: Rajat Jain &lt;rajatja@google.com&gt;
Reviewed-by: Gwendal Grignou &lt;gwendal@chromium.org&gt;
Signed-off-by: Enric Balletbo i Serra &lt;enric.balletbo@collabora.com&gt;
</content>
</entry>
<entry>
<title>platform/chrome: wilco_ec: Add circular buffer as event queue</title>
<updated>2019-06-25T10:33:05Z</updated>
<author>
<name>Nick Crews</name>
<email>ncrews@chromium.org</email>
</author>
<published>2019-06-24T19:00:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1d333ef3d599026897fb11b4f89f9f8f30838139'/>
<id>urn:sha1:1d333ef3d599026897fb11b4f89f9f8f30838139</id>
<content type='text'>
The current implementation of the event queue both
wastes space using a doubly linked list and isn't super
obvious in how it behaves. This converts the queue to an
actual circular buffer. The size of the queue is a
tunable module parameter. This also fixes a few other things:

- A memory leak that occurred when the ACPI device was
  removed, but the events were not freed from the queue.
- Now kfree() the oldest event from outside all locks.
- Add newline to logging messages.
- Add helper macros to calculate size of events.
- Remove unneeded lock around a check for dev_data-&gt;exist
  in hangup_device().
- Remove an unneeded null event pointer check in enqueue_events().
- Correct some comments.

Signed-off-by: Nick Crews &lt;ncrews@chromium.org&gt;
Signed-off-by: Enric Balletbo i Serra &lt;enric.balletbo@collabora.com&gt;
</content>
</entry>
<entry>
<title>platform/chrome: cros_ec_lpc_mec: Fix kernel-doc comment first line</title>
<updated>2019-06-20T10:00:32Z</updated>
<author>
<name>Enric Balletbo i Serra</name>
<email>enric.balletbo@collabora.com</email>
</author>
<published>2019-06-14T21:43:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9eecd07b34507de9d6a9c264d13d30e1ee5fabe8'/>
<id>urn:sha1:9eecd07b34507de9d6a9c264d13d30e1ee5fabe8</id>
<content type='text'>
kernel-doc comments have a prescribed format. To be _particularly_ correct
we should also capitalise the brief description and terminate it with a
period.

Signed-off-by: Enric Balletbo i Serra &lt;enric.balletbo@collabora.com&gt;
Reviewed-by: Nick Crews &lt;ncrews@chromium.org&gt;
</content>
</entry>
<entry>
<title>platform/chrome: cros_ec_lpc: Choose Microchip EC at runtime</title>
<updated>2019-06-20T10:00:32Z</updated>
<author>
<name>Enric Balletbo i Serra</name>
<email>enric.balletbo@collabora.com</email>
</author>
<published>2019-06-14T21:43:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=22c040fa21b604b9b3d88645e108fb2f0a74474b'/>
<id>urn:sha1:22c040fa21b604b9b3d88645e108fb2f0a74474b</id>
<content type='text'>
On many boards, communication between the kernel and the Embedded
Controller happens over an LPC bus. In these cases, the kernel config
CONFIG_CROS_EC_LPC is enabled. Some of these LPC boards contain a
Microchip Embedded Controller (MEC) that is different from the regular
EC. On these devices, the same LPC bus is used, but the protocol is
a little different. In these cases, the CONFIG_CROS_EC_LPC_MEC kernel
config is enabled. Currently, the kernel decides at compile-time whether
or not to use the MEC variant, and, when that kernel option is selected
it breaks the other boards. We would like a kind of runtime detection to
avoid this.

This patch adds that detection mechanism by probing the protocol at
runtime, first we assume that a MEC variant is connected, and if the
protocol fails it fallbacks to the regular EC. This adds a bit of
overload because we try to read twice on those LPC boards that doesn't
contain a MEC variant, but is a better solution than having to select the
EC variant at compile-time.

While here also fix the alignment in Kconfig file for this config option
replacing the spaces by tabs.

Signed-off-by: Enric Balletbo i Serra &lt;enric.balletbo@collabora.com&gt;
Reviewed-by: Ezequiel Garcia &lt;ezequiel@collabora.com&gt;
Tested-by: Nick Crews &lt;ncrews@chromium.org&gt;
Reviewed-by: Nick Crews &lt;ncrews@chromium.org&gt;
</content>
</entry>
<entry>
<title>platform/chrome: cros_ec_lpc: Merge cros_ec_lpc and cros_ec_lpc_reg</title>
<updated>2019-06-20T09:53:52Z</updated>
<author>
<name>Enric Balletbo i Serra</name>
<email>enric.balletbo@collabora.com</email>
</author>
<published>2019-06-14T21:43:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4116fd25c5262e90427f9840e861a8553374a867'/>
<id>urn:sha1:4116fd25c5262e90427f9840e861a8553374a867</id>
<content type='text'>
The cros_ec_lpc_reg files are only used by the cros_ec_lpc core and
there isn't logical separation between them. So, merge those files into
the cros_ec_lpc also allowing us to drop the header file used for the
interface between the two.

Signed-off-by: Enric Balletbo i Serra &lt;enric.balletbo@collabora.com&gt;
Reviewed-by: Nick Crews &lt;ncrews@chromium.org&gt;
</content>
</entry>
<entry>
<title>platform/chrome: wilco_ec: Fix unreleased lock in event_read()</title>
<updated>2019-06-18T08:37:21Z</updated>
<author>
<name>Nick Crews</name>
<email>ncrews@chromium.org</email>
</author>
<published>2019-06-14T20:56:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=aa8b8f9f9bef4696b6d9f1ca4d0de2b403db65c5'/>
<id>urn:sha1:aa8b8f9f9bef4696b6d9f1ca4d0de2b403db65c5</id>
<content type='text'>
When copying an event to userspace failed, the event queue
lock was never released. This fixes that.

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Nick Crews &lt;ncrews@chromium.org&gt;
Signed-off-by: Enric Balletbo i Serra &lt;enric.balletbo@collabora.com&gt;
</content>
</entry>
<entry>
<title>platform/chrome: cros_ec_debugfs: cros_ec_uptime_fops can be static</title>
<updated>2019-06-18T08:32:31Z</updated>
<author>
<name>kbuild test robot</name>
<email>lkp@intel.com</email>
</author>
<published>2019-06-18T08:32:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=35b52b3315a21d3314f859814717ca3583660f73'/>
<id>urn:sha1:35b52b3315a21d3314f859814717ca3583660f73</id>
<content type='text'>
Fixes: 909447f683b3 ("platform/chrome: cros_ec_debugfs: Add debugfs entry to retrieve EC uptime")
Signed-off-by: kbuild test robot &lt;lkp@intel.com&gt;
Signed-off-by: Enric Balletbo i Serra &lt;enric.balletbo@collabora.com&gt;
</content>
</entry>
</feed>
