ASoC: Remove 'const' from the device_node pointers
authorJean-Francois Moine <moinejf@free.fr>
Tue, 25 Nov 2014 11:14:48 +0000 (12:14 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 25 Nov 2014 22:26:34 +0000 (22:26 +0000)
As Russell King's explained it, there should not be pointers to
struct device_node:

"struct device_node is a ref-counted structure.  That means if you
 store a reference to it, you should "get" it, and you should "put"
 it once you've done.  The act of "put"ing the pointed-to structure
 involves writing to that structure, so it is totally unappropriate
 to store a device_node structure as a const pointer.  It forces you
 to have to cast it back to a non-const pointer at various points
 in time to use various OF function calls."

[This isn't quite the application here, we're not geting or putting the
pointer though we did add some other users who call non-const OF
functions -- broonie]

Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc.h

index edbb07ba4cb509fcbf0b3df1ce1038a29680e6bc..d1f3dac91b3e52cd1165fbe1c5927acf316bd8f9 100644 (file)
@@ -881,7 +881,7 @@ struct snd_soc_platform_driver {
 
 struct snd_soc_dai_link_component {
        const char *name;
-       const struct device_node *of_node;
+       struct device_node *of_node;
        const char *dai_name;
 };
 
@@ -983,7 +983,7 @@ struct snd_soc_codec_conf {
         * DT/OF node, but not both.
         */
        const char *dev_name;
-       const struct device_node *of_node;
+       struct device_node *of_node;
 
        /*
         * optional map of kcontrol, widget and path name prefixes that are
@@ -1000,7 +1000,7 @@ struct snd_soc_aux_dev {
         * DT/OF node, but not both.
         */
        const char *codec_name;
-       const struct device_node *codec_of_node;
+       struct device_node *codec_of_node;
 
        /* codec/machine specific init - e.g. add machine controls */
        int (*init)(struct snd_soc_component *component);