Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 181bf1e8 authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds
Browse files

parport_pc: clean up the modified while loops using for



And tidy up a few bits coding style detectors missed

Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3aeda9bc
Loading
Loading
Loading
Loading
+57 −41
Original line number Diff line number Diff line
@@ -1119,7 +1119,8 @@ dump_parport_state("FIFO full", port);
			continue;
		}

DPRINTK(KERN_DEBUG "*** ecp_read_block_pio: reading one byte from the FIFO\n");
		DPRINTK(KERN_DEBUG
		  "*** ecp_read_block_pio: reading one byte from the FIFO\n");

		/* FIFO not filled.  We will cycle this loop for a while
		 * and either the peripheral will fill it faster,
@@ -1216,10 +1217,23 @@ static const struct parport_operations parport_pc_ops = {
};

#ifdef CONFIG_PARPORT_PC_SUPERIO

static struct superio_struct *find_free_superio(void)
{
	int i;
	for (i = 0; i < NR_SUPERIOS; i++)
		if (superios[i].io == 0)
			return &superios[i];
	return NULL;
}


/* Super-IO chipset detection, Winbond, SMSC */
static void __devinit show_parconfig_smsc37c669(int io, int key)
{
	int cr1, cr4, cra, cr23, cr26, cr27, i = 0;
	int cr1, cr4, cra, cr23, cr26, cr27;
	struct superio_struct *s;

	static const char *const modes[] = {
		"SPP and Bidirectional (PS/2)",
		"EPP and SPP",
@@ -1272,30 +1286,29 @@ static void __devinit show_parconfig_smsc37c669(int io, int key)
	   are related, however DMA can be 1 or 3, assume DMA_A=DMA1,
	   DMA_C=DMA3 (this is true e.g. for TYAN 1564D Tomcat IV) */
	if (cr23 * 4 >= 0x100) { /* if active */
		while ((i < NR_SUPERIOS) && (superios[i].io != 0))
			i++;
		if (i == NR_SUPERIOS) {
		s = find_free_superio();
		if (s == NULL)
			printk(KERN_INFO "Super-IO: too many chips!\n");
		} else {
		else {
			int d;
			switch (cr23 * 4) {
			case 0x3bc:
				superios[i].io = 0x3bc;
				superios[i].irq = 7;
				s->io = 0x3bc;
				s->irq = 7;
				break;
			case 0x378:
				superios[i].io = 0x378;
				superios[i].irq = 7;
				s->io = 0x378;
				s->irq = 7;
				break;
			case 0x278:
				superios[i].io = 0x278;
				superios[i].irq = 5;
				s->io = 0x278;
				s->irq = 5;
			}
			d = (cr26 & 0x0f);
			if (d == 1 || d == 3)
				superios[i].dma = d;
				s->dma = d;
			else
				superios[i].dma = PARPORT_DMA_NONE;
				s->dma = PARPORT_DMA_NONE;
		}
	}
}
@@ -1303,7 +1316,8 @@ static void __devinit show_parconfig_smsc37c669(int io, int key)

static void __devinit show_parconfig_winbond(int io, int key)
{
	int cr30, cr60, cr61, cr70, cr74, crf0, i = 0;
	int cr30, cr60, cr61, cr70, cr74, crf0;
	struct superio_struct *s;
	static const char *const modes[] = {
		"Standard (SPP) and Bidirectional(PS/2)", /* 0 */
		"EPP-1.9 and SPP",
@@ -1356,14 +1370,13 @@ static void __devinit show_parconfig_winbond(int io, int key)
	}

	if (cr30 & 0x01) { /* the settings can be interrogated later ... */
		while ((i < NR_SUPERIOS) && (superios[i].io != 0))
			i++;
		if (i == NR_SUPERIOS) {
		s = find_free_superio();
		if (s == NULL)
			printk(KERN_INFO "Super-IO: too many chips!\n");
		} else {
			superios[i].io = (cr60<<8)|cr61;
			superios[i].irq = cr70&0x0f;
			superios[i].dma = (((cr74 & 0x07) > 3) ?
		else {
			s->io = (cr60 << 8) | cr61;
			s->irq = cr70 & 0x0f;
			s->dma = (((cr74 & 0x07) > 3) ?
					   PARPORT_DMA_NONE : (cr74 & 0x07));
		}
	}
@@ -1618,25 +1631,28 @@ static void __devinit detect_and_report_it87(void)
}
#endif /* CONFIG_PARPORT_PC_SUPERIO */

static int get_superio_dma(struct parport *p)
static struct superio_struct *find_superio(struct parport *p)
{
	int i = 0;
	int i;
	for (i = 0; i < NR_SUPERIOS; i++)
		if (superios[i].io != p->base)
			return &superios[i];
	return NULL;
}

	while ((i < NR_SUPERIOS) && (superios[i].io != p->base))
		i++;
	if (i != NR_SUPERIOS)
		return superios[i].dma;
static int get_superio_dma(struct parport *p)
{
	struct superio_struct *s = find_superio(p);
	if (s)
		return s->dma;
	return PARPORT_DMA_NONE;
}

static int get_superio_irq(struct parport *p)
{
	int i = 0;

	while ((i < NR_SUPERIOS) && (superios[i].io != p->base))
		i++;
	if (i != NR_SUPERIOS)
		return superios[i].irq;
	struct superio_struct *s = find_superio(p);
	if (s)
		return s->irq;
	return PARPORT_IRQ_NONE;
}