diff mbox series

platform/chrome: chromeos_acpi: use official HID GOOG0016

Message ID 20230728014256.3836298-1-tzungbi@kernel.org (mailing list archive)
State Superseded
Headers show
Series platform/chrome: chromeos_acpi: use official HID GOOG0016 | expand

Commit Message

Tzung-Bi Shih July 28, 2023, 1:42 a.m. UTC
Use official HID GOOG0016 for ChromeOS ACPI (see [1]).

[1]: https://crrev.com/c/2266713

Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
---
AFAIK, there has no ChromeOS devices using the driver yet.  Instead, they
still stick to some downstream implementation.  IOW, I guess we are safe
to just replace the PNP ID.

 .../ABI/testing/sysfs-driver-chromeos-acpi    | 30 +++++++++----------
 .../acpi/chromeos-acpi-device.rst             |  5 ++--
 drivers/platform/chrome/chromeos_acpi.c       |  3 +-
 3 files changed, 18 insertions(+), 20 deletions(-)

Comments

Muhammad Usama Anjum July 28, 2023, 5:59 a.m. UTC | #1
Thanks for the patch.

On 7/28/23 6:42 AM, Tzung-Bi Shih wrote:
> Use official HID GOOG0016 for ChromeOS ACPI (see [1]).
> 
> [1]: https://crrev.com/c/2266713
> 
> Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
> ---
> AFAIK, there has no ChromeOS devices using the driver yet.  Instead, they
> still stick to some downstream implementation.  IOW, I guess we are safe
> to just replace the PNP ID.
GOOG0016 got introduced in newer firmware. Older firmware will still have
only GGL0001 id. Lets keep both IDs otherwise the updated driver will not
work on older chromebooks. This can be easily achieved by keeping both IDs
in chromeos_device_ids.

> 
>  .../ABI/testing/sysfs-driver-chromeos-acpi    | 30 +++++++++----------
>  .../acpi/chromeos-acpi-device.rst             |  5 ++--
>  drivers/platform/chrome/chromeos_acpi.c       |  3 +-
>  3 files changed, 18 insertions(+), 20 deletions(-)
> 
> diff --git a/Documentation/ABI/testing/sysfs-driver-chromeos-acpi b/Documentation/ABI/testing/sysfs-driver-chromeos-acpi
> index c308926e1568..8e8a5d6610b8 100644
> --- a/Documentation/ABI/testing/sysfs-driver-chromeos-acpi
> +++ b/Documentation/ABI/testing/sysfs-driver-chromeos-acpi
> @@ -1,4 +1,4 @@
> -What:		/sys/bus/platform/devices/GGL0001:*/BINF.2
> +What:		/sys/bus/platform/devices/GOOG0016:*/BINF.2
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
> @@ -9,7 +9,7 @@ Description:
>  		1  Rewritable firmware.
>  		== ===============================
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/BINF.3
> +What:		/sys/bus/platform/devices/GOOG0016:*/BINF.3
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
> @@ -22,7 +22,7 @@ Description:
>  		3  Netboot (factory installation only).
>  		== =====================================
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/CHSW
> +What:		/sys/bus/platform/devices/GOOG0016:*/CHSW
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
> @@ -37,28 +37,28 @@ Description:
>  		512  Firmware write protection was disabled.
>  		==== ===========================================
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/FMAP
> +What:		/sys/bus/platform/devices/GOOG0016:*/FMAP
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
>  		Returns physical memory address of the start of the main
>  		processor firmware flashmap.
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/FRID
> +What:		/sys/bus/platform/devices/GOOG0016:*/FRID
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
>  		Returns firmware version for the read-only portion of the
>  		main processor firmware.
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/FWID
> +What:		/sys/bus/platform/devices/GOOG0016:*/FWID
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
>  		Returns firmware version for the rewritable portion of the
>  		main processor firmware.
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.0
> +What:		/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.0
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
> @@ -72,7 +72,7 @@ Description:
>  		256 to 511  Debug header GPIO 0 to GPIO 255.
>  		=========== ==================================
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.1
> +What:		/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.1
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
> @@ -83,26 +83,26 @@ Description:
>  		1  Signal is active high.
>  		== =======================
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.2
> +What:		/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.2
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
>  		Returns the GPIO number on the specified GPIO
>  		controller.
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.3
> +What:		/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
> +What:		/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
> +What:		/sys/bus/platform/devices/GOOG0016:*/MECK
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
> @@ -112,7 +112,7 @@ Description:
>  		Engine firmware has not changed. If Management Engine is not
>  		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/GOOG0016:*/VBNV.0
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
> @@ -121,14 +121,14 @@ Description:
>  		(that is, 'offset = 0' is the byte following the 14 bytes of
>  		clock data).
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/VBNV.1
> +What:		/sys/bus/platform/devices/GOOG0016:*/VBNV.1
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
>  		Return the size in bytes of the verified boot non-volatile
>  		storage block.
>  
> -What:		/sys/bus/platform/devices/GGL0001:*/VDAT
> +What:		/sys/bus/platform/devices/GOOG0016:*/VDAT
>  Date:		May 2022
>  KernelVersion:	5.19
>  Description:
> diff --git a/Documentation/firmware-guide/acpi/chromeos-acpi-device.rst b/Documentation/firmware-guide/acpi/chromeos-acpi-device.rst
> index f37fc90ce340..abb8641fd022 100644
> --- a/Documentation/firmware-guide/acpi/chromeos-acpi-device.rst
> +++ b/Documentation/firmware-guide/acpi/chromeos-acpi-device.rst
> @@ -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 hardware ID of a Chrome OS ACPI device is GOOG0016.  The following ACPI objects are
> +supported:
>  
>  .. flat-table:: Supported ACPI Objects
>     :widths: 1 2
> diff --git a/drivers/platform/chrome/chromeos_acpi.c b/drivers/platform/chrome/chromeos_acpi.c
> index 50d8a4d4352d..4dcc22c34469 100644
> --- a/drivers/platform/chrome/chromeos_acpi.c
> +++ b/drivers/platform/chrome/chromeos_acpi.c
> @@ -235,9 +235,8 @@ 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);
Tzung-Bi Shih July 28, 2023, 6:32 a.m. UTC | #2
On Fri, Jul 28, 2023 at 10:59:22AM +0500, Muhammad Usama Anjum wrote:
> On 7/28/23 6:42 AM, Tzung-Bi Shih wrote:
> > Use official HID GOOG0016 for ChromeOS ACPI (see [1]).
> > 
> > [1]: https://crrev.com/c/2266713
> > 
> > Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
> > ---
> > AFAIK, there has no ChromeOS devices using the driver yet.  Instead, they
> > still stick to some downstream implementation.  IOW, I guess we are safe
> > to just replace the PNP ID.
> GOOG0016 got introduced in newer firmware. Older firmware will still have
> only GGL0001 id. Lets keep both IDs otherwise the updated driver will not
> work on older chromebooks. This can be easily achieved by keeping both IDs
> in chromeos_device_ids.

Thanks for the review.  I overlooked the case.  Will fix it in next version.

So if I'm looking for the path, whether it bases on "GOOG0016" or "GGL0001",
it actually depends on what firmware the system has?
Muhammad Usama Anjum July 28, 2023, 7:43 a.m. UTC | #3
On 7/28/23 11:32 AM, Tzung-Bi Shih wrote:
> On Fri, Jul 28, 2023 at 10:59:22AM +0500, Muhammad Usama Anjum wrote:
>> On 7/28/23 6:42 AM, Tzung-Bi Shih wrote:
>>> Use official HID GOOG0016 for ChromeOS ACPI (see [1]).
>>>
>>> [1]: https://crrev.com/c/2266713
>>>
>>> Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
>>> ---
>>> AFAIK, there has no ChromeOS devices using the driver yet.  Instead, they
>>> still stick to some downstream implementation.  IOW, I guess we are safe
>>> to just replace the PNP ID.
>> GOOG0016 got introduced in newer firmware. Older firmware will still have
>> only GGL0001 id. Lets keep both IDs otherwise the updated driver will not
>> work on older chromebooks. This can be easily achieved by keeping both IDs
>> in chromeos_device_ids.
> 
> Thanks for the review.  I overlooked the case.  Will fix it in next version.
> 
> So if I'm looking for the path, whether it bases on "GOOG0016" or "GGL0001",
> it actually depends on what firmware the system has?
So kernel will the match the firware's ID with list of IDs defined there.
diff mbox series

Patch

diff --git a/Documentation/ABI/testing/sysfs-driver-chromeos-acpi b/Documentation/ABI/testing/sysfs-driver-chromeos-acpi
index c308926e1568..8e8a5d6610b8 100644
--- a/Documentation/ABI/testing/sysfs-driver-chromeos-acpi
+++ b/Documentation/ABI/testing/sysfs-driver-chromeos-acpi
@@ -1,4 +1,4 @@ 
-What:		/sys/bus/platform/devices/GGL0001:*/BINF.2
+What:		/sys/bus/platform/devices/GOOG0016:*/BINF.2
 Date:		May 2022
 KernelVersion:	5.19
 Description:
