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:36 UTC|newest]
Thread overview: 82+ 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 ` [PATCH 2/4] ASoC: imx: move SND_SOC_AC97_BUS selection down to machine driver 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 ` [PATCH 4/4] ASoC: imx: separate imx-pcm bits from imx-ssi driver Shawn Guo
2012-02-23 14:48 ` [PATCH 0/4] ASoC: merge imx into fsl 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 15:40 ` Timur Tabi
2012-02-24 1:28 ` Shawn Guo
2012-02-24 2:59 ` Tabi Timur-B04825
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 ` [PATCH 3/4] ASoC: imx: merge sound/soc/imx into sound/soc/fsl 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 15:24 ` Sergei Shtylyov
2012-02-23 15:44 ` Timur Tabi
2012-02-23 16:52 ` Russell King - ARM Linux
2012-02-23 17:04 ` Timur Tabi
2012-02-23 17:14 ` Russell King - ARM Linux
2012-02-23 19:01 ` [alsa-devel] " Trent Piepho
2012-02-24 21:29 ` Timur Tabi
2012-02-24 21:54 ` Russell King - ARM Linux
2012-02-24 22:00 ` Timur Tabi
2012-02-24 22:35 ` Russell King - ARM Linux
2012-02-24 23:05 ` Timur Tabi
2012-02-24 23:15 ` Russell King - ARM Linux
2012-02-24 23:22 ` Timur Tabi
2012-02-24 23:28 ` Russell King - ARM Linux
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:02 ` Mark Brown
2012-02-24 14:23 ` Shawn Guo
2012-02-24 14:17 ` Mark Brown
2012-02-24 23:21 ` Shawn Guo
2012-02-24 23:14 ` Timur Tabi
2012-02-25 0:03 ` Shawn Guo
2012-02-25 1:39 ` Tabi Timur-B04825
2012-02-25 10:17 ` Russell King - ARM Linux
2012-02-25 11:44 ` Mark Brown
2012-02-25 12:12 ` Russell King - ARM Linux
2012-02-25 13:58 ` Mark Brown
2012-02-25 12:16 ` Shawn Guo
2012-02-24 23:23 ` Russell King - ARM Linux
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-27 20:27 ` Timur Tabi
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-27 20:31 ` Timur Tabi
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-27 21:21 ` Timur Tabi
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-27 18:15 ` Timur Tabi
2012-02-27 21:36 ` Timur Tabi [this message]
2012-02-28 2:15 ` Shawn Guo
2012-02-28 2:15 ` Tabi Timur-B04825
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-27 21:39 ` Timur Tabi
2012-02-27 21:39 ` Timur Tabi
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:12 ` Mark Brown
2012-02-24 16:30 ` Timur Tabi
2012-02-25 0:09 ` Shawn Guo
2012-02-25 11:39 ` Mark Brown
2012-02-25 1:28 ` Shawn Guo
2012-02-25 11:42 ` Mark Brown
2012-02-25 13:09 ` Shawn Guo
2012-02-25 13:27 ` Mark Brown
2012-02-25 14:03 ` Tabi Timur-B04825
2012-02-24 16:32 ` Timur Tabi
2012-02-24 23:23 ` Shawn Guo
2012-02-24 23:22 ` Timur Tabi
2012-02-27 21:54 ` Timur Tabi
2012-02-28 1:50 ` Shawn Guo
2012-02-28 2:12 ` Tabi Timur-B04825
2012-02-28 3:13 ` Shawn Guo
2012-02-28 3:42 ` Tabi Timur-B04825
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
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$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox