[PATCH 4/6] arm/dts: imx6q-sabrelite: add sgtl5000 audio codec
Rob Herring
robherring2 at gmail.com
Sun Jan 8 22:38:39 EST 2012
On 01/08/2012 06:56 PM, Shawn Guo wrote:
> On Sun, Jan 08, 2012 at 12:55:05PM -0800, Mark Brown wrote:
>> On Sun, Jan 08, 2012 at 10:52:56PM +0800, Shawn Guo wrote:
>>> On Fri, Jan 06, 2012 at 11:25:41AM +0800, Richard Zhao wrote:
>>
>>>> + VDDA-supply = <®_2P5V>;
>>>> + VDDIO-supply = <®_3P3V>;
>>
>>> I would prefer to have them named vdda-supply and vddio-supply. But
>>> I just learnt that they do not work, because sgtl5000 driver
>>> (sound/soc/codecs/sgtl5000.c) has the supply_names in upper case, while
>>> unlike of_node_cmp() is strcasecmp(), of_prop_cmp() is just strcmp().
>>
>>> But the convention on property name is really all using lower case,
>>> and mixing cases there looks odd, so I'm thinking about the changes
>>> below on of_get_regulator().
>>
>>> snprintf(prop_name, 32, "%s-supply", supply);
>>> + while (prop_name[i] && i < 32) {
>>> + prop_name[i] = tolower(prop_name[i]);
>>> + i++;
>>> + }
>>
>> There's two big problems here. One is that we clearly shouldn't be
>> open coding this here but adding a function for it. The other is that
>> this is going to break any existing device tree which has upper cased
>> supplies. If we were going to do something here I'd go with case
>> insensitve matching though I'm not sure it's a real problem.
>
> Ok, let's test device tree maintainers.
>
> Grant, Rob,
>
> Could the problem we are seeing here be a good reason to make the
> following change?
>
> diff --git a/include/linux/of.h b/include/linux/of.h
> index a75a831..c26c20f 100644
> --- a/include/linux/of.h
> +++ b/include/linux/of.h
> @@ -147,7 +147,7 @@ static inline unsigned long of_read_ulong(const __be32 *cell, int size)
> /* Default string compare functions, Allow arch asm/prom.h to override */
> #if !defined(of_compat_cmp)
> #define of_compat_cmp(s1, s2, l) strcasecmp((s1), (s2))
> -#define of_prop_cmp(s1, s2) strcmp((s1), (s2))
> +#define of_prop_cmp(s1, s2) strcasecmp((s1), (s2))
> #define of_node_cmp(s1, s2) strcasecmp((s1), (s2))
> #endif
Device-trees are case sensitive, so I don't think we want to go globally
changing that behavior.
If you want lower case names, then change the sgtl5000 code to lower
case names.
Rob
More information about the linux-arm-kernel
mailing list