Skip to contentSkip to conversation

iio: accel: kxcjk-1013: Add the "KXJ2109" ACPI HID

PATCH Applied Stephan Gerhold 3 participants 4 messages Nov 25, 2018 – Nov 26, 2018 IIO

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 iio: accel: kxcjk-1013: Add the "KXJ2109" ACPI HID

This HID is used on the ASUS MeMO Pad 7 (ME176C) tablet.

---
 drivers/iio/accel/kxcjk-1013.c | 1 +
 1 file changed, 1 insertion(+)
drivers/iio/accel/kxcjk-1013.c +1 -0
index af53a1084ee5..cc5b2beb1328 100644
@@ -1491,6 +1491,7 @@ static const struct acpi_device_id kx_acpi_match[] = {
 	{"KXCJ9000", KXCJ91008},
 	{"KIOX000A", KXCJ91008},
 	{"KXTJ1009", KXTJ21009},
+	{"KXJ2109",  KXTJ21009},
 	{"SMO8500",  KXCJ91008},
 	{ },
 };
Signature · 1 line
2.19.2
maintainer Applied
#1 lore raw
Quoted 3 lines · On Sat, 24 Nov 2018 17:22:20 +0100 Stephan Gerhold <[email protected]> wrote:

This HID is used on the ASUS MeMO Pad 7 (ME176C) tablet.

Other than a distinct temptation to rant about formats of ACPI IDs (4 characters the a number), looks good.

For reference (I was waiting for a build so decided to dig it out ;)
ACPI 6.2 spec. 6.5.1

"A valid ACPI ID must be of the form "NNNN####" where N is an uppercase letter or a digit ('0'-'9') and # is a hex digit." is the text about a manufacturer defined ID.

If anyone has a contact at ASUS who I can rant at do pass it on!

Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it.

Thanks,

Jonathan

Quoted 16 lines
---
 drivers/iio/accel/kxcjk-1013.c | 1 +
 1 file changed, 1 insertion(+)
drivers/iio/accel/kxcjk-1013.c +1 -0
index af53a1084ee5..cc5b2beb1328 100644
@@ -1491,6 +1491,7 @@ static const struct acpi_device_id kx_acpi_match[] = {
 	{"KXCJ9000", KXCJ91008},
 	{"KIOX000A", KXCJ91008},
 	{"KXTJ1009", KXTJ21009},
+	{"KXJ2109",  KXTJ21009},
 	{"SMO8500",  KXCJ91008},
 	{ },
 };
#2 lore raw

[Cc acpi list]

Quoted 9 lines · Jonathan Cameron
Quoted 3 lines · On Sat, 24 Nov 2018 17:22:20 +0100 Stephan Gerhold <[email protected]> wrote:

This HID is used on the ASUS MeMO Pad 7 (ME176C) tablet.

Other than a distinct temptation to rant about formats of ACPI IDs (4 characters the a number), looks good.

Quoted 7 lines

For reference (I was waiting for a build so decided to dig it out ;)
ACPI 6.2 spec. 6.5.1

"A valid ACPI ID must be of the form "NNNN####" where N is an uppercase letter or a digit ('0'-'9') and # is a hex digit." is the text about a manufacturer defined ID.

I think it is a PNP ID(KXJ) instead.

PNP ID: PNP Vendor IDs consist of 3 characters, each character
being an uppercase letter (A-Z).

+ four-characters(2109) as the Product Identifier.

But didn't find anything on the forum:
http://www.uefi.org/PNP_ID_List?search=KXJ

Neither "KXTJ":
http://www.uefi.org/ACPI_ID_List?search=KXTJ

Sorry for nagging about this again, but I don't really understand the purpose of acpi spec.

And I remember your point[1]:

".. spec is governed by developers who put the tables in the BIOS and really by the spec"

[1] https://marc.info/?l=linux-iio&m=154077000428250&w=2

Quoted 26 lines

If anyone has a contact at ASUS who I can rant at do pass it on!

Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it.

Thanks,

Jonathan

Quoted 16 lines
---
 drivers/iio/accel/kxcjk-1013.c | 1 +
 1 file changed, 1 insertion(+)
drivers/iio/accel/kxcjk-1013.c +1 -0
index af53a1084ee5..cc5b2beb1328 100644
@@ -1491,6 +1491,7 @@ static const struct acpi_device_id kx_acpi_match[] = {
 	{"KXCJ9000", KXCJ91008},
 	{"KIOX000A", KXCJ91008},
 	{"KXTJ1009", KXTJ21009},
+	{"KXJ2109",  KXTJ21009},
 	{"SMO8500",  KXCJ91008},
 	{ },
 };
Signature · 4 lines
Himanshu Jha
Undergraduate Student
Department of Electronics & Communication
Guru Tegh Bahadur Institute of Technology
#3 lore raw
In reply to Jonathan Cameron
Quoted 13 lines · Jonathan Cameron
Quoted 3 lines · On Sat, 24 Nov 2018 17:22:20 +0100 Stephan Gerhold <[email protected]> wrote:

This HID is used on the ASUS MeMO Pad 7 (ME176C) tablet.

Other than a distinct temptation to rant about formats of ACPI IDs (4 characters the a number), looks good.

For reference (I was waiting for a build so decided to dig it out ;)
ACPI 6.2 spec. 6.5.1

Quoted 5 lines

"A valid ACPI ID must be of the form "NNNN####" where N is an uppercase letter or a digit ('0'-'9') and # is a hex digit." is the text about a manufacturer defined ID.

If anyone has a contact at ASUS who I can rant at do pass it on!

I didn't realize the ACPI ID is technically invalid, but I have to admit I'm not very surprised about this: The DSDT of this tablet is absolutely horrible - there is a lot more I could rant about :)

(The tablet was originally shipped with Android; rather than fixing their firmware, they chose to hardcode hacks and workarounds for many things in their heavily patched Linux kernel...)

The sensors are one of the few things that work out of the box without additional workarounds (except adding the ACPI ID)...

Quoted 3 lines

Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it.

Thanks!

Quoted 22 lines

Thanks,

Jonathan

Quoted 16 lines
---
 drivers/iio/accel/kxcjk-1013.c | 1 +
 1 file changed, 1 insertion(+)
drivers/iio/accel/kxcjk-1013.c +1 -0
index af53a1084ee5..cc5b2beb1328 100644
@@ -1491,6 +1491,7 @@ static const struct acpi_device_id kx_acpi_match[] = {
 	{"KXCJ9000", KXCJ91008},
 	{"KIOX000A", KXCJ91008},
 	{"KXTJ1009", KXTJ21009},
+	{"KXJ2109",  KXTJ21009},
 	{"SMO8500",  KXCJ91008},
 	{ },
 };