Merge commit 'c039c332f23e794deb6d6f37b9f07ff3b27fb2cf' into md
[firefly-linux-kernel-4.4.55.git] / include / linux / clk-private.h
index eb3f84bc53254590661418d40c442ba90022a244..9c7f5807824b82fcf94a25771de576fe1c8cf247 100644 (file)
@@ -64,7 +64,7 @@ struct clk {
                .parent_names = _parent_names,                  \
                .num_parents = ARRAY_SIZE(_parent_names),       \
                .parents = _parents,                            \
-               .flags = _flags,                                \
+               .flags = _flags | CLK_IS_BASIC,                 \
        }
 
 #define DEFINE_CLK_FIXED_RATE(_name, _flags, _rate,            \
@@ -103,9 +103,9 @@ struct clk {
        DEFINE_CLK(_name, clk_gate_ops, _flags,                 \
                        _name##_parent_names, _name##_parents);
 
-#define DEFINE_CLK_DIVIDER(_name, _parent_name, _parent_ptr,   \
+#define _DEFINE_CLK_DIVIDER(_name, _parent_name, _parent_ptr,  \
                                _flags, _reg, _shift, _width,   \
-                               _divider_flags, _lock)          \
+                               _divider_flags, _table, _lock)  \
        static struct clk _name;                                \
        static const char *_name##_parent_names[] = {           \
                _parent_name,                                   \
@@ -121,11 +121,27 @@ struct clk {
                .shift = _shift,                                \
                .width = _width,                                \
                .flags = _divider_flags,                        \
+               .table = _table,                                \
                .lock = _lock,                                  \
        };                                                      \
        DEFINE_CLK(_name, clk_divider_ops, _flags,              \
                        _name##_parent_names, _name##_parents);
 
+#define DEFINE_CLK_DIVIDER(_name, _parent_name, _parent_ptr,   \
+                               _flags, _reg, _shift, _width,   \
+                               _divider_flags, _lock)          \
+       _DEFINE_CLK_DIVIDER(_name, _parent_name, _parent_ptr,   \
+                               _flags, _reg, _shift, _width,   \
+                               _divider_flags, NULL, _lock)
+
+#define DEFINE_CLK_DIVIDER_TABLE(_name, _parent_name,          \
+                               _parent_ptr, _flags, _reg,      \
+                               _shift, _width, _divider_flags, \
+                               _table, _lock)                  \
+       _DEFINE_CLK_DIVIDER(_name, _parent_name, _parent_ptr,   \
+                               _flags, _reg, _shift, _width,   \
+                               _divider_flags, _table, _lock)  \
+
 #define DEFINE_CLK_MUX(_name, _parent_names, _parents, _flags, \
                                _reg, _shift, _width,           \
                                _mux_flags, _lock)              \