@@ -9,7 +9,7 @@  Description:
 		1  Rewritable firmware.
 		== ===============================
 
-What:		/sys/bus/platform/devices/GGL0001:*/BINF.3
+What:		/sys/bus/platform/devices/GOOG0016:*/BINF.3
 Date:		May 2022
 KernelVersion:	5.19
 Description:
@@ -22,7 +22,7 @@  Description:
 		3  Netboot (factory installation only).
 		== =====================================
 
-What:		/sys/bus/platform/devices/GGL0001:*/CHSW
+What:		/sys/bus/platform/devices/GOOG0016:*/CHSW
 Date:		May 2022
 KernelVersion:	5.19
 Description:
@@ -37,28 +37,28 @@  Description:
 		512  Firmware write protection was disabled.
 		==== ===========================================
 
-What:		/sys/bus/platform/devices/GGL0001:*/FMAP
+What:		/sys/bus/platform/devices/GOOG0016:*/FMAP
 Date:		May 2022
 KernelVersion:	5.19
 Description:
 		Returns physical memory address of the start of the main
 		processor firmware flashmap.
 
-What:		/sys/bus/platform/devices/GGL0001:*/FRID
+What:		/sys/bus/platform/devices/GOOG0016:*/FRID
 Date:		May 2022
 KernelVersion:	5.19
 Description:
 		Returns firmware version for the read-only portion of the
 		main processor firmware.
 
-What:		/sys/bus/platform/devices/GGL0001:*/FWID
+What:		/sys/bus/platform/devices/GOOG0016:*/FWID
 Date:		May 2022
 KernelVersion:	5.19
 Description:
 		Returns firmware version for the rewritable portion of the
 		main processor firmware.
 
-What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.0
+What:		/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.0
 Date:		May 2022
 KernelVersion:	5.19
 Description:
@@ -72,7 +72,7 @@  Description:
 		256 to 511  Debug header GPIO 0 to GPIO 255.
 		=========== ==================================
 
-What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.1
+What:		/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.1
 Date:		May 2022
 KernelVersion:	5.19
 Description:
@@ -83,26 +83,26 @@  Description:
 		1  Signal is active high.
 		== =======================
 
-What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.2
+What:		/sys/bus/platform/devices/GOOG0016:*/GPIO.X/GPIO.2
 Date:		May 2022
 KernelVersion:	5.19
 Description:
 		Returns the GPIO number on the specified GPIO
 		controller.
 
-What:		/sys/bus/platform/devices/GGL0001:*/GPIO.X/GPIO.3
+What:		/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
+What:		/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
+What:		/sys/bus/platform/devices/GOOG0016:*/MECK
 Date:		May 2022
 KernelVersion:	5.19
 Description:
@@ -112,7 +112,7 @@  Description:
 		Engine firmware has not changed. If Management Engine is not
 		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/GOOG0016:*/VBNV.0
 Date:		May 2022
 KernelVersion:	5.19
 Description:
@@ -121,14 +121,14 @@  Description:
 		(that is, 'offset = 0' is the byte following the 14 bytes of
 		clock data).
 
-What:		/sys/bus/platform/devices/GGL0001:*/VBNV.1
+What:		/sys/bus/platform/devices/GOOG0016:*/VBNV.1
 Date:		May 2022
 KernelVersion:	5.19
 Description:
 		Return the size in bytes of the verified boot non-volatile
 		storage block.
 
-What:		/sys/bus/platform/devices/GGL0001:*/VDAT
+What:		/sys/bus/platform/devices/GOOG0016:*/VDAT
 Date:		May 2022
 KernelVersion:	5.19
 Description:
diff --git a/Documentation/firmware-guide/acpi/chromeos-acpi-device.rst b/Documentation/firmware-guide/acpi/chromeos-acpi-device.rst
index f37fc90ce340..abb8641fd022 100644
--- a/Documentation/firmware-guide/acpi/chromeos-acpi-device.rst
+++ b/Documentation/firmware-guide/acpi/chromeos-acpi-device.rst
@@ -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 hardware ID of a Chrome OS ACPI device is GOOG0016.  The following ACPI objects are
+supported:
 
 .. flat-table:: Supported ACPI Objects
    :widths: 1 2
diff --git a/drivers/platform/chrome/chromeos_acpi.c b/drivers/platform/chrome/chromeos_acpi.c
index 50d8a4d4352d..4dcc22c34469 100644
--- a/drivers/platform/chrome/chromeos_acpi.c
+++ b/drivers/platform/chrome/chromeos_acpi.c
@@ -235,9 +235,8 @@  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);