linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sagar Dharia <sdharia@codeaurora.org>
To: Mark Brown <broonie@kernel.org>
Cc: gregkh@linuxfoundation.org, bp@suse.de, poeschel@lemonage.de,
	treding@nvidia.com, gong.chen@linux.intel.com,
	andreas.noever@gmail.com, alan@linux.intel.com,
	mathieu.poirier@linaro.org, daniel@ffwll.ch, oded.gabbay@amd.com,
	jkosina@suse.cz, sharon.dvir1@mail.huji.ac.il, joe@perches.com,
	davem@davemloft.net, james.hogan@imgtec.com,
	michael.opdenacker@free-electrons.com,
	daniel.thompson@linaro.org, linux-kernel@vger.kernel.org,
	nkaje@codeaurora.org, kheitke@audience.com,
	mlocke@codeaurora.org, agross@codeaurora.org,
	linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH V2 1/6] SLIMbus: Device management on SLIMbus
Date: Wed, 17 Jun 2015 11:36:06 -0600	[thread overview]
Message-ID: <5581B006.6070804@codeaurora.org> (raw)
In-Reply-To: <20150617131609.GG3214@sirena.org.uk>

On 6/17/2015 7:16 AM, Mark Brown wrote:
> On Tue, Jun 16, 2015 at 07:45:59PM -0600, Sagar Dharia wrote:
>
>> +	if (status) {
>> +		slim_dev->driver = NULL;
>> +	} else if (driver->device_up) {
>> +		ctrl = slim_dev->ctrl;
>> +		queue_work(ctrl->wq, &slim_dev->wd);
>> +	}
> Nothing ever cleans this work up if it didn't manage to run or
> complete.
>
>> +static void slim_report(struct work_struct *work)
>> +{
>> +	struct slim_driver *sbdrv;
>> +	struct slim_device *sbdev = container_of(work, struct slim_device, wd);
>> +
>> +	if (!sbdev->dev.driver)
>> +		return;
> So we just forget about the device if we don't have a driver for it?
If device comes up before driver (e.g. dynamic module driver, or 
late-init driver), then to begin with: this doesn't do anything.
But once the driver-binding happens and probe succeeds, we queue 
device_up again.
>
>> +	/* check if device-up or down needs to be called */
>> +	if ((!sbdev->reported && !sbdev->notified) ||
>> +	    (sbdev->reported && sbdev->notified))
>> +		return;
> No locking here?
You are right, first I thought this was only touched in workqueue 
(singlethreaded), but this is also touched from logical-address 
assignment, driver removal etc.
I will add device-level lock for these.
Thanks
Sagar
>
>> +/**
>> + * slim_ctrl_add_boarddevs: Add devices registered by board-info
>> + * @ctrl: Controller to which these devices are to be added to.
>> + * This API is called by controller when it is up and running.
>> + * If devices on a controller were registered before controller,
>> + * this will make sure that they get probed when controller is up.
>> + */
>> +void slim_ctrl_add_boarddevs(struct slim_controller *ctrl)
> My concerns about the split here still remain.


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

  reply	other threads:[~2015-06-17 17:36 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-17  1:45 [PATCH V2 0/6] Introduce framework for SLIMbus device drivers Sagar Dharia
2015-06-17  1:45 ` [PATCH V2 1/6] SLIMbus: Device management on SLIMbus Sagar Dharia
2015-06-17  3:38   ` Joe Perches
2015-06-17 13:16   ` Mark Brown
2015-06-17 17:36     ` Sagar Dharia [this message]
2015-06-18 21:39   ` Srinivas Kandagatla
2015-06-19  8:22   ` Daniel Thompson
2015-06-17  1:46 ` [PATCH V2 2/6] of/slimbus: OF helper for SLIMbus Sagar Dharia
2015-06-17 13:09   ` Mark Brown
2015-06-17 17:01     ` Sagar Dharia
2015-06-17  1:46 ` [PATCH V2 3/6] slimbus: Add messaging APIs to slimbus framework Sagar Dharia
2015-06-17  1:46 ` [PATCH V2 4/6] slim: qcom: Add Qualcomm Slimbus controller driver Sagar Dharia
2015-06-17 13:53   ` Mark Brown
2015-06-28 19:13     ` Sagar Dharia
2015-06-17  1:46 ` [PATCH V2 5/6] slimbus: Add support for 'clock-pause' feature Sagar Dharia
2015-06-17  1:46 ` [PATCH V2 6/6] slim: qcom: Add runtime-pm support using clock-pause feature Sagar Dharia

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=5581B006.6070804@codeaurora.org \
    --to=sdharia@codeaurora.org \
    --cc=agross@codeaurora.org \
    --cc=alan@linux.intel.com \
    --cc=andreas.noever@gmail.com \
    --cc=bp@suse.de \
    --cc=broonie@kernel.org \
    --cc=daniel.thompson@linaro.org \
    --cc=daniel@ffwll.ch \
    --cc=davem@davemloft.net \
    --cc=gong.chen@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=james.hogan@imgtec.com \
    --cc=jkosina@suse.cz \
    --cc=joe@perches.com \
    --cc=kheitke@audience.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=michael.opdenacker@free-electrons.com \
    --cc=mlocke@codeaurora.org \
    --cc=nkaje@codeaurora.org \
    --cc=oded.gabbay@amd.com \
    --cc=poeschel@lemonage.de \
    --cc=sharon.dvir1@mail.huji.ac.il \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).