mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 18:44:58 -06:00
arm/virt: place power button pin number on a define
Having magic numbers inside the code is not a good idea, as it is error-prone. So, instead, create a macro with the number definition. Link: https://lore.kernel.org/qemu-devel/CAFEAcA-PYnZ-32MRX+PgvzhnoAV80zBKMYg61j2f=oHaGfwSsg@mail.gmail.com/ Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Message-id: ef0e7f5fca6cd94eda415ecee670c3028c671b74.1723121692.git.mchehab+huawei@kernel.org Suggested-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
446e5e8b45
commit
ed5031ad5d
3 changed files with 10 additions and 6 deletions
|
@ -154,10 +154,10 @@ static void acpi_dsdt_add_gpio(Aml *scope, const MemMapEntry *gpio_memmap,
|
||||||
aml_append(dev, aml_name_decl("_CRS", crs));
|
aml_append(dev, aml_name_decl("_CRS", crs));
|
||||||
|
|
||||||
Aml *aei = aml_resource_template();
|
Aml *aei = aml_resource_template();
|
||||||
/* Pin 3 for power button */
|
|
||||||
const uint32_t pin_list[1] = {3};
|
const uint32_t pin = GPIO_PIN_POWER_BUTTON;
|
||||||
aml_append(aei, aml_gpio_int(AML_CONSUMER, AML_EDGE, AML_ACTIVE_HIGH,
|
aml_append(aei, aml_gpio_int(AML_CONSUMER, AML_EDGE, AML_ACTIVE_HIGH,
|
||||||
AML_EXCLUSIVE, AML_PULL_UP, 0, pin_list, 1,
|
AML_EXCLUSIVE, AML_PULL_UP, 0, &pin, 1,
|
||||||
"GPO0", NULL, 0));
|
"GPO0", NULL, 0));
|
||||||
aml_append(dev, aml_name_decl("_AEI", aei));
|
aml_append(dev, aml_name_decl("_AEI", aei));
|
||||||
|
|
||||||
|
|
|
@ -1004,7 +1004,7 @@ static void virt_powerdown_req(Notifier *n, void *opaque)
|
||||||
if (s->acpi_dev) {
|
if (s->acpi_dev) {
|
||||||
acpi_send_event(s->acpi_dev, ACPI_POWER_DOWN_STATUS);
|
acpi_send_event(s->acpi_dev, ACPI_POWER_DOWN_STATUS);
|
||||||
} else {
|
} else {
|
||||||
/* use gpio Pin 3 for power button event */
|
/* use gpio Pin for power button event */
|
||||||
qemu_set_irq(qdev_get_gpio_in(gpio_key_dev, 0), 1);
|
qemu_set_irq(qdev_get_gpio_in(gpio_key_dev, 0), 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1013,7 +1013,8 @@ static void create_gpio_keys(char *fdt, DeviceState *pl061_dev,
|
||||||
uint32_t phandle)
|
uint32_t phandle)
|
||||||
{
|
{
|
||||||
gpio_key_dev = sysbus_create_simple("gpio-key", -1,
|
gpio_key_dev = sysbus_create_simple("gpio-key", -1,
|
||||||
qdev_get_gpio_in(pl061_dev, 3));
|
qdev_get_gpio_in(pl061_dev,
|
||||||
|
GPIO_PIN_POWER_BUTTON));
|
||||||
|
|
||||||
qemu_fdt_add_subnode(fdt, "/gpio-keys");
|
qemu_fdt_add_subnode(fdt, "/gpio-keys");
|
||||||
qemu_fdt_setprop_string(fdt, "/gpio-keys", "compatible", "gpio-keys");
|
qemu_fdt_setprop_string(fdt, "/gpio-keys", "compatible", "gpio-keys");
|
||||||
|
@ -1024,7 +1025,7 @@ static void create_gpio_keys(char *fdt, DeviceState *pl061_dev,
|
||||||
qemu_fdt_setprop_cell(fdt, "/gpio-keys/poweroff", "linux,code",
|
qemu_fdt_setprop_cell(fdt, "/gpio-keys/poweroff", "linux,code",
|
||||||
KEY_POWER);
|
KEY_POWER);
|
||||||
qemu_fdt_setprop_cells(fdt, "/gpio-keys/poweroff",
|
qemu_fdt_setprop_cells(fdt, "/gpio-keys/poweroff",
|
||||||
"gpios", phandle, 3, 0);
|
"gpios", phandle, GPIO_PIN_POWER_BUTTON, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SECURE_GPIO_POWEROFF 0
|
#define SECURE_GPIO_POWEROFF 0
|
||||||
|
|
|
@ -47,6 +47,9 @@
|
||||||
/* See Linux kernel arch/arm64/include/asm/pvclock-abi.h */
|
/* See Linux kernel arch/arm64/include/asm/pvclock-abi.h */
|
||||||
#define PVTIME_SIZE_PER_CPU 64
|
#define PVTIME_SIZE_PER_CPU 64
|
||||||
|
|
||||||
|
/* GPIO pins */
|
||||||
|
#define GPIO_PIN_POWER_BUTTON 3
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
VIRT_FLASH,
|
VIRT_FLASH,
|
||||||
VIRT_MEM,
|
VIRT_MEM,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue