mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	m68k: atari - Rename "mfp" to "st_mfp"
http://kisskb.ellerman.id.au/kisskb/buildresult/72115/: | net/mac80211/ieee80211_i.h:327: error: syntax error before 'volatile' | net/mac80211/ieee80211_i.h:350: error: syntax error before '}' token | net/mac80211/ieee80211_i.h:455: error: field 'sta' has incomplete type | distcc[19430] ERROR: compile net/mac80211/main.c on sprygo/32 failed This is caused by | # define mfp ((*(volatile struct MFP*)MFP_BAS)) in arch/m68k/include/asm/atarihw.h, which conflicts with the new "mfp" enum in net/mac80211/ieee80211_i.h. Rename "mfp" to "st_mfp", as it's a way too generic name for a global #define. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									adfafefd10
								
							
						
					
					
						commit
						3d92e8f3ae
					
				
					 12 changed files with 56 additions and 56 deletions
				
			
		| 
						 | 
					@ -187,8 +187,8 @@ __asm__ (__ALIGN_STR "\n"						   \
 | 
				
			||||||
"	jbra	ret_from_interrupt\n"					   \
 | 
					"	jbra	ret_from_interrupt\n"					   \
 | 
				
			||||||
	 : : "i" (&kstat_cpu(0).irqs[n+8]), "i" (&irq_handler[n+8]),	   \
 | 
						 : : "i" (&kstat_cpu(0).irqs[n+8]), "i" (&irq_handler[n+8]),	   \
 | 
				
			||||||
	     "n" (PT_OFF_SR), "n" (n),					   \
 | 
						     "n" (PT_OFF_SR), "n" (n),					   \
 | 
				
			||||||
	     "i" (n & 8 ? (n & 16 ? &tt_mfp.int_mk_a : &mfp.int_mk_a)	   \
 | 
						     "i" (n & 8 ? (n & 16 ? &tt_mfp.int_mk_a : &st_mfp.int_mk_a)   \
 | 
				
			||||||
		        : (n & 16 ? &tt_mfp.int_mk_b : &mfp.int_mk_b)),	   \
 | 
							        : (n & 16 ? &tt_mfp.int_mk_b : &st_mfp.int_mk_b)), \
 | 
				
			||||||
	     "m" (preempt_count()), "di" (HARDIRQ_OFFSET)		   \
 | 
						     "m" (preempt_count()), "di" (HARDIRQ_OFFSET)		   \
 | 
				
			||||||
);									   \
 | 
					);									   \
 | 
				
			||||||
	for (;;);			/* fake noreturn */		   \
 | 
						for (;;);			/* fake noreturn */		   \
 | 
				
			||||||
