forked from mirrors/linux
		
	The block I/O code for the new X-Surf 100 ax88796 driver needs
ax_NS8390_init() for error fixup in its block_output function.
Export this static function through the ax_NS8390_reinit()
wrapper so we can lose the lib8380.c include in the X-Surf 100
driver.
[arnd: add the declaration in the header to avoid a
 -Wmissing-prototypes warning]
Fixes: 861928f4e6 ("net-next: New ax88796 platform
driver for Amiga X-Surf 100 Zorro board (m68k)")
Signed-off-by: Michael Schmitz <schmitzmic@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
		
	
			
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0-only */
 | 
						|
/* include/net/ax88796.h
 | 
						|
 *
 | 
						|
 * Copyright 2005 Simtec Electronics
 | 
						|
 *	Ben Dooks <ben@simtec.co.uk>
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef __NET_AX88796_PLAT_H
 | 
						|
#define __NET_AX88796_PLAT_H
 | 
						|
 | 
						|
struct sk_buff;
 | 
						|
struct net_device;
 | 
						|
struct platform_device;
 | 
						|
 | 
						|
#define AXFLG_HAS_EEPROM		(1<<0)
 | 
						|
#define AXFLG_MAC_FROMDEV		(1<<1)	/* device already has MAC */
 | 
						|
#define AXFLG_HAS_93CX6			(1<<2)	/* use eeprom_93cx6 driver */
 | 
						|
#define AXFLG_MAC_FROMPLATFORM		(1<<3)	/* MAC given by platform data */
 | 
						|
 | 
						|
struct ax_plat_data {
 | 
						|
	unsigned int	 flags;
 | 
						|
	unsigned char	 wordlength;	/* 1 or 2 */
 | 
						|
	unsigned char	 dcr_val;	/* default value for DCR */
 | 
						|
	unsigned char	 rcr_val;	/* default value for RCR */
 | 
						|
	unsigned char	 gpoc_val;	/* default value for GPOC */
 | 
						|
	u32		*reg_offsets;	/* register offsets */
 | 
						|
	u8		*mac_addr;	/* MAC addr (only used when
 | 
						|
					   AXFLG_MAC_FROMPLATFORM is used */
 | 
						|
 | 
						|
	/* uses default ax88796 buffer if set to NULL */
 | 
						|
	void (*block_output)(struct net_device *dev, int count,
 | 
						|
			const unsigned char *buf, int star_page);
 | 
						|
	void (*block_input)(struct net_device *dev, int count,
 | 
						|
			struct sk_buff *skb, int ring_offset);
 | 
						|
	/* returns nonzero if a pending interrupt request might by caused by
 | 
						|
	 * the ax88786. Handles all interrupts if set to NULL
 | 
						|
	 */
 | 
						|
	int (*check_irq)(struct platform_device *pdev);
 | 
						|
};
 | 
						|
 | 
						|
/* exported from ax88796.c for xsurf100.c  */
 | 
						|
extern void ax_NS8390_reinit(struct net_device *dev);
 | 
						|
 | 
						|
#endif /* __NET_AX88796_PLAT_H */
 |