public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
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

  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