Commit 670f0897 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'tag-chrome-platform-for-v6.6' of...

Merge tag 'tag-chrome-platform-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux

Pull chrome platform updates from Tzung-Bi Shih:
 "Improvements:

  - Remove shutdown timeout on EC panic for offering the filesystem a
    chance to sync

  - Support official HID "GOOG0016" for ChromeOS ACPI

  Fixes:

  - Print hex string instead of using "%s" for ACPI_TYPE_BUFFER

  Misc:

  - Update MAINTAINERS"

* tag 'tag-chrome-platform-for-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
  platform/chrome: chromeos_acpi: print hex string for ACPI_TYPE_BUFFER
  platform/chrome: chromeos_acpi: support official HID GOOG0016
  platform/chrome: cros_ec_lpc: Remove EC panic shutdown timeout
  MAINTAINERS: update maintainers of chrome-platform
parents 6383cb42 0820debb
What: /sys/bus/platform/devices/GGL0001:*/BINF.2 What: /sys/bus/platform/devices/GGL0001:*/BINF.2
/sys/bus/platform/devices/GOOG0016:*/BINF.2
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -10,6 +11,7 @@ Description: ...@@ -10,6 +11,7 @@ Description:
== =============================== == ===============================
What: /sys/bus/platform/devices/GGL0001:*/BINF.3 What: /sys/bus/platform/devices/GGL0001:*/BINF.3
/sys/bus/platform/devices/GOOG0016:*/BINF.3
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -23,6 +25,7 @@ Description: ...@@ -23,6 +25,7 @@ Description:
== ===================================== == =====================================
What: /sys/bus/platform/devices/GGL0001:*/CHSW What: /sys/bus/platform/devices/GGL0001:*/CHSW
/sys/bus/platform/devices/GOOG0016:*/CHSW
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -38,6 +41,7 @@ Description: ...@@ -38,6 +41,7 @@ Description:
==== =========================================== ==== ===========================================
What: /sys/bus/platform/devices/GGL0001:*/FMAP What: /sys/bus/platform/devices/GGL0001:*/FMAP
/sys/bus/platform/devices/GOOG0016:*/FMAP
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -45,6 +49,7 @@ Description: ...@@ -45,6 +49,7 @@ Description:
processor firmware flashmap. processor firmware flashmap.
What: /sys/bus/platform/devices/GGL0001:*/FRID What: /sys/bus/platform/devices/GGL0001:*/FRID
/sys/bus/platform/devices/GOOG0016:*/FRID
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -52,6 +57,7 @@ Description: ...@@ -52,6 +57,7 @@ Description:
main processor firmware. main processor firmware.
What: /sys/bus/platform/devices/GGL0001:*/FWID What: /sys/bus/platform/devices/GGL0001:*/FWID
/sys/bus/platform/devices/GOOG0016:*/FWID
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -59,6 +65,7 @@ Description: ...@@ -59,6 +65,7 @@ Description:
main processor firmware. main processor firmware.
What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.0 What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.0
/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.0
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -73,6 +80,7 @@ Description: ...@@ -73,6 +80,7 @@ Description:
=========== ================================== =========== ==================================
What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.1 What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.1
/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.1
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -84,6 +92,7 @@ Description: ...@@ -84,6 +92,7 @@ Description:
== ======================= == =======================
What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.2 What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.2
/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.2
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -91,18 +100,21 @@ Description: ...@@ -91,18 +100,21 @@ Description:
controller. controller.
What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.3 What: /sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.3
/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.3
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
Returns name of the GPIO controller. Returns name of the GPIO controller.
What: /sys/bus/platform/devices/GGL0001:*/HWID What: /sys/bus/platform/devices/GGL0001:*/HWID
/sys/bus/platform/devices/GOOG0016:*/HWID
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
Returns hardware ID for the Chromebook. Returns hardware ID for the Chromebook.
What: /sys/bus/platform/devices/GGL0001:*/MECK What: /sys/bus/platform/devices/GGL0001:*/MECK
/sys/bus/platform/devices/GOOG0016:*/MECK
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -113,6 +125,7 @@ Description: ...@@ -113,6 +125,7 @@ Description:
present, or if the firmware was unable to read the extended registers, this buffer size can be zero. present, or if the firmware was unable to read the extended registers, this buffer size can be zero.
What: /sys/bus/platform/devices/GGL0001:*/VBNV.0 What: /sys/bus/platform/devices/GGL0001:*/VBNV.0
/sys/bus/platform/devices/GOOG0016:*/VBNV.0
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -122,6 +135,7 @@ Description: ...@@ -122,6 +135,7 @@ Description:
clock data). clock data).
What: /sys/bus/platform/devices/GGL0001:*/VBNV.1 What: /sys/bus/platform/devices/GGL0001:*/VBNV.1
/sys/bus/platform/devices/GOOG0016:*/VBNV.1
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
...@@ -129,9 +143,10 @@ Description: ...@@ -129,9 +143,10 @@ Description:
storage block. storage block.
What: /sys/bus/platform/devices/GGL0001:*/VDAT What: /sys/bus/platform/devices/GGL0001:*/VDAT
/sys/bus/platform/devices/GOOG0016:*/VDAT
Date: May 2022 Date: May 2022
KernelVersion: 5.19 KernelVersion: 5.19
Description: Description:
Returns the verified boot data block shared between the Returns the verified boot data block shared between the
firmware verification step and the kernel verification step firmware verification step and the kernel verification step
(binary). (hex dump).
...@@ -5,9 +5,8 @@ Chrome OS ACPI Device ...@@ -5,9 +5,8 @@ Chrome OS ACPI Device
===================== =====================
Hardware functionality specific to Chrome OS is exposed through a Chrome OS ACPI device. Hardware functionality specific to Chrome OS is exposed through a Chrome OS ACPI device.
The plug and play ID of a Chrome OS ACPI device is GGL0001. GGL is a valid PNP ID of Google. The plug and play ID of a Chrome OS ACPI device is GGL0001 and the hardware ID is
PNP ID can be used with the ACPI devices according to the guidelines. The following ACPI GOOG0016. The following ACPI objects are supported:
objects are supported:
.. flat-table:: Supported ACPI Objects .. flat-table:: Supported ACPI Objects
:widths: 1 2 :widths: 1 2
......
...@@ -4819,6 +4819,7 @@ F: drivers/input/touchscreen/chipone_icn8505.c ...@@ -4819,6 +4819,7 @@ F: drivers/input/touchscreen/chipone_icn8505.c
CHROME HARDWARE PLATFORM SUPPORT CHROME HARDWARE PLATFORM SUPPORT
M: Benson Leung <bleung@chromium.org> M: Benson Leung <bleung@chromium.org>
M: Tzung-Bi Shih <tzungbi@kernel.org>
L: chrome-platform@lists.linux.dev L: chrome-platform@lists.linux.dev
S: Maintained S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git
......
...@@ -90,7 +90,36 @@ static int chromeos_acpi_handle_package(struct device *dev, union acpi_object *o ...@@ -90,7 +90,36 @@ static int chromeos_acpi_handle_package(struct device *dev, union acpi_object *o
case ACPI_TYPE_STRING: case ACPI_TYPE_STRING:
return sysfs_emit(buf, "%s\n", element->string.pointer); return sysfs_emit(buf, "%s\n", element->string.pointer);
case ACPI_TYPE_BUFFER: case ACPI_TYPE_BUFFER:
return sysfs_emit(buf, "%s\n", element->buffer.pointer); {
int i, r, at, room_left;
const int byte_per_line = 16;
at = 0;
room_left = PAGE_SIZE - 1;
for (i = 0; i < element->buffer.length && room_left; i += byte_per_line) {
r = hex_dump_to_buffer(element->buffer.pointer + i,
element->buffer.length - i,
byte_per_line, 1, buf + at, room_left,
false);
if (r > room_left)
goto truncating;
at += r;
room_left -= r;
r = sysfs_emit_at(buf, at, "\n");
if (!r)
goto truncating;
at += r;
room_left -= r;
}
buf[at] = 0;
return at;
truncating:
dev_info_once(dev, "truncating sysfs content for %s\n", name);
sysfs_emit_at(buf, PAGE_SIZE - 4, "..\n");
return PAGE_SIZE - 1;
}
default: default:
dev_err(dev, "element type %d not supported\n", element->type); dev_err(dev, "element type %d not supported\n", element->type);
return -EINVAL; return -EINVAL;
...@@ -235,9 +264,9 @@ static int chromeos_acpi_device_probe(struct platform_device *pdev) ...@@ -235,9 +264,9 @@ static int chromeos_acpi_device_probe(struct platform_device *pdev)
return 0; return 0;
} }
/* GGL is valid PNP ID of Google. PNP ID can be used with the ACPI devices. */
static const struct acpi_device_id chromeos_device_ids[] = { static const struct acpi_device_id chromeos_device_ids[] = {
{ "GGL0001", 0 }, { "GGL0001", 0 },
{ "GOOG0016", 0 },
{} {}
}; };
MODULE_DEVICE_TABLE(acpi, chromeos_device_ids); MODULE_DEVICE_TABLE(acpi, chromeos_device_ids);
......
...@@ -327,8 +327,8 @@ static void cros_ec_lpc_acpi_notify(acpi_handle device, u32 value, void *data) ...@@ -327,8 +327,8 @@ static void cros_ec_lpc_acpi_notify(acpi_handle device, u32 value, void *data)
dev_emerg(ec_dev->dev, "CrOS EC Panic Reported. Shutdown is imminent!"); dev_emerg(ec_dev->dev, "CrOS EC Panic Reported. Shutdown is imminent!");
blocking_notifier_call_chain(&ec_dev->panic_notifier, 0, ec_dev); blocking_notifier_call_chain(&ec_dev->panic_notifier, 0, ec_dev);
kobject_uevent_env(&ec_dev->dev->kobj, KOBJ_CHANGE, (char **)env); kobject_uevent_env(&ec_dev->dev->kobj, KOBJ_CHANGE, (char **)env);
/* Begin orderly shutdown. Force shutdown after 1 second. */ /* Begin orderly shutdown. EC will force reset after a short period. */
hw_protection_shutdown("CrOS EC Panic", 1000); hw_protection_shutdown("CrOS EC Panic", -1);
/* Do not query for other events after a panic is reported */ /* Do not query for other events after a panic is reported */
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment