diff options
Diffstat (limited to 'package/ubsec_ssb/src/ocf-compat.h')
-rw-r--r-- | package/ubsec_ssb/src/ocf-compat.h | 270 |
1 files changed, 0 insertions, 270 deletions
diff --git a/package/ubsec_ssb/src/ocf-compat.h b/package/ubsec_ssb/src/ocf-compat.h deleted file mode 100644 index fb50b41e9f..0000000000 --- a/package/ubsec_ssb/src/ocf-compat.h +++ /dev/null @@ -1,270 +0,0 @@ -#ifndef _BSD_COMPAT_H_ -#define _BSD_COMPAT_H_ 1 -/****************************************************************************/ -/* - * Provide compat routines for older linux kernels and BSD kernels - * - * Written by David McCullough <david_mccullough@securecomputing.com> - * Copyright (C) 2007 David McCullough <david_mccullough@securecomputing.com> - * - * LICENSE TERMS - * - * The free distribution and use of this software in both source and binary - * form is allowed (with or without changes) provided that: - * - * 1. distributions of this source code include the above copyright - * notice, this list of conditions and the following disclaimer; - * - * 2. distributions in binary form include the above copyright - * notice, this list of conditions and the following disclaimer - * in the documentation and/or other associated materials; - * - * 3. the copyright holder's name is not used to endorse products - * built using this software without specific written permission. - * - * ALTERNATIVELY, provided that this notice is retained in full, this file - * may be distributed under the terms of the GNU General Public License (GPL), - * in which case the provisions of the GPL apply INSTEAD OF those given above. - * - * DISCLAIMER - * - * This software is provided 'as is' with no explicit or implied warranties - * in respect of its properties, including, but not limited to, correctness - * and/or fitness for purpose. - */ -/****************************************************************************/ -#ifdef __KERNEL__ -/* - * fake some BSD driver interface stuff specifically for OCF use - */ - -typedef struct ocf_device *device_t; - -typedef struct { - int (*cryptodev_newsession)(device_t dev, u_int32_t *sidp, struct cryptoini *cri); - int (*cryptodev_freesession)(device_t dev, u_int64_t tid); - int (*cryptodev_process)(device_t dev, struct cryptop *crp, int hint); - int (*cryptodev_kprocess)(device_t dev, struct cryptkop *krp, int hint); -} device_method_t; -#define DEVMETHOD(id, func) id: func - -struct ocf_device { - char name[32]; /* the driver name */ - char nameunit[32]; /* the driver name + HW instance */ - int unit; - device_method_t methods; - void *softc; -}; - -#define CRYPTODEV_NEWSESSION(dev, sid, cri) \ - ((*(dev)->methods.cryptodev_newsession)(dev,sid,cri)) -#define CRYPTODEV_FREESESSION(dev, sid) \ - ((*(dev)->methods.cryptodev_freesession)(dev, sid)) -#define CRYPTODEV_PROCESS(dev, crp, hint) \ - ((*(dev)->methods.cryptodev_process)(dev, crp, hint)) -#define CRYPTODEV_KPROCESS(dev, krp, hint) \ - ((*(dev)->methods.cryptodev_kprocess)(dev, krp, hint)) - -#define device_get_name(dev) ((dev)->name) -#define device_get_nameunit(dev) ((dev)->nameunit) -#define device_get_unit(dev) ((dev)->unit) -#define device_get_softc(dev) ((dev)->softc) - -#define softc_device_decl \ - struct ocf_device _device; \ - device_t - -#define softc_device_init(_sc, _name, _unit, _methods) \ - if (1) {\ - strncpy((_sc)->_device.name, _name, sizeof((_sc)->_device.name) - 1); \ - snprintf((_sc)->_device.nameunit, sizeof((_sc)->_device.name), "%s%d", _name, _unit); \ - (_sc)->_device.unit = _unit; \ - (_sc)->_device.methods = _methods; \ - (_sc)->_device.softc = (void *) _sc; \ - *(device_t *)((softc_get_device(_sc))+1) = &(_sc)->_device; \ - } else - -#define softc_get_device(_sc) (&(_sc)->_device) - -/* - * iomem support for 2.4 and 2.6 kernels - */ -#include <linux/version.h> -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) -#define ocf_iomem_t unsigned long - -/* - * implement simple workqueue like support for older kernels - */ - -#include <linux/tqueue.h> - -#define work_struct tq_struct - -#define INIT_WORK(wp, fp, ap) \ - do { \ - (wp)->sync = 0; \ - (wp)->routine = (fp); \ - (wp)->data = (ap); \ - } while (0) - -#define schedule_work(wp) \ - do { \ - queue_task((wp), &tq_immediate); \ - mark_bh(IMMEDIATE_BH); \ - } while (0) - -#define flush_scheduled_work() run_task_queue(&tq_immediate) - -#else -#define ocf_iomem_t void __iomem * - -#include <linux/workqueue.h> - -#endif - -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) -#include <linux/fdtable.h> -#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11) -#define files_fdtable(files) (files) -#endif - -#ifdef MODULE_PARM -#undef module_param /* just in case */ -#define module_param(a,b,c) MODULE_PARM(a,"i") -#endif - -#define bzero(s,l) memset(s,0,l) -#define bcopy(s,d,l) memcpy(d,s,l) -#define bcmp(x, y, l) memcmp(x,y,l) - -#define MIN(x,y) ((x) < (y) ? (x) : (y)) - -#define device_printf(dev, a...) ({ \ - printk("%s: ", device_get_nameunit(dev)); printk(a); \ - }) - -#undef printf -#define printf(fmt...) printk(fmt) - -#define KASSERT(c,p) if (!(c)) { printk p ; } else - -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) -#define ocf_daemonize(str) \ - daemonize(); \ - spin_lock_irq(¤t->sigmask_lock); \ - sigemptyset(¤t->blocked); \ - recalc_sigpending(current); \ - spin_unlock_irq(¤t->sigmask_lock); \ - sprintf(current->comm, str); -#else -#define ocf_daemonize(str) daemonize(str); -#endif - -#define TAILQ_INSERT_TAIL(q,d,m) list_add_tail(&(d)->m, (q)) -#define TAILQ_EMPTY(q) list_empty(q) -#define TAILQ_FOREACH(v, q, m) list_for_each_entry(v, q, m) - -#define read_random(p,l) get_random_bytes(p,l) - -#define DELAY(x) ((x) > 2000 ? mdelay((x)/1000) : udelay(x)) -#define strtoul simple_strtoul - -#define pci_get_vendor(dev) ((dev)->vendor) -#define pci_get_device(dev) ((dev)->device) - -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) -#define pci_set_consistent_dma_mask(dev, mask) (0) -#endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10) -#define pci_dma_sync_single_for_cpu pci_dma_sync_single -#endif - -#ifndef DMA_32BIT_MASK -#define DMA_32BIT_MASK 0x00000000ffffffffULL -#endif - -#define htole32(x) cpu_to_le32(x) -#define htobe32(x) cpu_to_be32(x) -#define htole16(x) cpu_to_le16(x) -#define htobe16(x) cpu_to_be16(x) - -/* older kernels don't have these */ - -#ifndef IRQ_NONE -#define IRQ_NONE -#define IRQ_HANDLED -#define irqreturn_t void -#endif -#ifndef IRQF_SHARED -#define IRQF_SHARED SA_SHIRQ -#endif - -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) -# define strlcpy(dest,src,len) \ - ({strncpy(dest,src,(len)-1); ((char *)dest)[(len)-1] = '\0'; }) -#endif - -#ifndef MAX_ERRNO -#define MAX_ERRNO 4095 -#endif -#ifndef IS_ERR_VALUE -#define IS_ERR_VALUE(x) ((unsigned long)(x) >= (unsigned long)-MAX_ERRNO) -#endif - -/* - * common debug for all - */ -#if 1 -#define dprintk(a...) do { if (debug) printk(a); } while(0) -#else -#define dprintk(a...) -#endif - -#ifndef SLAB_ATOMIC -/* Changed in 2.6.20, must use GFP_ATOMIC now */ -#define SLAB_ATOMIC GFP_ATOMIC -#endif - -/* - * need some additional support for older kernels */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,2) -#define pci_register_driver_compat(driver, rc) \ - do { \ - if ((rc) > 0) { \ - (rc) = 0; \ - } else if (rc == 0) { \ - (rc) = -ENODEV; \ - } else { \ - pci_unregister_driver(driver); \ - } \ - } while (0) -#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10) -#define pci_register_driver_compat(driver,rc) ((rc) = (rc) < 0 ? (rc) : 0) -#else -#define pci_register_driver_compat(driver,rc) -#endif - -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) - -#include <asm/scatterlist.h> - -static inline void sg_set_page(struct scatterlist *sg, struct page *page, - unsigned int len, unsigned int offset) -{ - sg->page = page; - sg->offset = offset; - sg->length = len; -} - -static inline void *sg_virt(struct scatterlist *sg) -{ - return page_address(sg->page) + sg->offset; -} - -#endif - -#endif /* __KERNEL__ */ - -/****************************************************************************/ -#endif /* _BSD_COMPAT_H_ */ |