text: /*
   *  ISA Plug & Play support
   *  Copyright (c) by Jaroslav Kysela <perex@suse.cz>
   *
   *
   *   This program is free software; you can redistribute it and/or modify
   *   it under the terms of the GNU General Public License as published by
   *   the Free Software Foundation; either version 2 of the License, or
   *   (at your option) any later version.
   *
   *   This program is distributed in the hope that it will be useful,
   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   *   GNU General Public License for more details.
   *
   *   You should have received a copy of the GNU General Public License
   *   along with this program; if not, write to the Free Software
   *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   *
   */
  
  #ifndef LINUX_ISAPNP_H
  #define LINUX_ISAPNP_H
  
  #include <linux/errno.h>
  #include <linux/pnp.h>
  
  /*
   *  Configuration registers (TODO: change by specification)
   */ 
  
  #define ISAPNP_CFG_ACTIVATE		0x30	/* byte */
  #define ISAPNP_CFG_MEM			0x40	/* 4 * dword */
  #define ISAPNP_CFG_PORT			0x60	/* 8 * word */
  #define ISAPNP_CFG_IRQ			0x70	/* 2 * word */
  #define ISAPNP_CFG_DMA			0x74	/* 2 * byte */
  
  /*
   *
   */
  
  #define ISAPNP_VENDOR(a,b,c)	(((((a)-'A'+1)&0x3f)<<2)|\
  				((((b)-'A'+1)&0x18)>>3)|((((b)-'A'+1)&7)<<13)|\
  				((((c)-'A'+1)&0x1f)<<8))
  #define ISAPNP_DEVICE(x)	((((x)&0xf000)>>8)|\
  				 (((x)&0x0f00)>>8)|\
  				 (((x)&0x00f0)<<8)|\
  				 (((x)&0x000f)<<8))
  #define ISAPNP_FUNCTION(x)	ISAPNP_DEVICE(x)
  
  #endif /* LINUX_ISAPNP_H */
  