| From foo@baz Mon Sep 17 12:33:31 CEST 2018 |
| From: Finn Thain <fthain@telegraphics.com.au> |
| Date: Mon, 2 Jul 2018 04:21:18 -0400 |
| Subject: macintosh/via-pmu: Add missing mmio accessors |
| |
| From: Finn Thain <fthain@telegraphics.com.au> |
| |
| [ Upstream commit 576d5290d678a651b9f36050fc1717e0573aca13 ] |
| |
| Add missing in_8() accessors to init_pmu() and pmu_sr_intr(). |
| |
| This fixes several sparse warnings: |
| drivers/macintosh/via-pmu.c:536:29: warning: dereference of noderef expression |
| drivers/macintosh/via-pmu.c:537:33: warning: dereference of noderef expression |
| drivers/macintosh/via-pmu.c:1455:17: warning: dereference of noderef expression |
| drivers/macintosh/via-pmu.c:1456:69: warning: dereference of noderef expression |
| |
| Tested-by: Stan Johnson <userm57@yahoo.com> |
| Signed-off-by: Finn Thain <fthain@telegraphics.com.au> |
| Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> |
| Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/macintosh/via-pmu.c | 9 +++++---- |
| 1 file changed, 5 insertions(+), 4 deletions(-) |
| |
| --- a/drivers/macintosh/via-pmu.c |
| +++ b/drivers/macintosh/via-pmu.c |
| @@ -532,8 +532,9 @@ init_pmu(void) |
| int timeout; |
| struct adb_request req; |
| |
| - out_8(&via[B], via[B] | TREQ); /* negate TREQ */ |
| - out_8(&via[DIRB], (via[DIRB] | TREQ) & ~TACK); /* TACK in, TREQ out */ |
| + /* Negate TREQ. Set TACK to input and TREQ to output. */ |
| + out_8(&via[B], in_8(&via[B]) | TREQ); |
| + out_8(&via[DIRB], (in_8(&via[DIRB]) | TREQ) & ~TACK); |
| |
| pmu_request(&req, NULL, 2, PMU_SET_INTR_MASK, pmu_intr_mask); |
| timeout = 100000; |
| @@ -1455,8 +1456,8 @@ pmu_sr_intr(void) |
| struct adb_request *req; |
| int bite = 0; |
| |
| - if (via[B] & TREQ) { |
| - printk(KERN_ERR "PMU: spurious SR intr (%x)\n", via[B]); |
| + if (in_8(&via[B]) & TREQ) { |
| + printk(KERN_ERR "PMU: spurious SR intr (%x)\n", in_8(&via[B])); |
| out_8(&via[IFR], SR_INT); |
| return NULL; |
| } |