All of lore.kernel.org
 help / color / mirror / Atom feed
From: 김은우 <ew.kim@samsung.com>
To: "'Krzysztof Kozlowski'" <krzk@kernel.org>,
	<s.nawrocki@samsung.com>, <lgirdwood@gmail.com>,
	<broonie@kernel.org>, <perex@perex.cz>, <tiwai@suse.com>
Cc: <linux-sound@vger.kernel.org>, <alsa-devel@alsa-project.org>,
	<linux-kernel@vger.kernel.org>
Subject: RE: [PATCH] ASoC: samsung: Implement abox generic structure
Date: Thu, 10 Jul 2025 16:13:57 +0900	[thread overview]
Message-ID: <01a401dbf16a$33fbd0d0$9bf37270$@samsung.com> (raw)
In-Reply-To: <7d2401d6-d897-49d7-a3be-50de0727b037@kernel.org>

Thank you for your review.
We will proceed to remove unnecessary Doxygen comments and logs as suggested.

Based on the feedback provided, we will revise the work accordingly and resubmit it for further review.

> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: Wednesday, July 9, 2025 10:58 PM
> To: ew.kim@samsung.com; s.nawrocki@samsung.com; lgirdwood@gmail.com;
> broonie@kernel.org; perex@perex.cz; tiwai@suse.com
> Cc: linux-sound@vger.kernel.org; alsa-devel@alsa-project.org; linux-
> kernel@vger.kernel.org
> Subject: Re: [PATCH] ASoC: samsung: Implement abox generic structure
> 
> On 09/07/2025 02:10, ew.kim@samsung.com wrote:
> > +/**
> > + * @cnotice
> > + * @prdcode
> > + * @Sub_SW_Component{abox generic}
> > + * @ALM_Link {work item url}
> > + * @purpose "Disbaling the abox generic"
> > + * @logic "Disbale the abox generic"
> > + * \image html
> > + * @params
> > + * @param{in, pdev->dev, struct::device, !NULL}
> > + * @endparam
> > + * @noret
> > + */
> > +static void samsung_abox_generic_remove(struct platform_device *pdev)
> > +{
> > +	struct device *dev = &pdev->dev;
> > +	struct abox_generic_data *data = dev_get_drvdata(dev);
> > +
> > +	dev_info(dev, "%s\n", __func__);
> 
> This is just poor code. Clean it up from all such oddities popular in
> downstream. Look at upstream code. Do you see such code there? No.
> 
> > +
> > +	if (!data) {
> > +		dev_err(dev, "%s: Invalid abox generic data\n", __func__);
> > +		return;
> > +	}
> > +	return;
> > +}
> > +
> > +/**
> > + * @cnotice
> > + * @prdcode
> > + * @Sub_SW_Component{abox generic}
> > + * @ALM_Link {work item url}
> > + * @purpose "shutdown of the abox generic"
> > + * @logic "Disbale the abox hardware by calling the following
> > +function
> > + * pm_runtime_disable(dev)"
> > + * \image html
> > + * @params
> > + * @param{in, pdev->dev, struct:: device, !NULL}
> > + * @endparam
> > + * @noret
> > + */
> > +static void samsung_abox_generic_shutdown(struct platform_device
> > +*pdev) {
> > +	struct device *dev = &pdev->dev;
> > +	struct abox_generic_data *data = dev_get_drvdata(dev);
> > +
> > +	if (!data) {
> > +		dev_err(dev, "%s: Invalid abox generic data\n", __func__);
> > +		return;
> > +	}
> > +	return;
> > +}
> > +
> > +static const struct of_device_id samsung_abox_generic_match[] = {
> > +	{
> > +		.compatible = "samsung,abox_generic",
> > +	},
> > +	{},
> > +};
> > +MODULE_DEVICE_TABLE(of, samsung_abox_generic_match);
> > +
> > +static const struct dev_pm_ops samsung_abox_generic_pm = {
> > +	SET_SYSTEM_SLEEP_PM_OPS(abox_generic_suspend, abox_generic_resume)
> > +};
> > +
> > +struct platform_driver samsung_abox_generic_driver = {
> > +	.probe  = samsung_abox_generic_probe,
> > +	.remove = samsung_abox_generic_remove,
> > +	.shutdown = samsung_abox_generic_shutdown,
> > +	.driver = {
> > +		.name = "samsung-abox-generic",
> > +		.owner = THIS_MODULE,
> 
> So that's indeed 2013 code you upstream. We really want you to clean it up
> before you post some ancient stuff like that.
> 
> 
> > +		.of_match_table = of_match_ptr(samsung_abox_generic_match),
> > +		.pm = &samsung_abox_generic_pm,
> > +	},
> > +};
> > +
> > +module_platform_driver(samsung_abox_generic_driver);
> > +/* Module information */
> 
> Useless comment.
> 
> > +MODULE_AUTHOR("Eunwoo Kim, <ew.kim@samsung.com>");
> > +MODULE_DESCRIPTION("Samsung ASoC A-Box Generic Driver");
> > +MODULE_ALIAS("platform:samsung-abox-generic");
> 
> No, drop. This was raised so many times already...
> 
> > +MODULE_LICENSE("GPL v2");
> > +
> > diff --git
> > a/sound/soc/samsung/auto_abox/generic/include/abox_generic.h
> > b/sound/soc/samsung/auto_abox/generic/include/abox_generic.h
> > new file mode 100644
> > index 000000000000..1c954272e2b5
> > --- /dev/null
> > +++ b/sound/soc/samsung/auto_abox/generic/include/abox_generic.h
> > @@ -0,0 +1,87 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +/*
> > + * ALSA SoC - Samsung ABOX Share Function and Data structure
> > + * for Exynos specific extensions
> > + *
> > + * Copyright (C) 2013-2020 Samsung Electronics Co., Ltd.
> > + *
> > + * EXYNOS - sound/soc/samsung/abox/include/abox_generic.h
> 
> Same with paths. Do you see them anywhere in the kernel?
> 
> > + */
> > +
> > +#ifndef __SND_SOC_ABOX_GENERIC_BASE_H #define
> > +__SND_SOC_ABOX_GENERIC_BASE_H
> > +
> > +#define ABOX_GENERIC_DATA
> 	abox_generic_get_abox_generic_data();
> > +
> > +struct snd_soc_pcm_runtime;
> > +
> > +enum abox_soc_ioctl_cmd {
> > +	ABOX_SOC_IOCTL_GET_NUM_OF_RDMA,
> > +	ABOX_SOC_IOCTL_GET_NUM_OF_WDMA,
> > +	ABOX_SOC_IOCTL_GET_NUM_OF_UAIF,
> > +	ABOX_SOC_IOCTL_GET_SOC_TIMER,
> > +	ABOX_SOC_IOCTL_SET_DMA_BUFFER,
> > +	ABOX_SOC_IOCTL_SET_PP_POINTER,
> > +	ABOX_SOC_IOCTL_SET_PERF_PERIOD,
> > +	ABOX_SOC_IOCTL_CHECK_TIME_MUTEX,
> > +	ABOX_SOC_IOCTL_CHECK_TIME_NO_MUTEX,
> > +	ABOX_SOC_IOCTL_PCM_DUMP_INTR,
> > +	ABOX_SOC_IOCTL_PCM_DUMP_CLOSE,
> > +	ABOX_SOC_IOCTL_PCM_DUMP_ADD_CONTROL,
> > +	ABOX_SOC_IOCTL_MAX
> > +};
> > +
> > +typedef int (*SOC_IOCTL)(struct device *soc_dev, enum
> > +abox_soc_ioctl_cmd cmd, void *data);
> 
> Follow coding style.
> 
> > +
> > +struct abox_generic_data {
> > +	struct platform_device *pdev;
> > +	struct platform_device **pdev_pcm_playback;
> > +	struct platform_device **pdev_pcm_capture;
> > +	unsigned int num_of_pcm_playback;
> > +	unsigned int num_of_pcm_capture;
> > +	unsigned int num_of_i2s_dummy;
> > +	unsigned int num_of_rdma;
> > +	unsigned int num_of_wdma;
> > +	unsigned int num_of_uaif;
> > +	struct device *soc_dev;
> > +	SOC_IOCTL soc_ioctl;
> > +};
> > +
> > +
> > +/************ Internal API ************/
> 
> Then why do you expose it via header?
> 
> > +
> > +struct abox_generic_data *abox_generic_get_abox_generic_data(void);
> > +
> > +int abox_generic_set_dma_buffer(struct device *pcm_dev);
> > +
> > +int abox_generic_request_soc_ioctl(struct device *generic_dev, enum
> abox_soc_ioctl_cmd cmd,
> > +	void *data);
> > +
> > +int abox_generic_set_pp_pointer(struct device *pcm_dev);
> > +
> > +
> > +
> > +
> > +/************ External API ************/
> > +
> > +extern struct device *abox_generic_find_fe_dev_from_rtd(struct
> > +snd_soc_pcm_runtime *be);
> 
> You cannot have external API. All API is internal first.
> 
> > +
> > +extern struct platform_device *abox_generic_get_pcm_platform_dev(int
> pcm_id,
> > +	int stream_type);
> > +
> Best regards,
> Krzysztof



  reply	other threads:[~2025-07-10  7:14 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20250709002150epcas2p467416bdbc16754726599a0cacb1feecc@epcas2p4.samsung.com>
2025-07-09  0:10 ` [PATCH] ASoC: samsung: Implement abox generic structure ew.kim
2025-07-09  8:46   ` Mark Brown
2025-07-10  7:07     ` 김은우
2025-07-09 13:57   ` Krzysztof Kozlowski
2025-07-10  7:13     ` 김은우 [this message]
2025-07-10  7:17       ` Krzysztof Kozlowski
2025-07-09 18:10   ` Christophe JAILLET
2025-07-10  7:19     ` 김은우

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='01a401dbf16a$33fbd0d0$9bf37270$@samsung.com' \
    --to=ew.kim@samsung.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=krzk@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=s.nawrocki@samsung.com \
    --cc=tiwai@suse.com \
    /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.