From bcb3abe1300b88374849be729134dad65715fdf8 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Tue, 4 Nov 2014 21:17:30 +0100 Subject: lenovo/wacom: Move to implicit length patching Change-Id: Ica8a54ab215d09a2d2de93f316e3831ae4bfe5f5 Signed-off-by: Vladimir Serbinenko Reviewed-on: http://review.coreboot.org/7331 Reviewed-by: Edward O'Callaghan Tested-by: build bot (Jenkins) --- src/drivers/lenovo/wacom.c | 84 +++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 46 deletions(-) (limited to 'src') diff --git a/src/drivers/lenovo/wacom.c b/src/drivers/lenovo/wacom.c index 33a287910e..4a79e9a913 100644 --- a/src/drivers/lenovo/wacom.c +++ b/src/drivers/lenovo/wacom.c @@ -93,84 +93,76 @@ void drivers_lenovo_serial_ports_ssdt_generate(const char *scope, int have_dock_serial) { - int scopelen, devicelen, reslen, methodlen; + int reslen; - scopelen = acpigen_write_scope(scope); + acpigen_write_scope(scope); if (drivers_lenovo_is_wacom_present()) { /* Device op. */ - scopelen += acpigen_emit_byte(0x5b); - scopelen += acpigen_emit_byte(0x82); - devicelen = acpigen_write_len_f(); - devicelen += acpigen_emit_namestring("DTR"); + acpigen_emit_byte(0x5b); + acpigen_emit_byte(0x82); + acpigen_write_len_f(); + acpigen_emit_namestring("DTR"); - devicelen += acpigen_write_name("_HID"); - devicelen += acpigen_emit_eisaid("WACF004"); + acpigen_write_name("_HID"); + acpigen_emit_eisaid("WACF004"); - devicelen += acpigen_write_name("_CRS"); + acpigen_write_name("_CRS"); reslen = acpigen_write_resourcetemplate_header(); reslen += acpigen_write_io16(0x200, 0x200, 1, 8, 1); reslen += acpigen_write_irq((1 << 5)); - devicelen += reslen; - devicelen += acpigen_write_resourcetemplate_footer(reslen); + acpigen_write_resourcetemplate_footer(reslen); /* method op */ - devicelen += acpigen_emit_byte(0x14); - methodlen = acpigen_write_len_f(); - methodlen += acpigen_emit_namestring("_STA"); + acpigen_emit_byte(0x14); + acpigen_write_len_f(); + acpigen_emit_namestring("_STA"); /* no fnarg */ - methodlen += acpigen_emit_byte(0x00); + acpigen_emit_byte(0x00); /* return */ - methodlen += acpigen_emit_byte(0xa4); - methodlen += acpigen_write_byte(0xf); + acpigen_emit_byte(0xa4); + acpigen_write_byte(0xf); + acpigen_pop_len(); - acpigen_patch_len(methodlen); - devicelen += methodlen; - - acpigen_patch_len(devicelen - 1); - scopelen += devicelen; + acpigen_pop_len(); } if (have_dock_serial) { /* Device op. */ - scopelen += acpigen_emit_byte(0x5b); - scopelen += acpigen_emit_byte(0x82); - devicelen = acpigen_write_len_f(); - devicelen += acpigen_emit_namestring("COMA"); - - devicelen += acpigen_write_name("_HID"); - devicelen += acpigen_emit_eisaid("PNP0501"); - devicelen += acpigen_write_name("_UID"); + acpigen_emit_byte(0x5b); + acpigen_emit_byte(0x82); + acpigen_write_len_f(); + acpigen_emit_namestring("COMA"); + + acpigen_write_name("_HID"); + acpigen_emit_eisaid("PNP0501"); + acpigen_write_name("_UID"); /* Byte */ - devicelen += acpigen_write_byte(0x2); + acpigen_write_byte(0x2); - devicelen += acpigen_write_name("_CRS"); + acpigen_write_name("_CRS"); reslen = acpigen_write_resourcetemplate_header(); reslen += acpigen_write_io16(0x3f8, 0x3f8, 1, 8, 1); reslen += acpigen_write_irq(1 << 4); - devicelen += reslen; - devicelen += acpigen_write_resourcetemplate_footer(reslen); + acpigen_write_resourcetemplate_footer(reslen); /* method op */ - devicelen += acpigen_emit_byte(0x14); - methodlen = acpigen_write_len_f(); - methodlen += acpigen_emit_namestring("_STA"); + acpigen_emit_byte(0x14); + acpigen_write_len_f(); + acpigen_emit_namestring("_STA"); /* no fnarg */ - methodlen += acpigen_emit_byte(0x00); + acpigen_emit_byte(0x00); /* return */ - methodlen += acpigen_emit_byte(0xa4); - methodlen += acpigen_write_byte(0xf); - acpigen_patch_len(methodlen); - - devicelen += methodlen; + acpigen_emit_byte(0xa4); + acpigen_write_byte(0xf); + acpigen_pop_len(); - acpigen_patch_len(devicelen - 1); - scopelen += devicelen; + acpigen_pop_len(); } - acpigen_patch_len(scopelen - 1); + acpigen_pop_len(); } -- cgit v1.2.3