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

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
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
What:		/sys/bus/platform/devices/GGL0001:*/BINF.2
		/sys/bus/platform/devices/GOOG0016:*/BINF.2
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -10,6 +11,7 @@ Description:
		== ===============================

What:		/sys/bus/platform/devices/GGL0001:*/BINF.3
		/sys/bus/platform/devices/GOOG0016:*/BINF.3
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -23,6 +25,7 @@ Description:
		== =====================================

What:		/sys/bus/platform/devices/GGL0001:*/CHSW
		/sys/bus/platform/devices/GOOG0016:*/CHSW
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -38,6 +41,7 @@ Description:
		==== ===========================================

What:		/sys/bus/platform/devices/GGL0001:*/FMAP
		/sys/bus/platform/devices/GOOG0016:*/FMAP
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -45,6 +49,7 @@ Description:
		processor firmware flashmap.

What:		/sys/bus/platform/devices/GGL0001:*/FRID
		/sys/bus/platform/devices/GOOG0016:*/FRID
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -52,6 +57,7 @@ Description:
		main processor firmware.

What:		/sys/bus/platform/devices/GGL0001:*/FWID
		/sys/bus/platform/devices/GOOG0016:*/FWID
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -59,6 +65,7 @@ Description:
		main processor firmware.

What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.0
		/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.0
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -73,6 +80,7 @@ Description:
		=========== ==================================

What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.1
		/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.1
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -84,6 +92,7 @@ Description:
		== =======================

What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.2
		/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.2
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -91,18 +100,21 @@ Description:
		controller.

What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.3
		/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.3
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns name of the GPIO controller.

What:		/sys/bus/platform/devices/GGL0001:*/HWID
		/sys/bus/platform/devices/GOOG0016:*/HWID
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns hardware ID for the Chromebook.

What:		/sys/bus/platform/devices/GGL0001:*/MECK
		/sys/bus/platform/devices/GOOG0016:*/MECK
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -113,6 +125,7 @@ Description:
		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
		/sys/bus/platform/devices/GOOG0016:*/VBNV.0
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -122,6 +135,7 @@ Description:
		clock data).

What:		/sys/bus/platform/devices/GGL0001:*/VBNV.1
		/sys/bus/platform/devices/GOOG0016:*/VBNV.1
Date:		May 2022
KernelVersion:	5.19
Description:
@@ -129,9 +143,10 @@ Description:
		storage block.

What:		/sys/bus/platform/devices/GGL0001:*/VDAT
		/sys/bus/platform/devices/GOOG0016:*/VDAT
Date:		May 2022
KernelVersion:	5.19
Description:
		Returns the verified boot data block shared between the
		firmware verification step and the kernel verification step
		(binary).
		(hex dump).
+2 −3
Original line number Diff line number Diff line
@@ -5,9 +5,8 @@ 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.
PNP ID can be used with the ACPI devices according to the guidelines. The following ACPI
objects are supported:
The plug and play ID of a Chrome OS ACPI device is GGL0001 and the hardware ID is
GOOG0016.  The following ACPI objects are supported:

.. flat-table:: Supported ACPI Objects
   :widths: 1 2
+1 −0
Original line number Diff line number Diff line
@@ -4819,6 +4819,7 @@ F: drivers/input/touchscreen/chipone_icn8505.c
CHROME HARDWARE PLATFORM SUPPORT
M:	Benson Leung <bleung@chromium.org>
M:	Tzung-Bi Shih <tzungbi@kernel.org>
L:	chrome-platform@lists.linux.dev
S:	Maintained
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git
+31 −2
Original line number Diff line number Diff line
@@ -90,7 +90,36 @@ static int chromeos_acpi_handle_package(struct device *dev, union acpi_object *o
	case ACPI_TYPE_STRING:
		return sysfs_emit(buf, "%s\n", element->string.pointer);
	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:
		dev_err(dev, "element type %d not supported\n", element->type);
		return -EINVAL;
@@ -235,9 +264,9 @@ static int chromeos_acpi_device_probe(struct platform_device *pdev)
	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[] = {
	{ "GGL0001", 0 },
	{ "GOOG0016", 0 },
	{}
};
MODULE_DEVICE_TABLE(acpi, chromeos_device_ids);
+2 −2
Original line number Diff line number Diff line
@@ -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!");
		blocking_notifier_call_chain(&ec_dev->panic_notifier, 0, ec_dev);
		kobject_uevent_env(&ec_dev->dev->kobj, KOBJ_CHANGE, (char **)env);
		/* Begin orderly shutdown. Force shutdown after 1 second. */
		hw_protection_shutdown("CrOS EC Panic", 1000);
		/* Begin orderly shutdown. EC will force reset after a short period. */
		hw_protection_shutdown("CrOS EC Panic", -1);
		/* Do not query for other events after a panic is reported */
		return;
	}