Loading drivers/macintosh/adb-iop.c +28 −20 Original line number Diff line number Diff line Loading @@ -66,7 +66,8 @@ static void adb_iop_end_req(struct adb_request *req, int state) { req->complete = 1; current_req = req->next; if (req->done) (*req->done)(req); if (req->done) (*req->done)(req); adb_iop_state = state; } Loading Loading @@ -168,7 +169,8 @@ static void adb_iop_start(void) /* get the packet to send */ req = current_req; if (!req) return; if (!req) return; local_irq_save(flags); Loading Loading @@ -196,13 +198,14 @@ static void adb_iop_start(void) /* Now send it. The IOP manager will call adb_iop_complete */ /* when the packet has been sent. */ iop_send_message(ADB_IOP, ADB_CHAN, req, sizeof(amsg), (__u8 *) &amsg, adb_iop_complete); iop_send_message(ADB_IOP, ADB_CHAN, req, sizeof(amsg), (__u8 *)&amsg, adb_iop_complete); } int adb_iop_probe(void) { if (!iop_ism_present) return -ENODEV; if (!iop_ism_present) return -ENODEV; return 0; } Loading @@ -218,10 +221,12 @@ int adb_iop_send_request(struct adb_request *req, int sync) int err; err = adb_iop_write(req); if (err) return err; if (err) return err; if (sync) { while (!req->complete) adb_iop_poll(); while (!req->complete) adb_iop_poll(); } return 0; } Loading Loading @@ -251,7 +256,9 @@ static int adb_iop_write(struct adb_request *req) } local_irq_restore(flags); if (adb_iop_state == idle) adb_iop_start(); if (adb_iop_state == idle) adb_iop_start(); return 0; } Loading @@ -263,7 +270,8 @@ int adb_iop_autopoll(int devs) void adb_iop_poll(void) { if (adb_iop_state == idle) adb_iop_start(); if (adb_iop_state == idle) adb_iop_start(); iop_ism_irq_poll(ADB_IOP); } Loading drivers/macintosh/via-macii.c +146 −140 Original line number Diff line number Diff line Loading @@ -123,7 +123,8 @@ static int autopoll_devs; /* bits set are device addresses to be polled */ /* Check for MacII style ADB */ static int macii_probe(void) { if (macintosh_config->adb_type != MAC_ADB_II) return -ENODEV; if (macintosh_config->adb_type != MAC_ADB_II) return -ENODEV; via = via1; Loading @@ -140,11 +141,13 @@ int macii_init(void) local_irq_save(flags); err = macii_init_via(); if (err) goto out; if (err) goto out; err = request_irq(IRQ_MAC_ADB, macii_interrupt, 0, "ADB", macii_interrupt); if (err) goto out; if (err) goto out; macii_state = idle; out: Loading Loading @@ -188,7 +191,8 @@ static void macii_queue_poll(void) int next_device; static struct adb_request req; if (!autopoll_devs) return; if (!autopoll_devs) return; device_mask = (1 << (((command_byte & 0xF0) >> 4) + 1)) - 1; if (autopoll_devs & ~device_mask) Loading @@ -196,8 +200,7 @@ static void macii_queue_poll(void) else next_device = ffs(autopoll_devs) - 1; adb_request(&req, NULL, ADBREQ_NOSEND, 1, ADB_READREG(next_device, 0)); adb_request(&req, NULL, ADBREQ_NOSEND, 1, ADB_READREG(next_device, 0)); req.sent = 0; req.complete = 0; Loading Loading @@ -251,7 +254,8 @@ static int macii_write(struct adb_request *req) } else { current_req = req; last_req = req; if (macii_state == idle) macii_start(); if (macii_state == idle) macii_start(); } local_irq_restore(flags); Loading @@ -269,7 +273,8 @@ static int macii_autopoll(int devs) /* bit 1 == device 1, and so on. */ autopoll_devs = devs & 0xFFFE; if (!autopoll_devs) return 0; if (!autopoll_devs) return 0; local_irq_save(flags); Loading @@ -286,7 +291,8 @@ static int macii_autopoll(int devs) return err; } static inline int need_autopoll(void) { static inline int need_autopoll(void) { /* Was the last command Talk Reg 0 * and is the target on the autopoll list? */ Loading Loading @@ -418,12 +424,12 @@ static irqreturn_t macii_interrupt(int irq, void *arg) } else { req->complete = 1; current_req = req->next; if (req->done) (*req->done)(req); if (req->done) (*req->done)(req); if (current_req) macii_start(); else if (need_autopoll()) else if (need_autopoll()) macii_autopoll(autopoll_devs); } Loading Loading @@ -497,7 +503,8 @@ static irqreturn_t macii_interrupt(int irq, void *arg) req->reply_len = reply_len; req->complete = 1; current_req = req->next; if (req->done) (*req->done)(req); if (req->done) (*req->done)(req); } else if (reply_len && autopoll_devs) adb_input(reply_buf, reply_len, 0); Loading @@ -509,8 +516,7 @@ static irqreturn_t macii_interrupt(int irq, void *arg) if (current_req) macii_start(); else if (need_autopoll()) else if (need_autopoll()) macii_autopoll(autopoll_devs); if (macii_state == idle) Loading Loading
drivers/macintosh/adb-iop.c +28 −20 Original line number Diff line number Diff line Loading @@ -66,7 +66,8 @@ static void adb_iop_end_req(struct adb_request *req, int state) { req->complete = 1; current_req = req->next; if (req->done) (*req->done)(req); if (req->done) (*req->done)(req); adb_iop_state = state; } Loading Loading @@ -168,7 +169,8 @@ static void adb_iop_start(void) /* get the packet to send */ req = current_req; if (!req) return; if (!req) return; local_irq_save(flags); Loading Loading @@ -196,13 +198,14 @@ static void adb_iop_start(void) /* Now send it. The IOP manager will call adb_iop_complete */ /* when the packet has been sent. */ iop_send_message(ADB_IOP, ADB_CHAN, req, sizeof(amsg), (__u8 *) &amsg, adb_iop_complete); iop_send_message(ADB_IOP, ADB_CHAN, req, sizeof(amsg), (__u8 *)&amsg, adb_iop_complete); } int adb_iop_probe(void) { if (!iop_ism_present) return -ENODEV; if (!iop_ism_present) return -ENODEV; return 0; } Loading @@ -218,10 +221,12 @@ int adb_iop_send_request(struct adb_request *req, int sync) int err; err = adb_iop_write(req); if (err) return err; if (err) return err; if (sync) { while (!req->complete) adb_iop_poll(); while (!req->complete) adb_iop_poll(); } return 0; } Loading Loading @@ -251,7 +256,9 @@ static int adb_iop_write(struct adb_request *req) } local_irq_restore(flags); if (adb_iop_state == idle) adb_iop_start(); if (adb_iop_state == idle) adb_iop_start(); return 0; } Loading @@ -263,7 +270,8 @@ int adb_iop_autopoll(int devs) void adb_iop_poll(void) { if (adb_iop_state == idle) adb_iop_start(); if (adb_iop_state == idle) adb_iop_start(); iop_ism_irq_poll(ADB_IOP); } Loading
drivers/macintosh/via-macii.c +146 −140 Original line number Diff line number Diff line Loading @@ -123,7 +123,8 @@ static int autopoll_devs; /* bits set are device addresses to be polled */ /* Check for MacII style ADB */ static int macii_probe(void) { if (macintosh_config->adb_type != MAC_ADB_II) return -ENODEV; if (macintosh_config->adb_type != MAC_ADB_II) return -ENODEV; via = via1; Loading @@ -140,11 +141,13 @@ int macii_init(void) local_irq_save(flags); err = macii_init_via(); if (err) goto out; if (err) goto out; err = request_irq(IRQ_MAC_ADB, macii_interrupt, 0, "ADB", macii_interrupt); if (err) goto out; if (err) goto out; macii_state = idle; out: Loading Loading @@ -188,7 +191,8 @@ static void macii_queue_poll(void) int next_device; static struct adb_request req; if (!autopoll_devs) return; if (!autopoll_devs) return; device_mask = (1 << (((command_byte & 0xF0) >> 4) + 1)) - 1; if (autopoll_devs & ~device_mask) Loading @@ -196,8 +200,7 @@ static void macii_queue_poll(void) else next_device = ffs(autopoll_devs) - 1; adb_request(&req, NULL, ADBREQ_NOSEND, 1, ADB_READREG(next_device, 0)); adb_request(&req, NULL, ADBREQ_NOSEND, 1, ADB_READREG(next_device, 0)); req.sent = 0; req.complete = 0; Loading Loading @@ -251,7 +254,8 @@ static int macii_write(struct adb_request *req) } else { current_req = req; last_req = req; if (macii_state == idle) macii_start(); if (macii_state == idle) macii_start(); } local_irq_restore(flags); Loading @@ -269,7 +273,8 @@ static int macii_autopoll(int devs) /* bit 1 == device 1, and so on. */ autopoll_devs = devs & 0xFFFE; if (!autopoll_devs) return 0; if (!autopoll_devs) return 0; local_irq_save(flags); Loading @@ -286,7 +291,8 @@ static int macii_autopoll(int devs) return err; } static inline int need_autopoll(void) { static inline int need_autopoll(void) { /* Was the last command Talk Reg 0 * and is the target on the autopoll list? */ Loading Loading @@ -418,12 +424,12 @@ static irqreturn_t macii_interrupt(int irq, void *arg) } else { req->complete = 1; current_req = req->next; if (req->done) (*req->done)(req); if (req->done) (*req->done)(req); if (current_req) macii_start(); else if (need_autopoll()) else if (need_autopoll()) macii_autopoll(autopoll_devs); } Loading Loading @@ -497,7 +503,8 @@ static irqreturn_t macii_interrupt(int irq, void *arg) req->reply_len = reply_len; req->complete = 1; current_req = req->next; if (req->done) (*req->done)(req); if (req->done) (*req->done)(req); } else if (reply_len && autopoll_devs) adb_input(reply_buf, reply_len, 0); Loading @@ -509,8 +516,7 @@ static irqreturn_t macii_interrupt(int irq, void *arg) if (current_req) macii_start(); else if (need_autopoll()) else if (need_autopoll()) macii_autopoll(autopoll_devs); if (macii_state == idle) Loading