mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-20 10:44:23 +08:00
c4fb19d21b
This reverts commit aec8e88c94
.
This solution turned out to cause interrupt delivery problems, and
rather than trying to fix this approach, it has been scrapped in favor
of an alternative (and far simpler) implementation.
Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
34 lines
1.0 KiB
C
34 lines
1.0 KiB
C
/*
|
|
* Common hwbus abstraction layer interface for cw1200 wireless driver
|
|
*
|
|
* Copyright (c) 2010, ST-Ericsson
|
|
* Author: Dmitry Tarnyagin <dmitry.tarnyagin@lockless.no>
|
|
*
|
|
* 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 CW1200_HWBUS_H
|
|
#define CW1200_HWBUS_H
|
|
|
|
struct hwbus_priv;
|
|
|
|
void cw1200_irq_handler(struct cw1200_common *priv);
|
|
|
|
/* This MUST be wrapped with hwbus_ops->lock/unlock! */
|
|
int __cw1200_irq_enable(struct cw1200_common *priv, int enable);
|
|
|
|
struct hwbus_ops {
|
|
int (*hwbus_memcpy_fromio)(struct hwbus_priv *self, unsigned int addr,
|
|
void *dst, int count);
|
|
int (*hwbus_memcpy_toio)(struct hwbus_priv *self, unsigned int addr,
|
|
const void *src, int count);
|
|
void (*lock)(struct hwbus_priv *self);
|
|
void (*unlock)(struct hwbus_priv *self);
|
|
size_t (*align_size)(struct hwbus_priv *self, size_t size);
|
|
int (*power_mgmt)(struct hwbus_priv *self, bool suspend);
|
|
};
|
|
|
|
#endif /* CW1200_HWBUS_H */
|