vlynq cleanups:
[openwrt/svn-archive/archive.git] / target / linux / ar7 / files / include / asm-mips / ar7 / vlynq.h
index 9e35471a38390b6c157eb68871dcbb5f2924f224..12865bebbabe331983aba846099aa124e60c21eb 100644 (file)
@@ -1,24 +1,21 @@
 /*
- * $Id$
- * 
  * Copyright (C) 2006, 2007 OpenWrt.org
- * 
+ *
  * 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., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-
 #ifndef __VLYNQ_H__
 #define __VLYNQ_H__
 
@@ -31,13 +28,34 @@ struct vlynq_device_id {
        u32 id;
 };
 
+enum vlynq_divisor {
+       vlynq_div_auto = 0,
+       vlynq_ldiv1,
+       vlynq_ldiv2,
+       vlynq_ldiv3,
+       vlynq_ldiv4,
+       vlynq_ldiv5,
+       vlynq_ldiv6,
+       vlynq_ldiv7,
+       vlynq_ldiv8,
+       vlynq_rdiv1,
+       vlynq_rdiv2,
+       vlynq_rdiv3,
+       vlynq_rdiv4,
+       vlynq_rdiv5,
+       vlynq_rdiv6,
+       vlynq_rdiv7,
+       vlynq_rdiv8,
+       vlynq_div_external
+};
+
 struct vlynq_regs;
 struct vlynq_device {
        u32 id;
        int irq;
        int local_irq;
        int remote_irq;
-       int clock_div;
+       enum vlynq_divisor divisor;
        u32 regs_start, regs_end;
        u32 mem_start, mem_end;
        u32 irq_start, irq_end;
@@ -65,7 +83,7 @@ struct plat_vlynq_ops {
 
 extern struct bus_type vlynq_bus_type;
 
-extern int __vlynq_register_driver(struct vlynq_driver *driver, 
+extern int __vlynq_register_driver(struct vlynq_driver *driver,
                                   struct module *owner);
 
 static inline int vlynq_register_driver(struct vlynq_driver *driver)
@@ -76,13 +94,12 @@ static inline int vlynq_register_driver(struct vlynq_driver *driver)
 extern void vlynq_unregister_driver(struct vlynq_driver *driver);
 extern int vlynq_device_enable(struct vlynq_device *dev);
 extern void vlynq_device_disable(struct vlynq_device *dev);
-extern u32 vlynq_local_id(struct vlynq_device *dev);
 extern u32 vlynq_remote_id(struct vlynq_device *dev);
 extern void vlynq_set_local_mapping(struct vlynq_device *dev,
                                    u32 tx_offset,
                                    struct vlynq_mapping *mapping);
-extern void vlynq_set_remote_mapping(struct vlynq_device *dev, 
-                                    u32 tx_offset, 
+extern void vlynq_set_remote_mapping(struct vlynq_device *dev,
+                                    u32 tx_offset,
                                     struct vlynq_mapping *mapping);
 extern int vlynq_virq_to_irq(struct vlynq_device *dev, int virq);
 extern int vlynq_irq_to_virq(struct vlynq_device *dev, int irq);