Re: [RFC 07/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()
On Wed, Jun 3, 2015, at 00:34, Darren Hart wrote: On Tue, Jun 02, 2015 at 07:09:28AM -0300, Henrique de Moraes Holschuh wrote: Test results were sent to me privately, and they are correct, so... Finn, unless there is some compelling reason not to - like they are MBs worth of data, please submit these to the list in the future so we have them for reference. After I told him which exact bitmask to use on a T43 to test hotkey_source_mask, his test results can be summarized as I could see no difference in behavior, which is *exactly* what I expected to happen. If anything went wrong with the thinkpad-acpi NVRAM code, you'd notice a very large change in behavior (typical: hotkeys don't work, less typical: random hotkey keypresses, hotkey press bursts, low responsivity of hotkeys). Acked-by: Henrique de Moraes Holschuh h...@hmh.eng.br I'm fine with the changes, but they need to be submitted with the other changes as this one change cannot compile independently in my tree. Finn, please work with whomever is pulling the series to include this in their pull request. Reviewed-by: Darren Hart dvh...@linux.intel.com -- One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie. -- The Silicon Valley Tarot Henrique Holschuh ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFC 07/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()
On Tue, 2 Jun 2015, Darren Hart wrote: On Tue, Jun 02, 2015 at 07:09:28AM -0300, Henrique de Moraes Holschuh wrote: Test results were sent to me privately, and they are correct, so... Finn, unless there is some compelling reason not to - like they are MBs worth of data, please submit these to the list in the future so we have them for reference. Sure. Those results were just confirmation that this patch series doesn't affect input events read directly from /dev/input/by-path/platform-thinkpad_acpi-event given the the hotkey_source_mask settings discussed in this thread. Acked-by: Henrique de Moraes Holschuh h...@hmh.eng.br I'm fine with the changes, but they need to be submitted with the other changes as this one change cannot compile independently in my tree. Finn, please work with whomever is pulling the series to include this in their pull request. Right. Reviewed-by: Darren Hart dvh...@linux.intel.com Thanks for your review. -- ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFC 07/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()
On Wed, Jun 03, 2015 at 07:37:13AM -0300, Henrique de Moraes Holschuh wrote: On Wed, Jun 3, 2015, at 00:34, Darren Hart wrote: On Tue, Jun 02, 2015 at 07:09:28AM -0300, Henrique de Moraes Holschuh wrote: Test results were sent to me privately, and they are correct, so... Finn, unless there is some compelling reason not to - like they are MBs worth of data, please submit these to the list in the future so we have them for reference. After I told him which exact bitmask to use on a T43 to test hotkey_source_mask, his test results can be summarized as I could see no difference in behavior, which is *exactly* what I expected to happen. If anything went wrong with the thinkpad-acpi NVRAM code, you'd notice a very large change in behavior (typical: hotkeys don't work, less typical: random hotkey keypresses, hotkey press bursts, low responsivity of hotkeys). Perfect, thanks for the update so we have it recorded here on the list. -- Darren Hart Intel Open Source Technology Center ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFC 07/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()
On Tue, Jun 02, 2015 at 07:09:28AM -0300, Henrique de Moraes Holschuh wrote: Test results were sent to me privately, and they are correct, so... Finn, unless there is some compelling reason not to - like they are MBs worth of data, please submit these to the list in the future so we have them for reference. Acked-by: Henrique de Moraes Holschuh h...@hmh.eng.br I'm fine with the changes, but they need to be submitted with the other changes as this one change cannot compile independently in my tree. Finn, please work with whomever is pulling the series to include this in their pull request. Reviewed-by: Darren Hart dvh...@linux.intel.com -- Darren Hart Intel Open Source Technology Center ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFC 07/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()
Test results were sent to me privately, and they are correct, so... Acked-by: Henrique de Moraes Holschuh h...@hmh.eng.br On Sun, May 31, 2015, at 11:34, Henrique de Moraes Holschuh wrote: On Sun, 31 May 2015, Finn Thain wrote: On Sun, 31 May 2015, Henrique de Moraes Holschuh wrote: On Sun, 31 May 2015, Finn Thain wrote: Make use of arch_nvram_ops in the thinkpad_acpi driver so that the nvram_* function exports can be removed. This patch series was tested on a ThinkPad T43. Can you describe how you did the testing? A specific procedure is required to test the hotkey NVRAM polling codepaths (which will read several NVRAM bytes @10Hz by default) in a T43... Signed-off-by: Finn Thain fth...@telegraphics.com.au The patch looks correct, so I don't expect any problems. Provided that your test procedure did enable hotkey NVRAM polling in the T43 and your hotkeys all still worked fine, you have my Acked-by. The procedure I used was this, 1. $ xev 2. # rmmod thinkpad_acpi 3. Press Access IBM key and confirm that xev does not report any events. 4. # modprobe thinkpad_acpi 5. Press Access IBM key and confirm that xev now reports the key press events. Is this sufficient? No. Please try: modprobe thinkpad_acpi echo 0xfb88c0 /sys/devices/platform/thinkpad_acpi/hotkey_source_mask test the hotkeys. Please test several of them, as not all of them are available through NVRAM polling... at least Fn+SPACE, Fn+F1..FN+F12 Please test the brightness keys. In the T43 we use direct EC mode, which depends on the NVRAM to sync with the SMBIOS firmware. to reset the driver to normal mode, it is enough to do this: echo 0 /sys/devices/platform/thinkpad_acpi/hotkey_source_mask -- One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie. -- The Silicon Valley Tarot Henrique Holschuh ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFC 07/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()
On Sun, 31 May 2015, Finn Thain wrote: On Sun, 31 May 2015, Henrique de Moraes Holschuh wrote: On Sun, 31 May 2015, Finn Thain wrote: Make use of arch_nvram_ops in the thinkpad_acpi driver so that the nvram_* function exports can be removed. This patch series was tested on a ThinkPad T43. Can you describe how you did the testing? A specific procedure is required to test the hotkey NVRAM polling codepaths (which will read several NVRAM bytes @10Hz by default) in a T43... Signed-off-by: Finn Thain fth...@telegraphics.com.au The patch looks correct, so I don't expect any problems. Provided that your test procedure did enable hotkey NVRAM polling in the T43 and your hotkeys all still worked fine, you have my Acked-by. The procedure I used was this, 1. $ xev 2. # rmmod thinkpad_acpi 3. Press Access IBM key and confirm that xev does not report any events. 4. # modprobe thinkpad_acpi 5. Press Access IBM key and confirm that xev now reports the key press events. Is this sufficient? No. Please try: modprobe thinkpad_acpi echo 0xfb88c0 /sys/devices/platform/thinkpad_acpi/hotkey_source_mask test the hotkeys. Please test several of them, as not all of them are available through NVRAM polling... at least Fn+SPACE, Fn+F1..FN+F12 Please test the brightness keys. In the T43 we use direct EC mode, which depends on the NVRAM to sync with the SMBIOS firmware. to reset the driver to normal mode, it is enough to do this: echo 0 /sys/devices/platform/thinkpad_acpi/hotkey_source_mask -- One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie. -- The Silicon Valley Tarot Henrique Holschuh ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [RFC 07/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()
On Sun, 31 May 2015, Henrique de Moraes Holschuh wrote: On Sun, 31 May 2015, Finn Thain wrote: Make use of arch_nvram_ops in the thinkpad_acpi driver so that the nvram_* function exports can be removed. This patch series was tested on a ThinkPad T43. Can you describe how you did the testing? A specific procedure is required to test the hotkey NVRAM polling codepaths (which will read several NVRAM bytes @10Hz by default) in a T43... Signed-off-by: Finn Thain fth...@telegraphics.com.au The patch looks correct, so I don't expect any problems. Provided that your test procedure did enable hotkey NVRAM polling in the T43 and your hotkeys all still worked fine, you have my Acked-by. The procedure I used was this, 1. $ xev 2. # rmmod thinkpad_acpi 3. Press Access IBM key and confirm that xev does not report any events. 4. # modprobe thinkpad_acpi 5. Press Access IBM key and confirm that xev now reports the key press events. Is this sufficient? Regards, Finn --- drivers/platform/x86/thinkpad_acpi.c | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) Index: linux/drivers/platform/x86/thinkpad_acpi.c === --- linux.orig/drivers/platform/x86/thinkpad_acpi.c 2015-05-31 11:00:59.0 +1000 +++ linux/drivers/platform/x86/thinkpad_acpi.c 2015-05-31 11:01:07.0 +1000 @@ -2311,30 +2311,30 @@ static void hotkey_read_nvram(struct tp_ u8 d; if (m TP_NVRAM_HKEY_GROUP_HK2) { - d = nvram_read_byte(TP_NVRAM_ADDR_HK2); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_HK2); n-thinkpad_toggle = !!(d TP_NVRAM_MASK_HKT_THINKPAD); n-zoom_toggle = !!(d TP_NVRAM_MASK_HKT_ZOOM); n-display_toggle = !!(d TP_NVRAM_MASK_HKT_DISPLAY); n-hibernate_toggle = !!(d TP_NVRAM_MASK_HKT_HIBERNATE); } if (m TP_ACPI_HKEY_THNKLGHT_MASK) { - d = nvram_read_byte(TP_NVRAM_ADDR_THINKLIGHT); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_THINKLIGHT); n-thinklight_toggle = !!(d TP_NVRAM_MASK_THINKLIGHT); } if (m TP_ACPI_HKEY_DISPXPAND_MASK) { - d = nvram_read_byte(TP_NVRAM_ADDR_VIDEO); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_VIDEO); n-displayexp_toggle = !!(d TP_NVRAM_MASK_HKT_DISPEXPND); } if (m TP_NVRAM_HKEY_GROUP_BRIGHTNESS) { - d = nvram_read_byte(TP_NVRAM_ADDR_BRIGHTNESS); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_BRIGHTNESS); n-brightness_level = (d TP_NVRAM_MASK_LEVEL_BRIGHTNESS) TP_NVRAM_POS_LEVEL_BRIGHTNESS; n-brightness_toggle = !!(d TP_NVRAM_MASK_HKT_BRIGHTNESS); } if (m TP_NVRAM_HKEY_GROUP_VOLUME) { - d = nvram_read_byte(TP_NVRAM_ADDR_MIXER); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_MIXER); n-volume_level = (d TP_NVRAM_MASK_LEVEL_VOLUME) TP_NVRAM_POS_LEVEL_VOLUME; n-mute = !!(d TP_NVRAM_MASK_MUTE); @@ -6153,7 +6153,7 @@ static unsigned int tpacpi_brightness_nv { u8 lnvram; - lnvram = (nvram_read_byte(TP_NVRAM_ADDR_BRIGHTNESS) + lnvram = (arch_nvram_ops.read_byte(TP_NVRAM_ADDR_BRIGHTNESS) TP_NVRAM_MASK_LEVEL_BRIGHTNESS) TP_NVRAM_POS_LEVEL_BRIGHTNESS; lnvram = bright_maxlvl; @@ -6178,7 +6178,7 @@ static void tpacpi_brightness_checkpoint if (unlikely(!acpi_ec_read(TP_EC_BACKLIGHT, lec))) goto unlock; lec = TP_EC_BACKLIGHT_LVLMSK; - b_nvram = nvram_read_byte(TP_NVRAM_ADDR_BRIGHTNESS); + b_nvram = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_BRIGHTNESS); if (lec != ((b_nvram TP_NVRAM_MASK_LEVEL_BRIGHTNESS) TP_NVRAM_POS_LEVEL_BRIGHTNESS)) { @@ -6186,7 +6186,7 @@ static void tpacpi_brightness_checkpoint b_nvram = ~(TP_NVRAM_MASK_LEVEL_BRIGHTNESS TP_NVRAM_POS_LEVEL_BRIGHTNESS); b_nvram |= lec; - nvram_write_byte(b_nvram, TP_NVRAM_ADDR_BRIGHTNESS); + arch_nvram_ops.write_byte(b_nvram, TP_NVRAM_ADDR_BRIGHTNESS); dbg_printk(TPACPI_DBG_BRGHT, updated NVRAM backlight level to %u (0x%02x)\n, (unsigned int) lec, (unsigned int) b_nvram); @@ -6794,13 +6794,13 @@ static void tpacpi_volume_checkpoint_nvr if (unlikely(!acpi_ec_read(TP_EC_AUDIO, lec))) goto unlock; lec = ec_mask; - b_nvram = nvram_read_byte(TP_NVRAM_ADDR_MIXER); + b_nvram = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_MIXER); if (lec != (b_nvram ec_mask)) { /* NVRAM needs update */ b_nvram = ~ec_mask; b_nvram |=
Re: [RFC 07/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()
On Sun, 31 May 2015, Finn Thain wrote: Make use of arch_nvram_ops in the thinkpad_acpi driver so that the nvram_* function exports can be removed. This patch series was tested on a ThinkPad T43. Can you describe how you did the testing? A specific procedure is required to test the hotkey NVRAM polling codepaths (which will read several NVRAM bytes @10Hz by default) in a T43... Signed-off-by: Finn Thain fth...@telegraphics.com.au The patch looks correct, so I don't expect any problems. Provided that your test procedure did enable hotkey NVRAM polling in the T43 and your hotkeys all still worked fine, you have my Acked-by. --- drivers/platform/x86/thinkpad_acpi.c | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) Index: linux/drivers/platform/x86/thinkpad_acpi.c === --- linux.orig/drivers/platform/x86/thinkpad_acpi.c 2015-05-31 11:00:59.0 +1000 +++ linux/drivers/platform/x86/thinkpad_acpi.c2015-05-31 11:01:07.0 +1000 @@ -2311,30 +2311,30 @@ static void hotkey_read_nvram(struct tp_ u8 d; if (m TP_NVRAM_HKEY_GROUP_HK2) { - d = nvram_read_byte(TP_NVRAM_ADDR_HK2); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_HK2); n-thinkpad_toggle = !!(d TP_NVRAM_MASK_HKT_THINKPAD); n-zoom_toggle = !!(d TP_NVRAM_MASK_HKT_ZOOM); n-display_toggle = !!(d TP_NVRAM_MASK_HKT_DISPLAY); n-hibernate_toggle = !!(d TP_NVRAM_MASK_HKT_HIBERNATE); } if (m TP_ACPI_HKEY_THNKLGHT_MASK) { - d = nvram_read_byte(TP_NVRAM_ADDR_THINKLIGHT); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_THINKLIGHT); n-thinklight_toggle = !!(d TP_NVRAM_MASK_THINKLIGHT); } if (m TP_ACPI_HKEY_DISPXPAND_MASK) { - d = nvram_read_byte(TP_NVRAM_ADDR_VIDEO); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_VIDEO); n-displayexp_toggle = !!(d TP_NVRAM_MASK_HKT_DISPEXPND); } if (m TP_NVRAM_HKEY_GROUP_BRIGHTNESS) { - d = nvram_read_byte(TP_NVRAM_ADDR_BRIGHTNESS); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_BRIGHTNESS); n-brightness_level = (d TP_NVRAM_MASK_LEVEL_BRIGHTNESS) TP_NVRAM_POS_LEVEL_BRIGHTNESS; n-brightness_toggle = !!(d TP_NVRAM_MASK_HKT_BRIGHTNESS); } if (m TP_NVRAM_HKEY_GROUP_VOLUME) { - d = nvram_read_byte(TP_NVRAM_ADDR_MIXER); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_MIXER); n-volume_level = (d TP_NVRAM_MASK_LEVEL_VOLUME) TP_NVRAM_POS_LEVEL_VOLUME; n-mute = !!(d TP_NVRAM_MASK_MUTE); @@ -6153,7 +6153,7 @@ static unsigned int tpacpi_brightness_nv { u8 lnvram; - lnvram = (nvram_read_byte(TP_NVRAM_ADDR_BRIGHTNESS) + lnvram = (arch_nvram_ops.read_byte(TP_NVRAM_ADDR_BRIGHTNESS) TP_NVRAM_MASK_LEVEL_BRIGHTNESS) TP_NVRAM_POS_LEVEL_BRIGHTNESS; lnvram = bright_maxlvl; @@ -6178,7 +6178,7 @@ static void tpacpi_brightness_checkpoint if (unlikely(!acpi_ec_read(TP_EC_BACKLIGHT, lec))) goto unlock; lec = TP_EC_BACKLIGHT_LVLMSK; - b_nvram = nvram_read_byte(TP_NVRAM_ADDR_BRIGHTNESS); + b_nvram = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_BRIGHTNESS); if (lec != ((b_nvram TP_NVRAM_MASK_LEVEL_BRIGHTNESS) TP_NVRAM_POS_LEVEL_BRIGHTNESS)) { @@ -6186,7 +6186,7 @@ static void tpacpi_brightness_checkpoint b_nvram = ~(TP_NVRAM_MASK_LEVEL_BRIGHTNESS TP_NVRAM_POS_LEVEL_BRIGHTNESS); b_nvram |= lec; - nvram_write_byte(b_nvram, TP_NVRAM_ADDR_BRIGHTNESS); + arch_nvram_ops.write_byte(b_nvram, TP_NVRAM_ADDR_BRIGHTNESS); dbg_printk(TPACPI_DBG_BRGHT, updated NVRAM backlight level to %u (0x%02x)\n, (unsigned int) lec, (unsigned int) b_nvram); @@ -6794,13 +6794,13 @@ static void tpacpi_volume_checkpoint_nvr if (unlikely(!acpi_ec_read(TP_EC_AUDIO, lec))) goto unlock; lec = ec_mask; - b_nvram = nvram_read_byte(TP_NVRAM_ADDR_MIXER); + b_nvram = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_MIXER); if (lec != (b_nvram ec_mask)) { /* NVRAM needs update */ b_nvram = ~ec_mask; b_nvram |= lec; - nvram_write_byte(b_nvram, TP_NVRAM_ADDR_MIXER); + arch_nvram_ops.write_byte(b_nvram, TP_NVRAM_ADDR_MIXER); dbg_printk(TPACPI_DBG_MIXER, updated NVRAM mixer status to 0x%02x (0x%02x)\n, (unsigned int) lec, (unsigned int)
[RFC 07/24] x86/thinkpad_acpi: Use arch_nvram_ops methods instead of nvram_read_byte() and nvram_write_byte()
Make use of arch_nvram_ops in the thinkpad_acpi driver so that the nvram_* function exports can be removed. This patch series was tested on a ThinkPad T43. Signed-off-by: Finn Thain fth...@telegraphics.com.au --- drivers/platform/x86/thinkpad_acpi.c | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) Index: linux/drivers/platform/x86/thinkpad_acpi.c === --- linux.orig/drivers/platform/x86/thinkpad_acpi.c 2015-05-31 11:00:59.0 +1000 +++ linux/drivers/platform/x86/thinkpad_acpi.c 2015-05-31 11:01:07.0 +1000 @@ -2311,30 +2311,30 @@ static void hotkey_read_nvram(struct tp_ u8 d; if (m TP_NVRAM_HKEY_GROUP_HK2) { - d = nvram_read_byte(TP_NVRAM_ADDR_HK2); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_HK2); n-thinkpad_toggle = !!(d TP_NVRAM_MASK_HKT_THINKPAD); n-zoom_toggle = !!(d TP_NVRAM_MASK_HKT_ZOOM); n-display_toggle = !!(d TP_NVRAM_MASK_HKT_DISPLAY); n-hibernate_toggle = !!(d TP_NVRAM_MASK_HKT_HIBERNATE); } if (m TP_ACPI_HKEY_THNKLGHT_MASK) { - d = nvram_read_byte(TP_NVRAM_ADDR_THINKLIGHT); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_THINKLIGHT); n-thinklight_toggle = !!(d TP_NVRAM_MASK_THINKLIGHT); } if (m TP_ACPI_HKEY_DISPXPAND_MASK) { - d = nvram_read_byte(TP_NVRAM_ADDR_VIDEO); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_VIDEO); n-displayexp_toggle = !!(d TP_NVRAM_MASK_HKT_DISPEXPND); } if (m TP_NVRAM_HKEY_GROUP_BRIGHTNESS) { - d = nvram_read_byte(TP_NVRAM_ADDR_BRIGHTNESS); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_BRIGHTNESS); n-brightness_level = (d TP_NVRAM_MASK_LEVEL_BRIGHTNESS) TP_NVRAM_POS_LEVEL_BRIGHTNESS; n-brightness_toggle = !!(d TP_NVRAM_MASK_HKT_BRIGHTNESS); } if (m TP_NVRAM_HKEY_GROUP_VOLUME) { - d = nvram_read_byte(TP_NVRAM_ADDR_MIXER); + d = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_MIXER); n-volume_level = (d TP_NVRAM_MASK_LEVEL_VOLUME) TP_NVRAM_POS_LEVEL_VOLUME; n-mute = !!(d TP_NVRAM_MASK_MUTE); @@ -6153,7 +6153,7 @@ static unsigned int tpacpi_brightness_nv { u8 lnvram; - lnvram = (nvram_read_byte(TP_NVRAM_ADDR_BRIGHTNESS) + lnvram = (arch_nvram_ops.read_byte(TP_NVRAM_ADDR_BRIGHTNESS) TP_NVRAM_MASK_LEVEL_BRIGHTNESS) TP_NVRAM_POS_LEVEL_BRIGHTNESS; lnvram = bright_maxlvl; @@ -6178,7 +6178,7 @@ static void tpacpi_brightness_checkpoint if (unlikely(!acpi_ec_read(TP_EC_BACKLIGHT, lec))) goto unlock; lec = TP_EC_BACKLIGHT_LVLMSK; - b_nvram = nvram_read_byte(TP_NVRAM_ADDR_BRIGHTNESS); + b_nvram = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_BRIGHTNESS); if (lec != ((b_nvram TP_NVRAM_MASK_LEVEL_BRIGHTNESS) TP_NVRAM_POS_LEVEL_BRIGHTNESS)) { @@ -6186,7 +6186,7 @@ static void tpacpi_brightness_checkpoint b_nvram = ~(TP_NVRAM_MASK_LEVEL_BRIGHTNESS TP_NVRAM_POS_LEVEL_BRIGHTNESS); b_nvram |= lec; - nvram_write_byte(b_nvram, TP_NVRAM_ADDR_BRIGHTNESS); + arch_nvram_ops.write_byte(b_nvram, TP_NVRAM_ADDR_BRIGHTNESS); dbg_printk(TPACPI_DBG_BRGHT, updated NVRAM backlight level to %u (0x%02x)\n, (unsigned int) lec, (unsigned int) b_nvram); @@ -6794,13 +6794,13 @@ static void tpacpi_volume_checkpoint_nvr if (unlikely(!acpi_ec_read(TP_EC_AUDIO, lec))) goto unlock; lec = ec_mask; - b_nvram = nvram_read_byte(TP_NVRAM_ADDR_MIXER); + b_nvram = arch_nvram_ops.read_byte(TP_NVRAM_ADDR_MIXER); if (lec != (b_nvram ec_mask)) { /* NVRAM needs update */ b_nvram = ~ec_mask; b_nvram |= lec; - nvram_write_byte(b_nvram, TP_NVRAM_ADDR_MIXER); + arch_nvram_ops.write_byte(b_nvram, TP_NVRAM_ADDR_MIXER); dbg_printk(TPACPI_DBG_MIXER, updated NVRAM mixer status to 0x%02x (0x%02x)\n, (unsigned int) lec, (unsigned int) b_nvram); ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev