rt2800: add rt2800lib.h
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Wed, 4 Nov 2009 17:35:32 +0000 (18:35 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 6 Nov 2009 21:48:55 +0000 (16:48 -0500)
Code unification.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2800lib.h [new file with mode: 0644]
drivers/net/wireless/rt2x00/rt2800pci.c
drivers/net/wireless/rt2x00/rt2800pci.h
drivers/net/wireless/rt2x00/rt2800usb.c
drivers/net/wireless/rt2x00/rt2800usb.h

diff --git a/drivers/net/wireless/rt2x00/rt2800lib.h b/drivers/net/wireless/rt2x00/rt2800lib.h
new file mode 100644 (file)
index 0000000..17e91fb
--- /dev/null
@@ -0,0 +1,99 @@
+/*
+       Copyright (C) 2009 Bartlomiej Zolnierkiewicz
+
+       This program is free software; you can redistribute it and/or modify
+       it under the terms of the GNU General Public License as published by
+       the Free Software Foundation; either version 2 of the License, or
+       (at your option) any later version.
+
+       This program is distributed in the hope that it will be useful,
+       but WITHOUT ANY WARRANTY; without even the implied warranty of
+       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+       GNU General Public License for more details.
+
+       You should have received a copy of the GNU General Public License
+       along with this program; if not, write to the
+       Free Software Foundation, Inc.,
+       59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef RT2800LIB_H
+#define RT2800LIB_H
+
+struct rt2800_ops {
+       void (*register_read)(struct rt2x00_dev *rt2x00dev,
+                             const unsigned int offset, u32 *value);
+       void (*register_write)(struct rt2x00_dev *rt2x00dev,
+                              const unsigned int offset, u32 value);
+       void (*register_write_lock)(struct rt2x00_dev *rt2x00dev,
+                                   const unsigned int offset, u32 value);
+
+       void (*register_multiread)(struct rt2x00_dev *rt2x00dev,
+                                  const unsigned int offset,
+                                  void *value, const u32 length);
+       void (*register_multiwrite)(struct rt2x00_dev *rt2x00dev,
+                                   const unsigned int offset,
+                                   const void *value, const u32 length);
+
+       int (*regbusy_read)(struct rt2x00_dev *rt2x00dev,
+                           const unsigned int offset,
+                           const struct rt2x00_field32 field, u32 *reg);
+};
+
+static inline void rt2800_register_read(struct rt2x00_dev *rt2x00dev,
+                                       const unsigned int offset,
+                                       u32 *value)
+{
+       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
+
+       rt2800ops->register_read(rt2x00dev, offset, value);
+}
+
+static inline void rt2800_register_write(struct rt2x00_dev *rt2x00dev,
+                                        const unsigned int offset,
+                                        u32 value)
+{
+       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
+
+       rt2800ops->register_write(rt2x00dev, offset, value);
+}
+
+static inline void rt2800_register_write_lock(struct rt2x00_dev *rt2x00dev,
+                                             const unsigned int offset,
+                                             u32 value)
+{
+       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
+
+       rt2800ops->register_write_lock(rt2x00dev, offset, value);
+}
+
+static inline void rt2800_register_multiread(struct rt2x00_dev *rt2x00dev,
+                                            const unsigned int offset,
+                                            void *value, const u32 length)
+{
+       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
+
+       rt2800ops->register_multiread(rt2x00dev, offset, value, length);
+}
+
+static inline void rt2800_register_multiwrite(struct rt2x00_dev *rt2x00dev,
+                                             const unsigned int offset,
+                                             const void *value,
+                                             const u32 length)
+{
+       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
+
+       rt2800ops->register_multiwrite(rt2x00dev, offset, value, length);
+}
+
+static inline int rt2800_regbusy_read(struct rt2x00_dev *rt2x00dev,
+                                     const unsigned int offset,
+                                     const struct rt2x00_field32 field,
+                                     u32 *reg)
+{
+       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
+
+       return rt2800ops->regbusy_read(rt2x00dev, offset, field, reg);
+}
+
+#endif /* RT2800LIB_H */
index fde722c..9017ea6 100644 (file)
@@ -37,6 +37,7 @@
 #include "rt2x00.h"
 #include "rt2x00pci.h"
 #include "rt2x00soc.h"
+#include "rt2800lib.h"
 #include "rt2800pci.h"
 
 #ifdef CONFIG_RT2800PCI_PCI_MODULE
index 586eb81..8569088 100644 (file)
 #ifndef RT2800PCI_H
 #define RT2800PCI_H
 
-struct rt2800_ops {
-       void (*register_read)(struct rt2x00_dev *rt2x00dev,
-                             const unsigned int offset, u32 *value);
-       void (*register_write)(struct rt2x00_dev *rt2x00dev,
-                              const unsigned int offset, u32 value);
-       void (*register_write_lock)(struct rt2x00_dev *rt2x00dev,
-                                   const unsigned int offset, u32 value);
-
-       void (*register_multiread)(struct rt2x00_dev *rt2x00dev,
-                                  const unsigned int offset,
-                                  void *value, const u32 length);
-       void (*register_multiwrite)(struct rt2x00_dev *rt2x00dev,
-                                   const unsigned int offset,
-                                   const void *value, const u32 length);
-
-       int (*regbusy_read)(struct rt2x00_dev *rt2x00dev,
-                           const unsigned int offset,
-                           const struct rt2x00_field32 field, u32 *reg);
-};
-
-static inline void rt2800_register_read(struct rt2x00_dev *rt2x00dev,
-                                       const unsigned int offset,
-                                       u32 *value)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       rt2800ops->register_read(rt2x00dev, offset, value);
-}
-
-static inline void rt2800_register_write(struct rt2x00_dev *rt2x00dev,
-                                        const unsigned int offset,
-                                        u32 value)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       rt2800ops->register_write(rt2x00dev, offset, value);
-}
-
-static inline void rt2800_register_write_lock(struct rt2x00_dev *rt2x00dev,
-                                             const unsigned int offset,
-                                             u32 value)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       rt2800ops->register_write_lock(rt2x00dev, offset, value);
-}
-
-static inline void rt2800_register_multiread(struct rt2x00_dev *rt2x00dev,
-                                            const unsigned int offset,
-                                            void *value, const u32 length)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       rt2800ops->register_multiread(rt2x00dev, offset, value, length);
-}
-
-static inline void rt2800_register_multiwrite(struct rt2x00_dev *rt2x00dev,
-                                             const unsigned int offset,
-                                             const void *value,
-                                             const u32 length)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       rt2800ops->register_multiwrite(rt2x00dev, offset, value, length);
-}
-
-static inline int rt2800_regbusy_read(struct rt2x00_dev *rt2x00dev,
-                                     const unsigned int offset,
-                                     const struct rt2x00_field32 field,
-                                     u32 *reg)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       return rt2800ops->regbusy_read(rt2x00dev, offset, field, reg);
-}
-
 /*
  * RF chip defines.
  *
index a3ec97a..a3e5050 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "rt2x00.h"
 #include "rt2x00usb.h"
+#include "rt2800lib.h"
 #include "rt2800usb.h"
 
 /*
index 0a525a7..7b1130a 100644 (file)
 #ifndef RT2800USB_H
 #define RT2800USB_H
 
-struct rt2800_ops {
-       void (*register_read)(struct rt2x00_dev *rt2x00dev,
-                             const unsigned int offset, u32 *value);
-       void (*register_write)(struct rt2x00_dev *rt2x00dev,
-                              const unsigned int offset, u32 value);
-       void (*register_write_lock)(struct rt2x00_dev *rt2x00dev,
-                                   const unsigned int offset, u32 value);
-
-       void (*register_multiread)(struct rt2x00_dev *rt2x00dev,
-                                  const unsigned int offset,
-                                  void *value, const u32 length);
-       void (*register_multiwrite)(struct rt2x00_dev *rt2x00dev,
-                                   const unsigned int offset,
-                                   const void *value, const u32 length);
-
-       int (*regbusy_read)(struct rt2x00_dev *rt2x00dev,
-                           const unsigned int offset,
-                           const struct rt2x00_field32 field, u32 *reg);
-};
-
-static inline void rt2800_register_read(struct rt2x00_dev *rt2x00dev,
-                                       const unsigned int offset,
-                                       u32 *value)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       rt2800ops->register_read(rt2x00dev, offset, value);
-}
-
-static inline void rt2800_register_write(struct rt2x00_dev *rt2x00dev,
-                                        const unsigned int offset,
-                                        u32 value)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       rt2800ops->register_write(rt2x00dev, offset, value);
-}
-
-static inline void rt2800_register_write_lock(struct rt2x00_dev *rt2x00dev,
-                                             const unsigned int offset,
-                                             u32 value)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       rt2800ops->register_write_lock(rt2x00dev, offset, value);
-}
-
-static inline void rt2800_register_multiread(struct rt2x00_dev *rt2x00dev,
-                                            const unsigned int offset,
-                                            void *value, const u32 length)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       rt2800ops->register_multiread(rt2x00dev, offset, value, length);
-}
-
-static inline void rt2800_register_multiwrite(struct rt2x00_dev *rt2x00dev,
-                                             const unsigned int offset,
-                                             void *value, const u32 length)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       rt2800ops->register_multiwrite(rt2x00dev, offset, value, length);
-}
-
-static inline int rt2800_regbusy_read(struct rt2x00_dev *rt2x00dev,
-                                     const unsigned int offset,
-                                     struct rt2x00_field32 field,
-                                     u32 *reg)
-{
-       const struct rt2800_ops *rt2800ops = rt2x00dev->priv;
-
-       return rt2800ops->regbusy_read(rt2x00dev, offset, field, reg);
-}
-
 /*
  * RF chip defines.
  *