Message ID | ef0e7f5fca6cd94eda415ecee670c3028c671b74.1723121692.git.mchehab+huawei@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm/virt: place power button pin number on a define | expand |
On Thu, Aug 08, 2024 at 02:54:52PM +0200, Mauro Carvalho Chehab wrote: > 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> > Suggested-by: Peter Maydell <peter.maydell@linaro.org> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Reviewed-by: Igor Mammedov <imammedo@redhat.com> ack, but note we do things like that only if something is repeated. > --- > hw/arm/virt-acpi-build.c | 6 +++--- > hw/arm/virt.c | 7 ++++--- > include/hw/arm/virt.h | 3 +++ > 3 files changed, 10 insertions(+), 6 deletions(-) > > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c > index e10cad86dd73..f76fb117adff 100644 > --- a/hw/arm/virt-acpi-build.c > +++ b/hw/arm/virt-acpi-build.c > @@ -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 *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_EXCLUSIVE, AML_PULL_UP, 0, pin_list, 1, > + AML_EXCLUSIVE, AML_PULL_UP, 0, &pin, 1, > "GPO0", NULL, 0)); > aml_append(dev, aml_name_decl("_AEI", aei)); > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index 719e83e6a1e7..687fe0bb8bc9 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -1004,7 +1004,7 @@ static void virt_powerdown_req(Notifier *n, void *opaque) > if (s->acpi_dev) { > acpi_send_event(s->acpi_dev, ACPI_POWER_DOWN_STATUS); > } 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); > } > } > @@ -1013,7 +1013,8 @@ static void create_gpio_keys(char *fdt, DeviceState *pl061_dev, > uint32_t phandle) > { > 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_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", > KEY_POWER); > qemu_fdt_setprop_cells(fdt, "/gpio-keys/poweroff", > - "gpios", phandle, 3, 0); > + "gpios", phandle, GPIO_PIN_POWER_BUTTON, 0); > } > > #define SECURE_GPIO_POWEROFF 0 > diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h > index ab961bb6a9b8..a4d937ed45ac 100644 > --- a/include/hw/arm/virt.h > +++ b/include/hw/arm/virt.h > @@ -47,6 +47,9 @@ > /* See Linux kernel arch/arm64/include/asm/pvclock-abi.h */ > #define PVTIME_SIZE_PER_CPU 64 > > +/* GPIO pins */ > +#define GPIO_PIN_POWER_BUTTON 3 > + > enum { > VIRT_FLASH, > VIRT_MEM, > -- > 2.45.2
On Thu, 8 Aug 2024 at 13:55, Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote: > > 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> > Suggested-by: Peter Maydell <peter.maydell@linaro.org> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Reviewed-by: Igor Mammedov <imammedo@redhat.com> Applied to target-arm.next, thanks. -- PMM
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index e10cad86dd73..f76fb117adff 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -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 *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_EXCLUSIVE, AML_PULL_UP, 0, pin_list, 1, + AML_EXCLUSIVE, AML_PULL_UP, 0, &pin, 1, "GPO0", NULL, 0)); aml_append(dev, aml_name_decl("_AEI", aei)); diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 719e83e6a1e7..687fe0bb8bc9 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -1004,7 +1004,7 @@ static void virt_powerdown_req(Notifier *n, void *opaque) if (s->acpi_dev) { acpi_send_event(s->acpi_dev, ACPI_POWER_DOWN_STATUS); } 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); } } @@ -1013,7 +1013,8 @@ static void create_gpio_keys(char *fdt, DeviceState *pl061_dev, uint32_t phandle) { 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_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", KEY_POWER); qemu_fdt_setprop_cells(fdt, "/gpio-keys/poweroff", - "gpios", phandle, 3, 0); + "gpios", phandle, GPIO_PIN_POWER_BUTTON, 0); } #define SECURE_GPIO_POWEROFF 0 diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h index ab961bb6a9b8..a4d937ed45ac 100644 --- a/include/hw/arm/virt.h +++ b/include/hw/arm/virt.h @@ -47,6 +47,9 @@ /* See Linux kernel arch/arm64/include/asm/pvclock-abi.h */ #define PVTIME_SIZE_PER_CPU 64 +/* GPIO pins */ +#define GPIO_PIN_POWER_BUTTON 3 + enum { VIRT_FLASH, VIRT_MEM,