From: Vinod Koul <vinod.koul@intel.com>
To: srinivas.kandagatla@linaro.org
Cc: mark.rutland@arm.com, alsa-devel@alsa-project.org,
michael.opdenacker@free-electrons.com, poeschel@lemonage.de,
andreas.noever@gmail.com, arnd@arndb.de, treding@nvidia.com,
devicetree@vger.kernel.org, james.hogan@imgtec.com,
pawel.moll@arm.com, linux-arm-msm@vger.kernel.org,
sharon.dvir1@mail.huji.ac.il, robh+dt@kernel.org,
sdharia@codeaurora.org, alan@linux.intel.com, bp@suse.de,
mathieu.poirier@linaro.org, gregkh@linuxfoundation.org,
linux-kernel@vger.kernel.org, broonie@kernel.org,
daniel@ffwll.ch, jkosina@suse.cz, joe@perches.com,
davem@davemloft.net
Subject: Re: [PATCH v7 04/13] slimbus: core: Add slim controllers support
Date: Thu, 16 Nov 2017 22:12:33 +0530 [thread overview]
Message-ID: <20171116164233.GB3187@localhost> (raw)
In-Reply-To: <20171115141043.29202-5-srinivas.kandagatla@linaro.org>
On Wed, Nov 15, 2017 at 02:10:34PM +0000, srinivas.kandagatla@linaro.org wrote:
> +static void slim_dev_release(struct device *dev)
> +{
> + struct slim_device *sbdev = to_slim_device(dev);
> +
> + put_device(sbdev->ctrl->dev);
which device would that be?
> +static int slim_add_device(struct slim_controller *ctrl,
> + struct slim_device *sbdev,
> + struct device_node *node)
> +{
> + sbdev->dev.bus = &slimbus_bus;
> + sbdev->dev.parent = ctrl->dev;
> + sbdev->dev.release = slim_dev_release;
> + sbdev->dev.driver = NULL;
> + sbdev->ctrl = ctrl;
> +
> + dev_set_name(&sbdev->dev, "%x:%x:%x:%x",
> + sbdev->e_addr.manf_id,
> + sbdev->e_addr.prod_code,
> + sbdev->e_addr.dev_index,
> + sbdev->e_addr.instance);
> +
> + get_device(ctrl->dev);
is this controller device and you ensuring it doesnt go away while you have
slaves on it?
> +static struct slim_device *slim_alloc_device(struct slim_controller *ctrl,
> + struct slim_eaddr *eaddr,
> + struct device_node *node)
> +{
> + struct slim_device *sbdev;
> + int ret;
> +
> + sbdev = kzalloc(sizeof(struct slim_device), GFP_KERNEL);
Usual kernel way of doing is kzalloc(*sbdev)
> +void slim_report_absent(struct slim_device *sbdev)
> +{
> + struct slim_controller *ctrl = sbdev->ctrl;
> +
> + if (!ctrl)
> + return;
> +
> + /* invalidate logical addresses */
> + mutex_lock(&ctrl->lock);
> + sbdev->is_laddr_valid = false;
> + mutex_unlock(&ctrl->lock);
> +
> + ida_simple_remove(&ctrl->laddr_ida, sbdev->laddr);
> + slim_device_update_status(sbdev, SLIM_DEVICE_STATUS_DOWN);
> +}
> +EXPORT_SYMBOL_GPL(slim_report_absent);
Do you have APIs for report present too, if so why not add te status in
argument as you may have common handling
> +static int slim_device_alloc_laddr(struct slim_device *sbdev,
> + u8 *laddr, bool report_present)
> +{
> + struct slim_controller *ctrl = sbdev->ctrl;
> + int ret;
> +
> + mutex_lock(&ctrl->lock);
> + if (ctrl->get_laddr) {
> + ret = ctrl->get_laddr(ctrl, &sbdev->e_addr, laddr);
> + if (ret < 0)
> + goto err;
> + } else if (report_present) {
> + ret = ida_simple_get(&ctrl->laddr_ida,
> + 0, SLIM_LA_MANAGER - 1, GFP_KERNEL);
> + if (ret < 0)
> + goto err;
> +
> + *laddr = ret;
> + } else {
> + ret = -EINVAL;
> + goto err;
> + }
> +
> + if (ctrl->set_laddr) {
> + ret = ctrl->set_laddr(ctrl, &sbdev->e_addr, *laddr);
> + if (ret) {
> + ret = -EINVAL;
> + goto err;
> + }
> + }
> +
> + sbdev->laddr = *laddr;
if you have this in sbdev, then why have this as an arg also?
> + sbdev->is_laddr_valid = true;
shouldn't non-zero value signify that?
--
~Vinod
WARNING: multiple messages have this Message-ID (diff)
From: Vinod Koul <vinod.koul@intel.com>
To: srinivas.kandagatla@linaro.org
Cc: gregkh@linuxfoundation.org, broonie@kernel.org,
alsa-devel@alsa-project.org, sdharia@codeaurora.org, bp@suse.de,
poeschel@lemonage.de, treding@nvidia.com,
andreas.noever@gmail.com, alan@linux.intel.com,
mathieu.poirier@linaro.org, daniel@ffwll.ch, jkosina@suse.cz,
sharon.dvir1@mail.huji.ac.il, joe@perches.com,
davem@davemloft.net, james.hogan@imgtec.com,
michael.opdenacker@free-electrons.com, robh+dt@kernel.org,
pawel.moll@arm.com, mark.rutland@arm.com,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org, arnd@arndb.de
Subject: Re: [PATCH v7 04/13] slimbus: core: Add slim controllers support
Date: Thu, 16 Nov 2017 22:12:33 +0530 [thread overview]
Message-ID: <20171116164233.GB3187@localhost> (raw)
In-Reply-To: <20171115141043.29202-5-srinivas.kandagatla@linaro.org>
On Wed, Nov 15, 2017 at 02:10:34PM +0000, srinivas.kandagatla@linaro.org wrote:
> +static void slim_dev_release(struct device *dev)
> +{
> + struct slim_device *sbdev = to_slim_device(dev);
> +
> + put_device(sbdev->ctrl->dev);
which device would that be?
> +static int slim_add_device(struct slim_controller *ctrl,
> + struct slim_device *sbdev,
> + struct device_node *node)
> +{
> + sbdev->dev.bus = &slimbus_bus;
> + sbdev->dev.parent = ctrl->dev;
> + sbdev->dev.release = slim_dev_release;
> + sbdev->dev.driver = NULL;
> + sbdev->ctrl = ctrl;
> +
> + dev_set_name(&sbdev->dev, "%x:%x:%x:%x",
> + sbdev->e_addr.manf_id,
> + sbdev->e_addr.prod_code,
> + sbdev->e_addr.dev_index,
> + sbdev->e_addr.instance);
> +
> + get_device(ctrl->dev);
is this controller device and you ensuring it doesnt go away while you have
slaves on it?
> +static struct slim_device *slim_alloc_device(struct slim_controller *ctrl,
> + struct slim_eaddr *eaddr,
> + struct device_node *node)
> +{
> + struct slim_device *sbdev;
> + int ret;
> +
> + sbdev = kzalloc(sizeof(struct slim_device), GFP_KERNEL);
Usual kernel way of doing is kzalloc(*sbdev)
> +void slim_report_absent(struct slim_device *sbdev)
> +{
> + struct slim_controller *ctrl = sbdev->ctrl;
> +
> + if (!ctrl)
> + return;
> +
> + /* invalidate logical addresses */
> + mutex_lock(&ctrl->lock);
> + sbdev->is_laddr_valid = false;
> + mutex_unlock(&ctrl->lock);
> +
> + ida_simple_remove(&ctrl->laddr_ida, sbdev->laddr);
> + slim_device_update_status(sbdev, SLIM_DEVICE_STATUS_DOWN);
> +}
> +EXPORT_SYMBOL_GPL(slim_report_absent);
Do you have APIs for report present too, if so why not add te status in
argument as you may have common handling
> +static int slim_device_alloc_laddr(struct slim_device *sbdev,
> + u8 *laddr, bool report_present)
> +{
> + struct slim_controller *ctrl = sbdev->ctrl;
> + int ret;
> +
> + mutex_lock(&ctrl->lock);
> + if (ctrl->get_laddr) {
> + ret = ctrl->get_laddr(ctrl, &sbdev->e_addr, laddr);
> + if (ret < 0)
> + goto err;
> + } else if (report_present) {
> + ret = ida_simple_get(&ctrl->laddr_ida,
> + 0, SLIM_LA_MANAGER - 1, GFP_KERNEL);
> + if (ret < 0)
> + goto err;
> +
> + *laddr = ret;
> + } else {
> + ret = -EINVAL;
> + goto err;
> + }
> +
> + if (ctrl->set_laddr) {
> + ret = ctrl->set_laddr(ctrl, &sbdev->e_addr, *laddr);
> + if (ret) {
> + ret = -EINVAL;
> + goto err;
> + }
> + }
> +
> + sbdev->laddr = *laddr;
if you have this in sbdev, then why have this as an arg also?
> + sbdev->is_laddr_valid = true;
shouldn't non-zero value signify that?
--
~Vinod
next prev parent reply other threads:[~2017-11-16 16:39 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-15 14:10 [PATCH v7 00/13] Introduce framework for SLIMbus device driver srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A
2017-11-15 14:10 ` srinivas.kandagatla
2017-11-15 14:10 ` [PATCH v7 01/13] Documentation: Add SLIMbus summary srinivas.kandagatla
2017-11-15 14:10 ` srinivas.kandagatla
2017-11-15 14:10 ` [PATCH v7 02/13] dt-bindings: Add SLIMbus bindings srinivas.kandagatla
2017-11-15 14:10 ` srinivas.kandagatla
2017-11-16 5:15 ` Rob Herring
2017-11-16 5:15 ` Rob Herring
2017-11-23 7:41 ` Charles Keepax
2017-11-23 7:41 ` Charles Keepax
2017-11-16 13:09 ` Vinod Koul
2017-11-16 13:40 ` Srinivas Kandagatla
2017-11-16 13:40 ` Srinivas Kandagatla
[not found] ` <a32232fc-3995-60f6-878e-76aaed4c52d6-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-11-17 3:55 ` Vinod Koul
2017-11-17 3:55 ` Vinod Koul
2017-11-15 14:10 ` [PATCH v7 03/13] slimbus: Add SLIMbus bus type srinivas.kandagatla
2017-11-16 12:25 ` Mark Brown
2017-11-16 12:25 ` Mark Brown
2017-11-16 13:18 ` Vinod Koul
2017-11-16 13:18 ` [alsa-devel] " Vinod Koul
2017-11-16 13:40 ` Srinivas Kandagatla
2017-11-16 13:40 ` [alsa-devel] " Srinivas Kandagatla
[not found] ` <e2fa6b56-965d-74e7-af2f-77baf0f50901-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-11-16 16:14 ` Vinod Koul
2017-11-16 16:14 ` Vinod Koul
2017-11-16 16:13 ` Srinivas Kandagatla
2017-11-16 16:13 ` [alsa-devel] " Srinivas Kandagatla
2017-11-15 14:10 ` [PATCH v7 04/13] slimbus: core: Add slim controllers support srinivas.kandagatla
2017-11-16 16:42 ` Vinod Koul [this message]
2017-11-16 16:42 ` Vinod Koul
2017-11-16 17:29 ` Srinivas Kandagatla
2017-11-16 17:29 ` Srinivas Kandagatla
2017-11-17 4:42 ` Vinod Koul
2017-11-17 8:13 ` Greg KH
2017-11-20 6:47 ` Srinivas Kandagatla
[not found] ` <64797182-9244-e6e7-8044-dbc404cdda7c-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-11-27 5:52 ` Vinod Koul
2017-11-27 5:52 ` Vinod Koul
2017-11-15 14:10 ` [PATCH v7 05/13] slimbus: core: add support to device tree helper srinivas.kandagatla
[not found] ` <20171115141043.29202-6-srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-11-17 7:11 ` [alsa-devel] " Vinod Koul
2017-11-17 7:11 ` Vinod Koul
2017-11-15 14:10 ` [PATCH v7 07/13] slimbus: Add support for 'clock-pause' feature srinivas.kandagatla
2017-11-15 14:10 ` srinivas.kandagatla
2017-11-23 7:28 ` Charles Keepax
2017-11-23 7:28 ` Charles Keepax
[not found] ` <20171123072800.z2pkmelom374zr63-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2017-11-24 14:39 ` Srinivas Kandagatla
2017-11-24 14:39 ` Srinivas Kandagatla
2017-11-15 14:10 ` [PATCH v7 08/13] regmap: add SLIMbus support srinivas.kandagatla
2017-11-15 14:10 ` srinivas.kandagatla
2017-11-23 7:49 ` Charles Keepax
2017-11-23 7:49 ` Charles Keepax
2017-11-24 14:39 ` Srinivas Kandagatla
2017-11-15 14:10 ` [PATCH v7 09/13] slimbus: core: add common defines required for controllers srinivas.kandagatla
2017-11-15 14:10 ` srinivas.kandagatla
2017-11-15 14:10 ` [PATCH v7 10/13] dt-bindings: Add qcom slimbus controller bindings srinivas.kandagatla
2017-11-16 5:19 ` Rob Herring
2017-11-16 5:19 ` Rob Herring
2017-11-16 9:42 ` Srinivas Kandagatla
2017-11-16 9:42 ` Srinivas Kandagatla
2017-11-15 14:10 ` [PATCH v7 12/13] slimbus: qcom: Add runtime-pm support using clock-pause srinivas.kandagatla
2017-11-23 10:17 ` Charles Keepax
2017-11-23 10:17 ` Charles Keepax
2017-11-24 14:39 ` Srinivas Kandagatla
[not found] ` <20171115141043.29202-1-srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-11-15 14:10 ` [PATCH v7 06/13] slimbus: Add messaging APIs to slimbus framework srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A
2017-11-15 14:10 ` srinivas.kandagatla
[not found] ` <20171115141043.29202-7-srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2017-11-17 7:48 ` Vinod Koul
2017-11-17 7:48 ` Vinod Koul
2017-11-20 6:47 ` Srinivas Kandagatla
2017-11-27 5:56 ` Vinod Koul
2017-11-28 7:18 ` Srinivas Kandagatla
2017-11-28 7:18 ` Srinivas Kandagatla
2017-11-15 14:10 ` [PATCH v7 11/13] slimbus: qcom: Add Qualcomm Slimbus controller driver srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A
2017-11-15 14:10 ` srinivas.kandagatla
2017-11-23 10:07 ` Charles Keepax
2017-11-23 10:07 ` Charles Keepax
2017-11-23 16:42 ` Jonathan Neuschäfer
2017-11-24 14:40 ` Srinivas Kandagatla
2017-11-24 14:39 ` Srinivas Kandagatla
2017-11-15 14:10 ` [PATCH v7 13/13] MAINTAINERS: Add SLIMbus maintainer srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A
2017-11-15 14:10 ` srinivas.kandagatla
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=20171116164233.GB3187@localhost \
--to=vinod.koul@intel.com \
--cc=alan@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=andreas.noever@gmail.com \
--cc=arnd@arndb.de \
--cc=bp@suse.de \
--cc=broonie@kernel.org \
--cc=daniel@ffwll.ch \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=james.hogan@imgtec.com \
--cc=jkosina@suse.cz \
--cc=joe@perches.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mathieu.poirier@linaro.org \
--cc=michael.opdenacker@free-electrons.com \
--cc=pawel.moll@arm.com \
--cc=poeschel@lemonage.de \
--cc=robh+dt@kernel.org \
--cc=sdharia@codeaurora.org \
--cc=sharon.dvir1@mail.huji.ac.il \
--cc=srinivas.kandagatla@linaro.org \
--cc=treding@nvidia.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.