Paulus preferred this over #defining NO_IRQ in the file, since that's
0 for powerpc anyway.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
{
struct hvc_struct *hp;
unsigned long flags;
{
struct hvc_struct *hp;
unsigned long flags;
int rc = 0;
struct kobject *kobjp;
int rc = 0;
struct kobject *kobjp;
hp->tty = tty;
/* Save for request_irq outside of spin_lock. */
irq = hp->irq;
hp->tty = tty;
/* Save for request_irq outside of spin_lock. */
irq = hp->irq;
hp->irq_requested = 1;
kobjp = &hp->kobj;
spin_unlock_irqrestore(&hp->lock, flags);
/* check error, fallback to non-irq */
hp->irq_requested = 1;
kobjp = &hp->kobj;
spin_unlock_irqrestore(&hp->lock, flags);
/* check error, fallback to non-irq */
rc = request_irq(irq, hvc_handle_interrupt, IRQF_DISABLED, "hvc_console", hp);
/*
rc = request_irq(irq, hvc_handle_interrupt, IRQF_DISABLED, "hvc_console", hp);
/*
{
struct hvc_struct *hp;
struct kobject *kobjp;
{
struct hvc_struct *hp;
struct kobject *kobjp;
unsigned long flags;
if (tty_hung_up_p(filp))
unsigned long flags;
if (tty_hung_up_p(filp))
*/
tty_wait_until_sent(tty, HVC_CLOSE_WAIT);
*/
tty_wait_until_sent(tty, HVC_CLOSE_WAIT);
free_irq(irq, hp);
} else {
free_irq(irq, hp);
} else {
{
struct hvc_struct *hp = tty->driver_data;
unsigned long flags;
{
struct hvc_struct *hp = tty->driver_data;
unsigned long flags;
int temp_open_count;
struct kobject *kobjp;
int temp_open_count;
struct kobject *kobjp;
irq = hp->irq;
hp->irq_requested = 0;
spin_unlock_irqrestore(&hp->lock, flags);
irq = hp->irq;
hp->irq_requested = 0;
spin_unlock_irqrestore(&hp->lock, flags);
free_irq(irq, hp);
while(temp_open_count) {
--temp_open_count;
free_irq(irq, hp);
while(temp_open_count) {
--temp_open_count;
/* If we aren't interrupt driven and aren't throttled, we always
* request a reschedule
*/
/* If we aren't interrupt driven and aren't throttled, we always
* request a reschedule
*/
poll_mask |= HVC_POLL_READ;
/* Read data if any */
poll_mask |= HVC_POLL_READ;
/* Read data if any */