| 
						 | 
					@ -366,14 +366,14 @@ void __init atari_init_IRQ(void)
 | 
				
			||||||
	/* Initialize the MFP(s) */
 | 
						/* Initialize the MFP(s) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef ATARI_USE_SOFTWARE_EOI
 | 
					#ifdef ATARI_USE_SOFTWARE_EOI
 | 
				
			||||||
	mfp.vec_adr  = 0x48;	/* Software EOI-Mode */
 | 
						st_mfp.vec_adr  = 0x48;	/* Software EOI-Mode */
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
	mfp.vec_adr  = 0x40;	/* Automatic EOI-Mode */
 | 
						st_mfp.vec_adr  = 0x40;	/* Automatic EOI-Mode */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
	mfp.int_en_a = 0x00;	/* turn off MFP-Ints */
 | 
						st_mfp.int_en_a = 0x00;	/* turn off MFP-Ints */
 | 
				
			||||||
	mfp.int_en_b = 0x00;
 | 
						st_mfp.int_en_b = 0x00;
 | 
				
			||||||
	mfp.int_mk_a = 0xff;	/* no Masking */
 | 
						st_mfp.int_mk_a = 0xff;	/* no Masking */
 | 
				
			||||||
	mfp.int_mk_b = 0xff;
 | 
						st_mfp.int_mk_b = 0xff;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (ATARIHW_PRESENT(TT_MFP)) {
 | 
						if (ATARIHW_PRESENT(TT_MFP)) {
 | 
				
			||||||
#ifdef ATARI_USE_SOFTWARE_EOI
 | 
					#ifdef ATARI_USE_SOFTWARE_EOI
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -609,10 +609,10 @@ int atari_keyb_init(void)
 | 
				
			||||||
				 ACIA_RHTID : 0);
 | 
									 ACIA_RHTID : 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* make sure the interrupt line is up */
 | 
						/* make sure the interrupt line is up */
 | 
				
			||||||
	} while ((mfp.par_dt_reg & 0x10) == 0);
 | 
						} while ((st_mfp.par_dt_reg & 0x10) == 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* enable ACIA Interrupts */
 | 
						/* enable ACIA Interrupts */
 | 
				
			||||||
	mfp.active_edge &= ~0x10;
 | 
						st_mfp.active_edge &= ~0x10;
 | 
				
			||||||
	atari_turnon_irq(IRQ_MFP_ACIA);
 | 
						atari_turnon_irq(IRQ_MFP_ACIA);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ikbd_self_test = 1;
 | 
						ikbd_self_test = 1;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -258,7 +258,7 @@ void __init config_atari(void)
 | 
				
			||||||
			printk("STND_SHIFTER ");
 | 
								printk("STND_SHIFTER ");
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (hwreg_present(&mfp.par_dt_reg)) {
 | 
						if (hwreg_present(&st_mfp.par_dt_reg)) {
 | 
				
			||||||
		ATARIHW_SET(ST_MFP);
 | 
							ATARIHW_SET(ST_MFP);
 | 
				
			||||||
		printk("ST_MFP ");
 | 
							printk("ST_MFP ");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,9 +34,9 @@ static struct console atari_console_driver = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void ata_mfp_out(char c)
 | 
					static inline void ata_mfp_out(char c)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	while (!(mfp.trn_stat & 0x80))	/* wait for tx buf empty */
 | 
						while (!(st_mfp.trn_stat & 0x80))	/* wait for tx buf empty */
 | 
				
			||||||
		barrier();
 | 
							barrier();
 | 
				
			||||||
	mfp.usart_dta = c;
 | 
						st_mfp.usart_dta = c;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void atari_mfp_console_write(struct console *co, const char *str,
 | 
					static void atari_mfp_console_write(struct console *co, const char *str,
 | 
				
			||||||
| 
						 | 
					@ -91,7 +91,7 @@ static int ata_par_out(char c)
 | 
				
			||||||
	/* This a some-seconds timeout in case no printer is connected */
 | 
						/* This a some-seconds timeout in case no printer is connected */
 | 
				
			||||||
	unsigned long i = loops_per_jiffy > 1 ? loops_per_jiffy : 10000000/HZ;
 | 
						unsigned long i = loops_per_jiffy > 1 ? loops_per_jiffy : 10000000/HZ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	while ((mfp.par_dt_reg & 1) && --i) /* wait for BUSY == L */
 | 
						while ((st_mfp.par_dt_reg & 1) && --i) /* wait for BUSY == L */
 | 
				
			||||||
		;
 | 
							;
 | 
				
			||||||
	if (!i)
 | 
						if (!i)
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
| 
						 | 
					@ -131,9 +131,9 @@ static void atari_par_console_write(struct console *co, const char *str,
 | 
				
			||||||
#if 0
 | 
					#if 0
 | 
				
			||||||
int atari_mfp_console_wait_key(struct console *co)
 | 
					int atari_mfp_console_wait_key(struct console *co)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	while (!(mfp.rcv_stat & 0x80))	/* wait for rx buf filled */
 | 
						while (!(st_mfp.rcv_stat & 0x80))	/* wait for rx buf filled */
 | 
				
			||||||
		barrier();
 | 
							barrier();
 | 
				
			||||||
	return mfp.usart_dta;
 | 
						return st_mfp.usart_dta;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int atari_scc_console_wait_key(struct console *co)
 | 
					int atari_scc_console_wait_key(struct console *co)
 | 
				
			||||||
| 
						 | 
					@ -175,12 +175,12 @@ static void __init atari_init_mfp_port(int cflag)
 | 
				
			||||||
		baud = B9600;		/* use default 9600bps for non-implemented rates */
 | 
							baud = B9600;		/* use default 9600bps for non-implemented rates */
 | 
				
			||||||
	baud -= B1200;			/* baud_table[] starts at 1200bps */
 | 
						baud -= B1200;			/* baud_table[] starts at 1200bps */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mfp.trn_stat &= ~0x01;		/* disable TX */
 | 
						st_mfp.trn_stat &= ~0x01;	/* disable TX */
 | 
				
			||||||
	mfp.usart_ctr = parity | csize | 0x88; /* 1:16 clk mode, 1 stop bit */
 | 
						st_mfp.usart_ctr = parity | csize | 0x88; /* 1:16 clk mode, 1 stop bit */
 | 
				
			||||||
	mfp.tim_ct_cd &= 0x70;		/* stop timer D */
 | 
						st_mfp.tim_ct_cd &= 0x70;	/* stop timer D */
 | 
				
			||||||
	mfp.tim_dt_d = baud_table[baud];
 | 
						st_mfp.tim_dt_d = baud_table[baud];
 | 
				
			||||||
	mfp.tim_ct_cd |= 0x01;		/* start timer D, 1:4 */
 | 
						st_mfp.tim_ct_cd |= 0x01;	/* start timer D, 1:4 */
 | 
				
			||||||
	mfp.trn_stat |= 0x01;		/* enable TX */
 | 
						st_mfp.trn_stat |= 0x01;	/* enable TX */
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SCC_WRITE(reg, val)				\
 | 
					#define SCC_WRITE(reg, val)				\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,9 +27,9 @@ void __init
 | 
				
			||||||
atari_sched_init(irq_handler_t timer_routine)
 | 
					atari_sched_init(irq_handler_t timer_routine)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    /* set Timer C data Register */
 | 
					    /* set Timer C data Register */
 | 
				
			||||||
    mfp.tim_dt_c = INT_TICKS;
 | 
					    st_mfp.tim_dt_c = INT_TICKS;
 | 
				
			||||||
    /* start timer C, div = 1:100 */
 | 
					    /* start timer C, div = 1:100 */
 | 
				
			||||||
    mfp.tim_ct_cd = (mfp.tim_ct_cd & 15) | 0x60;
 | 
					    st_mfp.tim_ct_cd = (st_mfp.tim_ct_cd & 15) | 0x60;
 | 
				
			||||||
    /* install interrupt service routine for MFP Timer C */
 | 
					    /* install interrupt service routine for MFP Timer C */
 | 
				
			||||||
    if (request_irq(IRQ_MFP_TIMC, timer_routine, IRQ_TYPE_SLOW,
 | 
					    if (request_irq(IRQ_MFP_TIMC, timer_routine, IRQ_TYPE_SLOW,
 | 
				
			||||||
		    "timer", timer_routine))
 | 
							    "timer", timer_routine))
 | 
				
			||||||
| 
						 | 
					@ -46,11 +46,11 @@ unsigned long atari_gettimeoffset (void)
 | 
				
			||||||
  unsigned long ticks, offset = 0;
 | 
					  unsigned long ticks, offset = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* read MFP timer C current value */
 | 
					  /* read MFP timer C current value */
 | 
				
			||||||
  ticks = mfp.tim_dt_c;
 | 
					  ticks = st_mfp.tim_dt_c;
 | 
				
			||||||
  /* The probability of underflow is less than 2% */
 | 
					  /* The probability of underflow is less than 2% */
 | 
				
			||||||
  if (ticks > INT_TICKS - INT_TICKS / 50)
 | 
					  if (ticks > INT_TICKS - INT_TICKS / 50)
 | 
				
			||||||
    /* Check for pending timer interrupt */
 | 
					    /* Check for pending timer interrupt */
 | 
				
			||||||
    if (mfp.int_pn_b & (1 << 5))
 | 
					    if (st_mfp.int_pn_b & (1 << 5))
 | 
				
			||||||
      offset = TICK_SIZE;
 | 
					      offset = TICK_SIZE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ticks = INT_TICKS - ticks;
 | 
					  ticks = INT_TICKS - ticks;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -113,7 +113,7 @@ extern struct atari_hw_present atari_hw_present;
 | 
				
			||||||
 * of nops on various machines. Somebody claimed that the tstb takes 600 ns.
 | 
					 * of nops on various machines. Somebody claimed that the tstb takes 600 ns.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#define	MFPDELAY() \
 | 
					#define	MFPDELAY() \
 | 
				
			||||||
	__asm__ __volatile__ ( "tstb %0" : : "m" (mfp.par_dt_reg) : "cc" );
 | 
						__asm__ __volatile__ ( "tstb %0" : : "m" (st_mfp.par_dt_reg) : "cc" );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Do cache push/invalidate for DMA read/write. This function obeys the
 | 
					/* Do cache push/invalidate for DMA read/write. This function obeys the
 | 
				
			||||||
 * snooping on some machines (Medusa) and processors: The Medusa itself can
 | 
					 * snooping on some machines (Medusa) and processors: The Medusa itself can
 | 
				
			||||||
| 
						 | 
					@ -565,7 +565,7 @@ struct MFP
 | 
				
			||||||
  u_char char_dummy23;
 | 
					  u_char char_dummy23;
 | 
				
			||||||
  u_char usart_dta;
 | 
					  u_char usart_dta;
 | 
				
			||||||
 };
 | 
					 };
 | 
				
			||||||
# define mfp ((*(volatile struct MFP*)MFP_BAS))
 | 
					# define st_mfp ((*(volatile struct MFP*)MFP_BAS))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* TT's second MFP */
 | 
					/* TT's second MFP */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -113,7 +113,7 @@ static inline int get_mfp_bit( unsigned irq, int type )
 | 
				
			||||||
{	unsigned char	mask, *reg;
 | 
					{	unsigned char	mask, *reg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mask = 1 << (irq & 7);
 | 
						mask = 1 << (irq & 7);
 | 
				
			||||||
	reg = (unsigned char *)&mfp.int_en_a + type*4 +
 | 
						reg = (unsigned char *)&st_mfp.int_en_a + type*4 +
 | 
				
			||||||
		  ((irq & 8) >> 2) + (((irq-8) & 16) << 3);
 | 
							  ((irq & 8) >> 2) + (((irq-8) & 16) << 3);
 | 
				
			||||||
	return( *reg & mask );
 | 
						return( *reg & mask );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -123,7 +123,7 @@ static inline void set_mfp_bit( unsigned irq, int type )
 | 
				
			||||||
{	unsigned char	mask, *reg;
 | 
					{	unsigned char	mask, *reg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mask = 1 << (irq & 7);
 | 
						mask = 1 << (irq & 7);
 | 
				
			||||||
	reg = (unsigned char *)&mfp.int_en_a + type*4 +
 | 
						reg = (unsigned char *)&st_mfp.int_en_a + type*4 +
 | 
				
			||||||
		  ((irq & 8) >> 2) + (((irq-8) & 16) << 3);
 | 
							  ((irq & 8) >> 2) + (((irq-8) & 16) << 3);
 | 
				
			||||||
	__asm__ __volatile__ ( "orb %0,%1"
 | 
						__asm__ __volatile__ ( "orb %0,%1"
 | 
				
			||||||
			      : : "di" (mask), "m" (*reg) : "memory" );
 | 
								      : : "di" (mask), "m" (*reg) : "memory" );
 | 
				
			||||||
| 
						 | 
					@ -134,7 +134,7 @@ static inline void clear_mfp_bit( unsigned irq, int type )
 | 
				
			||||||
{	unsigned char	mask, *reg;
 | 
					{	unsigned char	mask, *reg;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mask = ~(1 << (irq & 7));
 | 
						mask = ~(1 << (irq & 7));
 | 
				
			||||||
	reg = (unsigned char *)&mfp.int_en_a + type*4 +
 | 
						reg = (unsigned char *)&st_mfp.int_en_a + type*4 +
 | 
				
			||||||
		  ((irq & 8) >> 2) + (((irq-8) & 16) << 3);
 | 
							  ((irq & 8) >> 2) + (((irq-8) & 16) << 3);
 | 
				
			||||||
	if (type == MFP_PENDING || type == MFP_SERVICE)
 | 
						if (type == MFP_PENDING || type == MFP_SERVICE)
 | 
				
			||||||
		__asm__ __volatile__ ( "moveb %0,%1"
 | 
							__asm__ __volatile__ ( "moveb %0,%1"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1730,7 +1730,7 @@ static int __init fd_test_drive_present( int drive )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	timeout = jiffies + 2*HZ+HZ/2;
 | 
						timeout = jiffies + 2*HZ+HZ/2;
 | 
				
			||||||
	while (time_before(jiffies, timeout))
 | 
						while (time_before(jiffies, timeout))
 | 
				
			||||||
		if (!(mfp.par_dt_reg & 0x20))
 | 
							if (!(st_mfp.par_dt_reg & 0x20))
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	status = FDC_READ( FDCREG_STATUS );
 | 
						status = FDC_READ( FDCREG_STATUS );
 | 
				
			||||||
| 
						 | 
					@ -1747,7 +1747,7 @@ static int __init fd_test_drive_present( int drive )
 | 
				
			||||||
		/* dummy seek command to make WP bit accessible */
 | 
							/* dummy seek command to make WP bit accessible */
 | 
				
			||||||
		FDC_WRITE( FDCREG_DATA, 0 );
 | 
							FDC_WRITE( FDCREG_DATA, 0 );
 | 
				
			||||||
		FDC_WRITE( FDCREG_CMD, FDCCMD_SEEK );
 | 
							FDC_WRITE( FDCREG_CMD, FDCCMD_SEEK );
 | 
				
			||||||
		while( mfp.par_dt_reg & 0x20 )
 | 
							while( st_mfp.par_dt_reg & 0x20 )
 | 
				
			||||||
			;
 | 
								;
 | 
				
			||||||
		status = FDC_READ( FDCREG_STATUS );
 | 
							status = FDC_READ( FDCREG_STATUS );
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -387,7 +387,7 @@ struct scc_port {
 | 
				
			||||||
/* The SCC needs 3.5 PCLK cycles recovery time between to register
 | 
					/* The SCC needs 3.5 PCLK cycles recovery time between to register
 | 
				
			||||||
 * accesses. PCLK runs with 8 MHz on an Atari, so this delay is 3.5 *
 | 
					 * accesses. PCLK runs with 8 MHz on an Atari, so this delay is 3.5 *
 | 
				
			||||||
 * 125 ns = 437.5 ns. This is too short for udelay().
 | 
					 * 125 ns = 437.5 ns. This is too short for udelay().
 | 
				
			||||||
 * 10/16/95: A tstb mfp.par_dt_reg takes 600ns (sure?) and thus should be
 | 
					 * 10/16/95: A tstb st_mfp.par_dt_reg takes 600ns (sure?) and thus should be
 | 
				
			||||||
 * quite right
 | 
					 * quite right
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,7 +84,7 @@ parport_atari_frob_control(struct parport *p, unsigned char mask,
 | 
				
			||||||
static unsigned char
 | 
					static unsigned char
 | 
				
			||||||
parport_atari_read_status(struct parport *p)
 | 
					parport_atari_read_status(struct parport *p)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return ((mfp.par_dt_reg & 1 ? 0 : PARPORT_STATUS_BUSY) |
 | 
						return ((st_mfp.par_dt_reg & 1 ? 0 : PARPORT_STATUS_BUSY) |
 | 
				
			||||||
		PARPORT_STATUS_SELECT | PARPORT_STATUS_ERROR);
 | 
							PARPORT_STATUS_SELECT | PARPORT_STATUS_ERROR);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -193,9 +193,9 @@ static int __init parport_atari_init(void)
 | 
				
			||||||
		sound_ym.wd_data = sound_ym.rd_data_reg_sel | (1 << 5);
 | 
							sound_ym.wd_data = sound_ym.rd_data_reg_sel | (1 << 5);
 | 
				
			||||||
		local_irq_restore(flags);
 | 
							local_irq_restore(flags);
 | 
				
			||||||
		/* MFP port I0 as input. */
 | 
							/* MFP port I0 as input. */
 | 
				
			||||||
		mfp.data_dir &= ~1;
 | 
							st_mfp.data_dir &= ~1;
 | 
				
			||||||
		/* MFP port I0 interrupt on high->low edge. */
 | 
							/* MFP port I0 interrupt on high->low edge. */
 | 
				
			||||||
		mfp.active_edge &= ~1;
 | 
							st_mfp.active_edge &= ~1;
 | 
				
			||||||
		p = parport_register_port((unsigned long)&sound_ym.wd_data,
 | 
							p = parport_register_port((unsigned long)&sound_ym.wd_data,
 | 
				
			||||||
					  IRQ_MFP_BUSY, PARPORT_DMA_NONE,
 | 
										  IRQ_MFP_BUSY, PARPORT_DMA_NONE,
 | 
				
			||||||
					  &parport_atari_ops);
 | 
										  &parport_atari_ops);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -841,7 +841,7 @@ static int tt_detect(void)
 | 
				
			||||||
		tt_dmasnd.ctrl = DMASND_CTRL_OFF;
 | 
							tt_dmasnd.ctrl = DMASND_CTRL_OFF;
 | 
				
			||||||
		udelay(20);		/* wait a while for things to settle down */
 | 
							udelay(20);		/* wait a while for things to settle down */
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	mono_moni = (mfp.par_dt_reg & 0x80) == 0;
 | 
						mono_moni = (st_mfp.par_dt_reg & 0x80) == 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tt_get_par(&par);
 | 
						tt_get_par(&par);
 | 
				
			||||||
	tt_encode_var(&atafb_predefined[0], &par);
 | 
						tt_encode_var(&atafb_predefined[0], &par);
 | 
				
			||||||
| 
						 | 
					@ -2035,7 +2035,7 @@ static int stste_detect(void)
 | 
				
			||||||
		tt_dmasnd.ctrl = DMASND_CTRL_OFF;
 | 
							tt_dmasnd.ctrl = DMASND_CTRL_OFF;
 | 
				
			||||||
		udelay(20);		/* wait a while for things to settle down */
 | 
							udelay(20);		/* wait a while for things to settle down */
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	mono_moni = (mfp.par_dt_reg & 0x80) == 0;
 | 
						mono_moni = (st_mfp.par_dt_reg & 0x80) == 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	stste_get_par(&par);
 | 
						stste_get_par(&par);
 | 
				
			||||||
	stste_encode_var(&atafb_predefined[0], &par);
 | 
						stste_encode_var(&atafb_predefined[0], &par);
 | 
				
			||||||
| 
						 | 
					@ -2086,20 +2086,20 @@ static void st_ovsc_switch(void)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	local_irq_save(flags);
 | 
						local_irq_save(flags);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mfp.tim_ct_b = 0x10;
 | 
						st_mfp.tim_ct_b = 0x10;
 | 
				
			||||||
	mfp.active_edge |= 8;
 | 
						st_mfp.active_edge |= 8;
 | 
				
			||||||
	mfp.tim_ct_b = 0;
 | 
						st_mfp.tim_ct_b = 0;
 | 
				
			||||||
	mfp.tim_dt_b = 0xf0;
 | 
						st_mfp.tim_dt_b = 0xf0;
 | 
				
			||||||
	mfp.tim_ct_b = 8;
 | 
						st_mfp.tim_ct_b = 8;
 | 
				
			||||||
	while (mfp.tim_dt_b > 1)	/* TOS does it this way, don't ask why */
 | 
						while (st_mfp.tim_dt_b > 1)	/* TOS does it this way, don't ask why */
 | 
				
			||||||
		;
 | 
							;
 | 
				
			||||||
	new = mfp.tim_dt_b;
 | 
						new = st_mfp.tim_dt_b;
 | 
				
			||||||
	do {
 | 
						do {
 | 
				
			||||||
		udelay(LINE_DELAY);
 | 
							udelay(LINE_DELAY);
 | 
				
			||||||
		old = new;
 | 
							old = new;
 | 
				
			||||||
		new = mfp.tim_dt_b;
 | 
							new = st_mfp.tim_dt_b;
 | 
				
			||||||
	} while (old != new);
 | 
						} while (old != new);
 | 
				
			||||||
	mfp.tim_ct_b = 0x10;
 | 
						st_mfp.tim_ct_b = 0x10;
 | 
				
			||||||
	udelay(SYNC_DELAY);
 | 
						udelay(SYNC_DELAY);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (atari_switches & ATARI_SWITCH_OVSC_IKBD)
 | 
						if (atari_switches & ATARI_SWITCH_OVSC_IKBD)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -847,23 +847,23 @@ static int __init AtaIrqInit(void)
 | 
				
			||||||
	   of events. So all we need to keep the music playing is
 | 
						   of events. So all we need to keep the music playing is
 | 
				
			||||||
	   to provide the sound hardware with new data upon
 | 
						   to provide the sound hardware with new data upon
 | 
				
			||||||
	   an interrupt from timer A. */
 | 
						   an interrupt from timer A. */
 | 
				
			||||||
	mfp.tim_ct_a = 0;	/* ++roman: Stop timer before programming! */
 | 
						st_mfp.tim_ct_a = 0;	/* ++roman: Stop timer before programming! */
 | 
				
			||||||
	mfp.tim_dt_a = 1;	/* Cause interrupt after first event. */
 | 
						st_mfp.tim_dt_a = 1;	/* Cause interrupt after first event. */
 | 
				
			||||||
	mfp.tim_ct_a = 8;	/* Turn on event counting. */
 | 
						st_mfp.tim_ct_a = 8;	/* Turn on event counting. */
 | 
				
			||||||
	/* Register interrupt handler. */
 | 
						/* Register interrupt handler. */
 | 
				
			||||||
	if (request_irq(IRQ_MFP_TIMA, AtaInterrupt, IRQ_TYPE_SLOW, "DMA sound",
 | 
						if (request_irq(IRQ_MFP_TIMA, AtaInterrupt, IRQ_TYPE_SLOW, "DMA sound",
 | 
				
			||||||
			AtaInterrupt))
 | 
								AtaInterrupt))
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
	mfp.int_en_a |= 0x20;	/* Turn interrupt on. */
 | 
						st_mfp.int_en_a |= 0x20;	/* Turn interrupt on. */
 | 
				
			||||||
	mfp.int_mk_a |= 0x20;
 | 
						st_mfp.int_mk_a |= 0x20;
 | 
				
			||||||
	return 1;
 | 
						return 1;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef MODULE
 | 
					#ifdef MODULE
 | 
				
			||||||
static void AtaIrqCleanUp(void)
 | 
					static void AtaIrqCleanUp(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	mfp.tim_ct_a = 0;	/* stop timer */
 | 
						st_mfp.tim_ct_a = 0;		/* stop timer */
 | 
				
			||||||
	mfp.int_en_a &= ~0x20;	/* turn interrupt off */
 | 
						st_mfp.int_en_a &= ~0x20;	/* turn interrupt off */
 | 
				
			||||||
	free_irq(IRQ_MFP_TIMA, AtaInterrupt);
 | 
						free_irq(IRQ_MFP_TIMA, AtaInterrupt);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#endif /* MODULE */
 | 
					#endif /* MODULE */
 | 
				
			||||||
| 
						 | 
					@ -1599,7 +1599,7 @@ static int __init dmasound_atari_init(void)
 | 
				
			||||||
		is_falcon = 0;
 | 
							is_falcon = 0;
 | 
				
			||||||
	    } else
 | 
						    } else
 | 
				
			||||||
		return -ENODEV;
 | 
							return -ENODEV;
 | 
				
			||||||
	    if ((mfp.int_en_a & mfp.int_mk_a & 0x20) == 0)
 | 
						    if ((st_mfp.int_en_a & st_mfp.int_mk_a & 0x20) == 0)
 | 
				
			||||||
		return dmasound_init();
 | 
							return dmasound_init();
 | 
				
			||||||
	    else {
 | 
						    else {
 | 
				
			||||||
		printk("DMA sound driver: Timer A interrupt already in use\n");
 | 
							printk("DMA sound driver: Timer A interrupt already in use\n");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue