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(-)
--
2.21.0
The Generic Event Device (GED) is a hardware-reduced platform device.
Probing this driver on fixed platforms should fail.
Signed-off-by: Samuel Ortiz <[email protected]>
---
drivers/acpi/evged.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/acpi/evged.c b/drivers/acpi/evged.c
index aba0d0027586..55de4b2d2fee 100644
--- a/drivers/acpi/evged.c
+++ b/drivers/acpi/evged.c
@@ -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
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.
Signed-off-by: Arjan van de Ven <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
---
drivers/acpi/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile
index 5d361e4e3405..ef1ac4d127da 100644
--- a/drivers/acpi/Makefile
+++ b/drivers/acpi/Makefile
@@ -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
--
2.21.0
On Wed, Oct 9, 2019 at 3:04 PM Samuel Ortiz <[email protected]> wrote:
>
> 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.
> Probing this driver on fixed platforms should fail.
>
> Signed-off-by: Samuel Ortiz <[email protected]>
> ---
> drivers/acpi/evged.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/acpi/evged.c b/drivers/acpi/evged.c
> index aba0d0027586..55de4b2d2fee 100644
> --- a/drivers/acpi/evged.c
> +++ b/drivers/acpi/evged.c
> @@ -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
>
On Fri, Oct 11, 2019 at 12:38:49PM +0200, Rafael J. Wysocki wrote:
> On Wed, Oct 9, 2019 at 3:04 PM Samuel Ortiz <[email protected]> wrote:
> >
> > 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.
> The spec doesn't say that GED cannot be used on platforms that aren't
> HW-reduced
I agree.
> 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.
On Fri, Oct 11, 2019 at 2:14 PM Samuel Ortiz <[email protected]> wrote:
>
> On Fri, Oct 11, 2019 at 12:38:49PM +0200, Rafael J. Wysocki wrote:
> > On Wed, Oct 9, 2019 at 3:04 PM Samuel Ortiz <[email protected]> wrote:
> > >
> > > 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?
> > The spec doesn't say that GED cannot be used on platforms that aren't
> > HW-reduced
> I agree.
>
> > 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!