www.pudn.com > sdio-2.6.18-full.rar > sdio_memory_linux.h
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@file: sdio_memory_linux.h
@abstract: OS dependent include memory card function driver
#notes:
@notice: Copyright (c), 2004 Atheros Communications, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* Portions o this code were developed with information supplied from the
* SD Card Association Simplified Specifications. The following conditions and disclaimers may apply:
*
* The following conditions apply to the release of the SD simplified specification (“Simplified
* Specification”) by the SD Card Association. The Simplified Specification is a subset of the complete
* SD Specification which is owned by the SD Card Association. This Simplified Specification is provided
* on a non-confidential basis subject to the disclaimers below. Any implementation of the Simplified
* Specification may require a license from the SD Card Association or other third parties.
* Disclaimers:
* The information contained in the Simplified Specification is presented only as a standard
* specification for SD Cards and SD Host/Ancillary products and is provided "AS-IS" without any
* representations or warranties of any kind. No responsibility is assumed by the SD Card Association for
* any damages, any infringements of patents or other right of the SD Card Association or any third
* parties, which may result from its use. No license is granted by implication, estoppel or otherwise
* under any patent or other rights of the SD Card Association or any third party. Nothing herein shall
* be construed as an obligation by the SD Card Association to disclose or distribute any technical
* information, know-how or other confidential information to any third party.
*
*
* The initial developers of the original code are Seung Yi and Paul Lever
*
* sdio@atheros.com
*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#ifndef __SDIO_MEMORY_LINUX_H___
#define __SDIO_MEMORY_LINUX_H___
#define SDIO_MEMORY_BASE "sdmem"
#define SDIO_MEMORY_MAX_DEVICES 4
#define SDIO_MEMORY_MAJOR 0
//??#define SDIO_MEMORY_MAX_MINOR 4
#define SDIO_MEMORY_MAX_PARTITIONS 8
/* sector size is aribtary and matchs the Linux requests */
//??#define SDIO_MEMORY_SECTOR_SIZE 512
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
typedef sector_t SDSECTOR_SIZE;
#else
/* 2.4 */
typedef unsigned long SDSECTOR_SIZE;
#endif
/* driver configuration */
typedef struct _SDMEMORY_DRIVER_CONFIG {
int Major; /* device's major number */
struct device *pDevice; /* the parent device we are on*/
}SDMEMORY_DRIVER_CONFIG, *PSDMEMORY_DRIVER_CONFIG;
/* per device configuration */
typedef struct _SDMEMORY_CONFIG {
struct hci_dev *pHciDev; /* the HCI device */
struct gendisk *pGenDisk; /* the disk definition */
struct request_queue *pRequestQueue; /* request queue for disk requests*/
spinlock_t RequestLock; /* lock for the RequestQueue */
spinlock_t DeviceLock; /* lock for this device */
atomic_t OpenCount; /* how many opens are current */
}SDMEMORY_CONFIG, *PSDMEMORY_CONFIG;
#endif /*__SDIO_MEMORY_LINUX_H___*/