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 |
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);
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?
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 --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);
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(-)