|
@@ -534,8 +534,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;
|
|
@@ -1418,8 +1419,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;
|
|
|
}
|