/*
 * linux/net/driver/wireless/cx3110x/sm_drv_spi_io.h
 *
 * OMAP SPI wrapper for Conexant Softmac driver.
 *
 * Copyright (C) 2004, 2005 Nokia Corporation
 * Author: Samuel Ortiz <samuel.ortiz@nokia.com>
 *
 *
 * 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.
 *
 */


#ifndef _SM_DRV_SPI_IO_H
#define _SM_DRV_SPI_IO_H

int omap_wlan_request_irq(irqreturn_t (*handler)(int, void *, struct pt_regs *),
			  const char * devname, void *dev_id);
void omap_wlan_free_irq(void *dev_id);
void omap_wlan_disable_irq(struct net_device *dev);
int omap_wlan_spi_probe(struct net_device *dev);
int omap_wlan_spi_read(unsigned long address, unsigned char * buffer, unsigned int length);
int omap_wlan_spi_write(unsigned long address, unsigned char * buffer, unsigned int length);
int omap_wlan_spi_dma_read(unsigned long address, void * buffer, unsigned int length);
int omap_wlan_spi_dma_write(unsigned long address, void * buffer, unsigned int length);
void omap_wlan_spi_disconnect(struct net_device *dev); /* Weird name, but it follows the inital one */
void omap_wlan_dump_register(void);

#define sm_spi_read(addr, data, len)     omap_wlan_spi_read((addr), (data), (len))
#define sm_spi_write(addr, data, len)    omap_wlan_spi_write((addr), (data), (len))

#define sm_spi_dma_read(addr, data, len)     omap_wlan_spi_dma_read((addr), (data), (len))
#define sm_spi_dma_write(addr, data, len)    omap_wlan_spi_dma_write((addr), (data), (len))

#endif
