@@ -102,20 +102,22 @@ enum gate_type {
102102 * @source: the ID+1 of the parent clock element.
103103 * Root clock uses ID of ~0 (PARENT_ID);
104104 * @gate: clock enable/disable
105- * @div_min: smallest permitted clock divider
106- * @div_max: largest permitted clock divider
107- * @reg: clock divider register offset, in 32-bit words
108- * @div_table: optional list of fixed clock divider values;
105+ * @div: substructure for clock divider
106+ * @div.min: smallest permitted clock divider
107+ * @div.max: largest permitted clock divider
108+ * @div.reg: clock divider register offset, in 32-bit words
109+ * @div.table: optional list of fixed clock divider values;
109110 * must be in ascending order, zero for unused
110- * @div: divisor for fixed-factor clock
111- * @mul: multiplier for fixed-factor clock
111+ * @ffc: substructure for fixed-factor clocks
112+ * @ffc.div: divisor for fixed-factor clock
113+ * @ffc.mul: multiplier for fixed-factor clock
112114 * @dual: substructure for dual clock gates
113- * @group: UART group, 0=UART0/1/2, 1=UART3/4/5/6/7
114- * @sel: select either g1/r1 or g2/r2 as clock source
115- * @g1: 1st source gate (clock enable/disable)
116- * @r1: 1st source reset (module reset)
117- * @g2: 2nd source gate (clock enable/disable)
118- * @r2: 2nd source reset (module reset)
115+ * @dual. group: UART group, 0=UART0/1/2, 1=UART3/4/5/6/7
116+ * @dual. sel: select either g1/r1 or g2/r2 as clock source
117+ * @dual. g1: 1st source gate (clock enable/disable)
118+ * @dual. r1: 1st source reset (module reset)
119+ * @dual. g2: 2nd source gate (clock enable/disable)
120+ * @dual. r2: 2nd source reset (module reset)
119121 *
120122 * Describes a single element in the clock tree hierarchy.
121123 * As there are quite a large number of clock elements, this
@@ -132,13 +134,13 @@ struct r9a06g032_clkdesc {
132134 struct r9a06g032_gate gate ;
133135 /* type = K_DIV */
134136 struct {
135- unsigned int div_min :10 , div_max :10 , reg :10 ;
136- u16 div_table [4 ];
137- };
137+ unsigned int min :10 , max :10 , reg :10 ;
138+ u16 table [4 ];
139+ } div ;
138140 /* type = K_FFC */
139141 struct {
140142 u16 div , mul ;
141- };
143+ } ffc ;
142144 /* type = K_DUALGATE */
143145 struct {
144146 uint16_t group :1 ;
@@ -179,26 +181,26 @@ struct r9a06g032_clkdesc {
179181 .type = K_FFC, \
180182 .index = R9A06G032_##_idx, \
181183 .name = _n, \
182- .div = _div, \
183- .mul = _mul \
184+ .ffc. div = _div, \
185+ .ffc. mul = _mul \
184186}
185187#define D_FFC (_idx , _n , _src , _div ) { \
186188 .type = K_FFC, \
187189 .index = R9A06G032_##_idx, \
188190 .source = 1 + R9A06G032_##_src, \
189191 .name = _n, \
190- .div = _div, \
191- .mul = 1 \
192+ .ffc. div = _div, \
193+ .ffc. mul = 1 \
192194}
193195#define D_DIV (_idx , _n , _src , _reg , _min , _max , ...) { \
194196 .type = K_DIV, \
195197 .index = R9A06G032_##_idx, \
196198 .source = 1 + R9A06G032_##_src, \
197199 .name = _n, \
198- .reg = _reg, \
199- .div_min = _min, \
200- .div_max = _max, \
201- .div_table = { __VA_ARGS__ } \
200+ .div. reg = _reg, \
201+ .div.min = _min, \
202+ .div.max = _max, \
203+ .div.table = { __VA_ARGS__ } \
202204}
203205#define D_UGATE (_idx , _n , _src , _g , _g1 , _r1 , _g2 , _r2 ) { \
204206 .type = K_DUALGATE, \
@@ -1064,14 +1066,14 @@ r9a06g032_register_div(struct r9a06g032_priv *clocks,
10641066
10651067 div -> clocks = clocks ;
10661068 div -> index = desc -> index ;
1067- div -> reg = desc -> reg ;
1069+ div -> reg = desc -> div . reg ;
10681070 div -> hw .init = & init ;
1069- div -> min = desc -> div_min ;
1070- div -> max = desc -> div_max ;
1071+ div -> min = desc -> div . min ;
1072+ div -> max = desc -> div . max ;
10711073 /* populate (optional) divider table fixed values */
10721074 for (i = 0 ; i < ARRAY_SIZE (div -> table ) &&
1073- i < ARRAY_SIZE (desc -> div_table ) && desc -> div_table [i ]; i ++ ) {
1074- div -> table [div -> table_size ++ ] = desc -> div_table [i ];
1075+ i < ARRAY_SIZE (desc -> div . table ) && desc -> div . table [i ]; i ++ ) {
1076+ div -> table [div -> table_size ++ ] = desc -> div . table [i ];
10751077 }
10761078
10771079 clk = clk_register (NULL , & div -> hw );
@@ -1333,7 +1335,8 @@ static int __init r9a06g032_clocks_probe(struct platform_device *pdev)
13331335 case K_FFC :
13341336 clk = clk_register_fixed_factor (NULL , d -> name ,
13351337 parent_name , 0 ,
1336- d -> mul , d -> div );
1338+ d -> ffc .mul ,
1339+ d -> ffc .div );
13371340 break ;
13381341 case K_GATE :
13391342 clk = r9a06g032_register_gate (clocks , parent_name , d );
0 commit comments