On Tue, 14 Jan 2014 14:20:14 +0000 Mark Brown broonie@kernel.org wrote:
On Tue, Jan 14, 2014 at 12:36:06PM +0100, Jean-Francois Moine wrote:
This patch
- removes the fields of the platform data which are of no use to the non-DT platform callers,
- uses a new private structure to handle all the sound card information,
- simplifies the code and make easier a possible multi-DAI links extension.
Signed-off-by: Jean-Francois Moine moinejf@free.fr
Xiubo, I also removed 'of_device_is_available' which seems really useless: the module is not probed when the DT status is not "okay".
Please send this as a patch series to aid review, one patch doing four different changes is much harder to review.
As there are other bugs to fix, I may put back the 'of_device_is_available', but there are not 3 different changes: I just explain the visible effects of the patch. The patch itself is, as the subject says, 'simplify code', that is, 'have a simpler code with no change in the logic'.
ret = asoc_simple_card_sub_parse_of(np,
&info->cpu_dai,
of_cpu);
&priv->cpu_dai,
(struct device_node **)
&dai_link->cpu_of_node,
&dai_link->cpu_dai_name);
What's this cast here for? That code doesn't look at all safe.
dai_link->cpu_of_node is 'const struct device_node *' and both of_clk_get() and of_node_put() want 'struct device_node *'. So, there must be a cast somewhere.
Do you prefer I put these ones when calling the 'of_xx' functions?