Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Common hwbus abstraction layer interface for cw1200 wireless driver
0004  *
0005  * Copyright (c) 2010, ST-Ericsson
0006  * Author: Dmitry Tarnyagin <dmitry.tarnyagin@lockless.no>
0007  */
0008 
0009 #ifndef CW1200_HWBUS_H
0010 #define CW1200_HWBUS_H
0011 
0012 struct hwbus_priv;
0013 
0014 void cw1200_irq_handler(struct cw1200_common *priv);
0015 
0016 /* This MUST be wrapped with hwbus_ops->lock/unlock! */
0017 int __cw1200_irq_enable(struct cw1200_common *priv, int enable);
0018 
0019 struct hwbus_ops {
0020     int (*hwbus_memcpy_fromio)(struct hwbus_priv *self, unsigned int addr,
0021                     void *dst, int count);
0022     int (*hwbus_memcpy_toio)(struct hwbus_priv *self, unsigned int addr,
0023                     const void *src, int count);
0024     void (*lock)(struct hwbus_priv *self);
0025     void (*unlock)(struct hwbus_priv *self);
0026     size_t (*align_size)(struct hwbus_priv *self, size_t size);
0027     int (*power_mgmt)(struct hwbus_priv *self, bool suspend);
0028 };
0029 
0030 #endif /* CW1200_HWBUS_H */