Skip to contentSkip to conversation

acpi: Unconditional GED build

PATCH In review Samuel Ortiz 2 participants 6 messages Oct 9, 2019 – Oct 14, 2019 ACPI

lore
Share & tools
lore
#0 lore raw

cover acpi: Unconditional GED build

The Generic Event Device is a hardware-reduced ACPI specific device, but kernels supporting both fixed and hardware-reduced ACPI hardware should be able to probe it dynamically.

For that purpose, here are 2 patches:

- The first one makes the GED device probe fail on non hardware-reduced platforms.
- The second one disable the conditional evged build.

Arjan van de Ven (1):
acpi: Always build evged in

Samuel Ortiz (1):
acpi: Fail GED probe when not on hardware-reduced

 drivers/acpi/Makefile | 2 +-
 drivers/acpi/evged.c  | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)
Signature · 1 line
2.21.0
#1 lore raw

PATCH 1/2 acpi: Fail GED probe when not on hardware-reduced

The Generic Event Device (GED) is a hardware-reduced platform device. Probing this driver on fixed platforms should fail.

---
 drivers/acpi/evged.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/acpi/evged.c +3 -0
index aba0d0027586..55de4b2d2fee 100644
@@ -127,6 +127,9 @@ static int ged_probe(struct platform_device *pdev)
 	struct acpi_ged_device *geddev;
 	acpi_status acpi_ret;
 
+	if (!acpi_gbl_reduced_hardware)
+		return -ENODEV;
+
 	geddev = devm_kzalloc(&pdev->dev, sizeof(*geddev), GFP_KERNEL);
 	if (!geddev)
 		return -ENOMEM;
Signature · 1 line
2.21.0
#5 lore raw

PATCH 2/2 acpi: Always build evged in

In reply to Samuel Ortiz

From: Arjan van de Ven <[email protected]>

Although the Generic Event Device is a Hardware-reduced platfom device, it should not be restricted to ACPI_REDUCED_HARDWARE_ONLY. Kernels supporting both fixed and hardware-reduced ACPI platforms should be able to probe the GED when dynamically detecting that a platform is hardware-reduced. For that, the driver must be unconditionally built in.

---
 drivers/acpi/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/acpi/Makefile +1 -1
index 5d361e4e3405..ef1ac4d127da 100644
@@ -48,7 +48,7 @@ acpi-y				+= acpi_pnp.o
 acpi-$(CONFIG_ARM_AMBA)	+= acpi_amba.o
 acpi-y				+= power.o
 acpi-y				+= event.o
-acpi-$(CONFIG_ACPI_REDUCED_HARDWARE_ONLY) += evged.o
+acpi-y				+= evged.o
 acpi-y				+= sysfs.o
 acpi-y				+= property.o
 acpi-$(CONFIG_X86)		+= acpi_cmos_rtc.o
Signature · 1 line
2.21.0
#2 lore raw

Re: [PATCH 1/2] acpi: Fail GED probe when not on hardware-reduced

In reply to Samuel Ortiz
Quoted 2 lines · Samuel Ortiz

The Generic Event Device (GED) is a hardware-reduced platform device.

No, it is not AFAICS.

The spec doesn't say that GED cannot be used on platforms that aren't HW-reduced and if evged.c is going to be built in unconditionally, the kernel will be able to handle GED regardless.

Quoted 24 lines

Probing this driver on fixed platforms should fail.

---
 drivers/acpi/evged.c | 3 +++
 1 file changed, 3 insertions(+)
drivers/acpi/evged.c +3 -1
index aba0d0027586..55de4b2d2fee 100644
@@ -127,6 +127,9 @@ static int ged_probe(struct platform_device *pdev)
        struct acpi_ged_device *geddev;
        acpi_status acpi_ret;
 
+       if (!acpi_gbl_reduced_hardware)
+               return -ENODEV;
+
        geddev = devm_kzalloc(&pdev->dev, sizeof(*geddev), GFP_KERNEL);
        if (!geddev)
                return -ENOMEM;
--

2.21.0

#3 lore raw

Re: [PATCH 1/2] acpi: Fail GED probe when not on hardware-reduced

Quoted 5 lines · Rafael J. Wysocki
Quoted 2 lines · Samuel Ortiz

The Generic Event Device (GED) is a hardware-reduced platform device.

No, it is not AFAICS.

It's a little confusing, I was not sure what's the common understanding and tried to be safe by not having non HW-reduced machines getting a new device that they've never seen so far.

Quoted 2 lines

The spec doesn't say that GED cannot be used on platforms that aren't HW-reduced

I agree.

Quoted 2 lines

and if evged.c is going to be built in unconditionally, the
kernel will be able to handle GED regardless.

Ok, perfect then. Does that mean you're ok with the 2nd patch but are going to drop this one?

Cheers,
Samuel.

#4 lore raw

Re: [PATCH 1/2] acpi: Fail GED probe when not on hardware-reduced

Quoted 10 lines · Samuel Ortiz
Quoted 5 lines · Rafael J. Wysocki
Quoted 2 lines · Samuel Ortiz

The Generic Event Device (GED) is a hardware-reduced platform device.

No, it is not AFAICS.

It's a little confusing, I was not sure what's the common understanding and tried to be safe by not having non HW-reduced machines getting a new device that they've never seen so far.

I really don't expect firmware to expose GED for such machines (why would it?), but if it does so, then why not to handle it?

Quoted 8 lines
Quoted 2 lines

The spec doesn't say that GED cannot be used on platforms that aren't HW-reduced

I agree.

Quoted 2 lines

and if evged.c is going to be built in unconditionally, the
kernel will be able to handle GED regardless.

Ok, perfect then. Does that mean you're ok with the 2nd patch but are going to drop this one?

Sure, I will apply the second patch only.

Thanks!