linux/include/linux/tifm.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *  tifm.h - TI FlashMedia driver
 *
 *  Copyright (C) 2006 Alex Dubov <[email protected]>
 */

#ifndef _TIFM_H
#define _TIFM_H

#include <linux/spinlock.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/pci.h>
#include <linux/workqueue.h>

/* Host registers (relative to pci base address): */
enum {};

/* Socket registers (relative to socket base address): */
enum {};

#define TIFM_CTRL_LED
#define TIFM_CTRL_FAST_CLK
#define TIFM_CTRL_POWER_MASK

#define TIFM_SOCK_STATE_OCCUPIED
#define TIFM_SOCK_STATE_POWERED

#define TIFM_FIFO_ENABLE
#define TIFM_FIFO_READY
#define TIFM_FIFO_MORE
#define TIFM_FIFO_INT_SETALL
#define TIFM_FIFO_INTMASK

#define TIFM_DMA_RESET
#define TIFM_DMA_TX
#define TIFM_DMA_EN
#define TIFM_DMA_TSIZE

#define TIFM_TYPE_XD
#define TIFM_TYPE_MS
#define TIFM_TYPE_SD

struct tifm_device_id {};

struct tifm_driver;
struct tifm_dev {};

struct tifm_driver {};

struct tifm_adapter {};

struct tifm_adapter *tifm_alloc_adapter(unsigned int num_sockets,
					struct device *dev);
int tifm_add_adapter(struct tifm_adapter *fm);
void tifm_remove_adapter(struct tifm_adapter *fm);
void tifm_free_adapter(struct tifm_adapter *fm);

void tifm_free_device(struct device *dev);
struct tifm_dev *tifm_alloc_device(struct tifm_adapter *fm, unsigned int id,
				   unsigned char type);

int tifm_register_driver(struct tifm_driver *drv);
void tifm_unregister_driver(struct tifm_driver *drv);
void tifm_eject(struct tifm_dev *sock);
int tifm_has_ms_pif(struct tifm_dev *sock);
int tifm_map_sg(struct tifm_dev *sock, struct scatterlist *sg, int nents,
		int direction);
void tifm_unmap_sg(struct tifm_dev *sock, struct scatterlist *sg, int nents,
		   int direction);
void tifm_queue_work(struct work_struct *work);

static inline void *tifm_get_drvdata(struct tifm_dev *dev)
{}

static inline void tifm_set_drvdata(struct tifm_dev *dev, void *data)
{}

#endif