From: Timur Tabi <timur@freescale.com>
To: Shawn Guo <shawn.guo@linaro.org>
Cc: alsa-devel@alsa-project.org,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 4/6] ASoC: fsl: create fsl_utils to accommodate the common functions
Date: Mon, 27 Feb 2012 15:36:48 -0600 [thread overview]
Message-ID: <4F4BF770.3010205@freescale.com> (raw)
In-Reply-To: <1330092582-21180-5-git-send-email-shawn.guo@linaro.org>
Shawn Guo wrote:
> There are some amount of code duplication between mpc8610_hpcd and
"There is"
> ---
> diff --git a/sound/soc/fsl/Makefile b/sound/soc/fsl/Makefile
> index 65087b1..46752af 100644
> --- a/sound/soc/fsl/Makefile
> +++ b/sound/soc/fsl/Makefile
> @@ -8,8 +8,10 @@ obj-$(CONFIG_SND_SOC_P1022_DS) += snd-soc-p1022-ds.o
>
> # Freescale PowerPC SSI/DMA Platform Support
> snd-soc-fsl-ssi-objs := fsl_ssi.o
> +snd-soc-fsl-utils-objs := fsl_utils.o
> snd-soc-fsl-dma-objs := fsl_dma.o
> obj-$(CONFIG_SND_SOC_FSL_SSI) += snd-soc-fsl-ssi.o
> +obj-$(CONFIG_SND_SOC_FSL_UTILS) += snd-soc-fsl-utils.o
> obj-$(CONFIG_SND_SOC_POWERPC_DMA) += snd-soc-fsl-dma.o
I think it would be easier to do this:
obj-$(CONFIG_SND_SOC_FSL_SSI) += snd-soc-fsl-ssi.o snd-soc-fsl-utils.o
obj-$(CONFIG_SND_SOC_POWERPC_DMA) += snd-soc-fsl-dma.o snd-soc-fsl-utils.o
Then you don't need to change the Kconfig.
> +static struct device_node *get_node_by_phandle_name(struct device_node *np,
> + const char *name, const char *compatible)
...
> +static int get_parent_cell_index(struct device_node *np)
I think you should merge these two functions into their callers. There's
not much point in keeping them separate now. That will also allow you to
add dev_err() messages when returning error codes.
> +/**
> + * fsl_asoc_get_codec_dev_name - determine the dev_name for a codec node
Can you add kerneldoc descriptions of the parameters?
* @np: pointer to the I2C device tree node
...
> + *
> + * This function determines the dev_name for an I2C node. This is the name
> + * that would be returned by dev_name() if this device_node were part of a
> + * 'struct device' It's ugly and hackish, but it works.
> + *
> + * The dev_name for such devices include the bus number and I2C address. For
> + * example, "cs4270.0-004f".
> + */
> +int fsl_asoc_get_codec_dev_name(struct device_node *np, char *buf, size_t len)
> +{
> + const u32 *iprop;
> + int addr;
'addr' should be a u32, actually. I'm not sure why I made it a signed
integer.
> +
> +int fsl_asoc_get_dma_channel(struct device_node *ssi_np,
> + const char *name,
> + struct snd_soc_dai_link *dai,
> + unsigned int *dma_channel_id,
> + unsigned int *dma_id)
> +{
Can you add kerneldoc comments to this function?
> +MODULE_AUTHOR("Timur Tabi <timur@freescale.com>");
> +MODULE_DESCRIPTION("Freescale ASoC utility code");
> +MODULE_LICENSE("GPL v2");
Is this really a module?
> diff --git a/sound/soc/fsl/fsl_utils.h b/sound/soc/fsl/fsl_utils.h
> new file mode 100644
> index 0000000..c928a15
> --- /dev/null
> +++ b/sound/soc/fsl/fsl_utils.h
> @@ -0,0 +1,29 @@
> +/**
> + * Freescale ALSA SoC Machine driver utility
> + *
> + * Author: Timur Tabi <timur@freescale.com>
> + *
> + * Copyright 2010 Freescale Semiconductor, Inc.
> + *
> + * This file is licensed under the terms of the GNU General Public License
> + * version 2. This program is licensed "as is" without any warranty of any
> + * kind, whether express or implied.
> + */
> +
> +#ifndef _FSL_UTILS_H
> +#define _FSL_UTILS_H
> +
> +#define DAI_NAME_SIZE 32
> +
> +struct snd_soc_dai_link;
> +struct device_node;
> +
> +extern int fsl_asoc_get_codec_dev_name(struct device_node *np,
> + char *buf, size_t len);
> +extern int fsl_asoc_get_dma_channel(struct device_node *ssi_np,
> + const char *name,
> + struct snd_soc_dai_link *dai,
> + unsigned int *dma_channel_id,
> + unsigned int *dma_id);
No 'extern' for function prototypes, please.
--
Timur Tabi
Linux kernel developer at Freescale
WARNING: multiple messages have this Message-ID (diff)
From: timur@freescale.com (Timur Tabi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/6] ASoC: fsl: create fsl_utils to accommodate the common functions
Date: Mon, 27 Feb 2012 15:36:48 -0600 [thread overview]
Message-ID: <4F4BF770.3010205@freescale.com> (raw)
In-Reply-To: <1330092582-21180-5-git-send-email-shawn.guo@linaro.org>
Shawn Guo wrote:
> There are some amount of code duplication between mpc8610_hpcd and
"There is"
> ---
> diff --git a/sound/soc/fsl/Makefile b/sound/soc/fsl/Makefile
> index 65087b1..46752af 100644
> --- a/sound/soc/fsl/Makefile
> +++ b/sound/soc/fsl/Makefile
> @@ -8,8 +8,10 @@ obj-$(CONFIG_SND_SOC_P1022_DS) += snd-soc-p1022-ds.o
>
> # Freescale PowerPC SSI/DMA Platform Support
> snd-soc-fsl-ssi-objs := fsl_ssi.o
> +snd-soc-fsl-utils-objs := fsl_utils.o
> snd-soc-fsl-dma-objs := fsl_dma.o
> obj-$(CONFIG_SND_SOC_FSL_SSI) += snd-soc-fsl-ssi.o
> +obj-$(CONFIG_SND_SOC_FSL_UTILS) += snd-soc-fsl-utils.o
> obj-$(CONFIG_SND_SOC_POWERPC_DMA) += snd-soc-fsl-dma.o
I think it would be easier to do this:
obj-$(CONFIG_SND_SOC_FSL_SSI) += snd-soc-fsl-ssi.o snd-soc-fsl-utils.o
obj-$(CONFIG_SND_SOC_POWERPC_DMA) += snd-soc-fsl-dma.o snd-soc-fsl-utils.o
Then you don't need to change the Kconfig.
> +static struct device_node *get_node_by_phandle_name(struct device_node *np,
> + const char *name, const char *compatible)
...
> +static int get_parent_cell_index(struct device_node *np)
I think you should merge these two functions into their callers. There's
not much point in keeping them separate now. That will also allow you to
add dev_err() messages when returning error codes.
> +/**
> + * fsl_asoc_get_codec_dev_name - determine the dev_name for a codec node
Can you add kerneldoc descriptions of the parameters?
* @np: pointer to the I2C device tree node
...
> + *
> + * This function determines the dev_name for an I2C node. This is the name
> + * that would be returned by dev_name() if this device_node were part of a
> + * 'struct device' It's ugly and hackish, but it works.
> + *
> + * The dev_name for such devices include the bus number and I2C address. For
> + * example, "cs4270.0-004f".
> + */
> +int fsl_asoc_get_codec_dev_name(struct device_node *np, char *buf, size_t len)
> +{
> + const u32 *iprop;
> + int addr;
'addr' should be a u32, actually. I'm not sure why I made it a signed
integer.
> +
> +int fsl_asoc_get_dma_channel(struct device_node *ssi_np,
> + const char *name,
> + struct snd_soc_dai_link *dai,
> + unsigned int *dma_channel_id,
> + unsigned int *dma_id)
> +{
Can you add kerneldoc comments to this function?
> +MODULE_AUTHOR("Timur Tabi <timur@freescale.com>");
> +MODULE_DESCRIPTION("Freescale ASoC utility code");
> +MODULE_LICENSE("GPL v2");
Is this really a module?
> diff --git a/sound/soc/fsl/fsl_utils.h b/sound/soc/fsl/fsl_utils.h
> new file mode 100644
> index 0000000..c928a15
> --- /dev/null
> +++ b/sound/soc/fsl/fsl_utils.h
> @@ -0,0 +1,29 @@
> +/**
> + * Freescale ALSA SoC Machine driver utility
> + *
> + * Author: Timur Tabi <timur@freescale.com>
> + *
> + * Copyright 2010 Freescale Semiconductor, Inc.
> + *
> + * This file is licensed under the terms of the GNU General Public License
> + * version 2. This program is licensed "as is" without any warranty of any
> + * kind, whether express or implied.
> + */
> +
> +#ifndef _FSL_UTILS_H
> +#define _FSL_UTILS_H
> +
> +#define DAI_NAME_SIZE 32
> +
> +struct snd_soc_dai_link;
> +struct device_node;
> +
> +extern int fsl_asoc_get_codec_dev_name(struct device_node *np,
> + char *buf, size_t len);
> +extern int fsl_asoc_get_dma_channel(struct device_node *ssi_np,
> + const char *name,
> + struct snd_soc_dai_link *dai,
> + unsigned int *dma_channel_id,
> + unsigned int *dma_id);
No 'extern' for function prototypes, please.
--
Timur Tabi
Linux kernel developer at Freescale
next prev parent reply other threads:[~2012-02-27 21:54 UTC|newest]
Thread overview: 164+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-23 6:47 [PATCH 1/4] ASoC: imx: let SND_MXC_SOC_FIQ select FIQ Shawn Guo
2012-02-23 6:47 ` Shawn Guo
2012-02-23 6:47 ` [PATCH 2/4] ASoC: imx: move SND_SOC_AC97_BUS selection down to machine driver Shawn Guo
2012-02-23 6:47 ` Shawn Guo
2012-02-23 6:47 ` [PATCH 3/4] ASoC: imx: initialize dma_params burstsize just in imx-ssi Shawn Guo
2012-02-23 6:47 ` Shawn Guo
2012-02-23 6:47 ` [PATCH 4/4] ASoC: imx: separate imx-pcm bits from imx-ssi driver Shawn Guo
2012-02-23 6:47 ` Shawn Guo
2012-02-23 14:48 ` [PATCH 0/4] ASoC: merge imx into fsl Shawn Guo
2012-02-23 14:48 ` Shawn Guo
2012-02-23 14:48 ` [PATCH 1/4] ASoC: imx: add an explicit Kconfig option for imx-ssi driver Shawn Guo
2012-02-23 14:48 ` Shawn Guo
2012-02-23 15:40 ` Timur Tabi
2012-02-23 15:40 ` Timur Tabi
2012-02-24 1:28 ` Shawn Guo
2012-02-24 1:28 ` Shawn Guo
2012-02-24 2:59 ` Tabi Timur-B04825
2012-02-24 2:59 ` Tabi Timur-B04825
2012-02-24 3:37 ` Shawn Guo
2012-02-24 3:37 ` Shawn Guo
2012-02-23 14:48 ` [PATCH 2/4] ASoC: fsl: separate SSI and DMA Kconfig options Shawn Guo
2012-02-23 14:48 ` Shawn Guo
2012-02-23 14:48 ` [PATCH 3/4] ASoC: imx: merge sound/soc/imx into sound/soc/fsl Shawn Guo
2012-02-23 14:48 ` Shawn Guo
2012-02-23 14:48 ` [PATCH 4/4] ASoC: fsl: make fsl_ssi driver compilable on ARM/IMX Shawn Guo
2012-02-23 14:48 ` Shawn Guo
2012-02-23 15:24 ` Sergei Shtylyov
2012-02-23 15:24 ` Sergei Shtylyov
2012-02-23 15:44 ` Timur Tabi
2012-02-23 15:44 ` Timur Tabi
2012-02-23 16:52 ` Russell King - ARM Linux
2012-02-23 16:52 ` Russell King - ARM Linux
2012-02-23 17:04 ` Timur Tabi
2012-02-23 17:04 ` Timur Tabi
2012-02-23 17:14 ` Russell King - ARM Linux
2012-02-23 17:14 ` Russell King - ARM Linux
2012-02-23 19:01 ` Trent Piepho
2012-02-23 19:01 ` [alsa-devel] " Trent Piepho
2012-02-24 21:29 ` Timur Tabi
2012-02-24 21:29 ` Timur Tabi
2012-02-24 21:54 ` Russell King - ARM Linux
2012-02-24 21:54 ` Russell King - ARM Linux
2012-02-24 22:00 ` Timur Tabi
2012-02-24 22:00 ` Timur Tabi
2012-02-24 22:35 ` Russell King - ARM Linux
2012-02-24 22:35 ` Russell King - ARM Linux
2012-02-24 23:05 ` Timur Tabi
2012-02-24 23:05 ` Timur Tabi
2012-02-24 23:15 ` Russell King - ARM Linux
2012-02-24 23:15 ` Russell King - ARM Linux
2012-02-24 23:22 ` Timur Tabi
2012-02-24 23:22 ` Timur Tabi
2012-02-24 23:28 ` Russell King - ARM Linux
2012-02-24 23:28 ` Russell King - ARM Linux
2012-02-24 23:38 ` Timur Tabi
2012-02-24 23:38 ` Timur Tabi
2012-02-24 14:09 ` [PATCH 0/6] ASoC: a few cleanups on sound/soc/fsl Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-24 14:02 ` Mark Brown
2012-02-24 14:02 ` Mark Brown
2012-02-24 14:23 ` Shawn Guo
2012-02-24 14:23 ` Shawn Guo
2012-02-24 14:17 ` Mark Brown
2012-02-24 14:17 ` Mark Brown
2012-02-24 23:21 ` Shawn Guo
2012-02-24 23:21 ` Shawn Guo
2012-02-24 23:14 ` Timur Tabi
2012-02-24 23:14 ` Timur Tabi
2012-02-25 0:03 ` Shawn Guo
2012-02-25 0:03 ` Shawn Guo
2012-02-25 1:39 ` Tabi Timur-B04825
2012-02-25 1:39 ` Tabi Timur-B04825
2012-02-25 10:17 ` Russell King - ARM Linux
2012-02-25 10:17 ` Russell King - ARM Linux
2012-02-25 11:44 ` Mark Brown
2012-02-25 11:44 ` Mark Brown
2012-02-25 12:12 ` Russell King - ARM Linux
2012-02-25 12:12 ` Russell King - ARM Linux
2012-02-25 13:58 ` Mark Brown
2012-02-25 13:58 ` Mark Brown
2012-02-25 12:16 ` Shawn Guo
2012-02-25 12:16 ` Shawn Guo
2012-02-24 23:23 ` Russell King - ARM Linux
2012-02-24 23:23 ` Russell King - ARM Linux
2012-02-25 0:06 ` Shawn Guo
2012-02-25 0:06 ` Shawn Guo
2012-02-24 14:09 ` [PATCH 1/6] ASoC: fsl: correct get_dma_channel parameter name Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-27 20:27 ` Timur Tabi
2012-02-27 20:27 ` Timur Tabi
2012-02-28 12:34 ` Mark Brown
2012-02-28 12:34 ` Mark Brown
2012-02-24 14:09 ` [PATCH 2/6] ASoC: fsl: align mpc8610_hpcd with p1022_ds on getting codec node Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-27 20:31 ` Timur Tabi
2012-02-27 20:31 ` Timur Tabi
2012-02-28 12:35 ` Mark Brown
2012-02-28 12:35 ` Mark Brown
2012-02-24 14:09 ` [PATCH 3/6] ASoC: Remove unnecessary -codec from cs4270 driver name Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-27 21:21 ` Timur Tabi
2012-02-27 21:21 ` Timur Tabi
2012-02-28 12:35 ` Mark Brown
2012-02-28 12:35 ` Mark Brown
2012-02-24 14:09 ` [PATCH 4/6] ASoC: fsl: create fsl_utils to accommodate the common functions Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-27 18:15 ` Timur Tabi
2012-02-27 18:15 ` Timur Tabi
2012-02-27 21:36 ` Timur Tabi [this message]
2012-02-27 21:36 ` Timur Tabi
2012-02-28 2:15 ` Shawn Guo
2012-02-28 2:15 ` Shawn Guo
2012-02-28 2:15 ` Tabi Timur-B04825
2012-02-28 2:15 ` Tabi Timur-B04825
2012-02-28 16:51 ` Timur Tabi
2012-02-28 16:51 ` Timur Tabi
2012-02-24 14:09 ` [PATCH 5/6] ASoC: fsl: use platform_device_id table to match p1022_ds device Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-27 21:39 ` Timur Tabi
2012-02-27 21:39 ` Timur Tabi
2012-02-27 21:39 ` Timur Tabi
2012-02-27 21:39 ` Timur Tabi
2012-02-28 1:52 ` Shawn Guo
2012-02-28 1:52 ` Shawn Guo
2012-02-24 14:09 ` [PATCH 6/6] ASoC: fsl: check property 'compatible' for the machine name Shawn Guo
2012-02-24 14:09 ` Shawn Guo
2012-02-24 14:12 ` Mark Brown
2012-02-24 14:12 ` Mark Brown
2012-02-24 16:30 ` Timur Tabi
2012-02-24 16:30 ` Timur Tabi
2012-02-25 0:09 ` Shawn Guo
2012-02-25 0:09 ` Shawn Guo
2012-02-25 11:39 ` Mark Brown
2012-02-25 11:39 ` Mark Brown
2012-02-25 1:28 ` Shawn Guo
2012-02-25 1:28 ` Shawn Guo
2012-02-25 11:42 ` Mark Brown
2012-02-25 11:42 ` Mark Brown
2012-02-25 13:09 ` Shawn Guo
2012-02-25 13:09 ` Shawn Guo
2012-02-25 13:27 ` Mark Brown
2012-02-25 13:27 ` Mark Brown
2012-02-25 14:03 ` Tabi Timur-B04825
2012-02-25 14:03 ` Tabi Timur-B04825
2012-02-24 16:32 ` Timur Tabi
2012-02-24 16:32 ` Timur Tabi
2012-02-24 23:23 ` Shawn Guo
2012-02-24 23:23 ` Shawn Guo
2012-02-24 23:22 ` Timur Tabi
2012-02-24 23:22 ` Timur Tabi
2012-02-27 21:54 ` Timur Tabi
2012-02-27 21:54 ` Timur Tabi
2012-02-28 1:50 ` Shawn Guo
2012-02-28 1:50 ` Shawn Guo
2012-02-28 2:12 ` Tabi Timur-B04825
2012-02-28 2:12 ` Tabi Timur-B04825
2012-02-28 3:13 ` Shawn Guo
2012-02-28 3:13 ` Shawn Guo
2012-02-28 3:42 ` Tabi Timur-B04825
2012-02-28 3:42 ` Tabi Timur-B04825
2012-02-28 5:35 ` Shawn Guo
2012-02-28 5:35 ` Shawn Guo
2012-02-27 20:28 ` [PATCH 0/6] ASoC: a few cleanups on sound/soc/fsl Timur Tabi
2012-02-27 20:28 ` Timur Tabi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F4BF770.3010205@freescale.com \
--to=timur@freescale.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=s.hauer@pengutronix.de \
--cc=shawn.guo@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.