1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Common hwbus abstraction layer interface for cw1200 wireless driver 4 * 5 * Copyright (c) 2010, ST-Ericsson 6 * Author: Dmitry Tarnyagin <dmitry.tarnyagin@lockless.no> 7 */ 8 9 #ifndef CW1200_HWBUS_H 10 #define CW1200_HWBUS_H 11 12 struct hwbus_priv; 13 14 void cw1200_irq_handler(struct cw1200_common *priv); 15 16 /* This MUST be wrapped with hwbus_ops->lock/unlock! */ 17 int __cw1200_irq_enable(struct cw1200_common *priv, int enable); 18 19 struct hwbus_ops { 20 int (*hwbus_memcpy_fromio)(struct hwbus_priv *self, unsigned int addr, 21 void *dst, int count); 22 int (*hwbus_memcpy_toio)(struct hwbus_priv *self, unsigned int addr, 23 const void *src, int count); 24 void (*lock)(struct hwbus_priv *self); 25 void (*unlock)(struct hwbus_priv *self); 26 size_t (*align_size)(struct hwbus_priv *self, size_t size); 27 int (*power_mgmt)(struct hwbus_priv *self, bool suspend); 28 }; 29 30 #endif /* CW1200_HWBUS_H */ 31