[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <57111420.8060208@codeaurora.org>
Date: Fri, 15 Apr 2016 10:17:36 -0600
From: Sagar Dharia <sdharia@...eaurora.org>
To: Mark Brown <broonie@...nel.org>, robh@...nel.org
Cc: gregkh@...uxfoundation.org, bp@...e.de, poeschel@...onage.de,
treding@...dia.com, gong.chen@...ux.intel.com,
andreas.noever@...il.com, alan@...ux.intel.com,
mathieu.poirier@...aro.org, daniel@...ll.ch, oded.gabbay@....com,
jkosina@...e.cz, sharon.dvir1@...l.huji.ac.il, joe@...ches.com,
davem@...emloft.net, james.hogan@...tec.com,
michael.opdenacker@...e-electrons.com, daniel.thompson@...aro.org,
robh+dt@...nel.org, pawel.moll@....com, mark.rutland@....com,
ijc+devicetree@...lion.org.uk, galak@...eaurora.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
kheitke@...ience.com, mlocke@...eaurora.org, agross@...eaurora.org,
linux-arm-msm@...r.kernel.org
Subject: Re: [PATCH V4 4/6] slim: qcom: Add Qualcomm Slimbus controller driver
Hello Mark
Apologies for a late reply. I will incorporate most of your comments.
Please see inline response for 2 comments:
>> + ret = devm_request_irq(&pdev->dev, dev->irq, msm_slim_interrupt,
>> + IRQF_TRIGGER_HIGH, "msm_slim_irq", dev);
>> + if (ret) {
>> + dev_err(&pdev->dev, "request IRQ failed\n");
>> + goto err_request_irq_failed;
>> + }
> Are you sure this is safe and we don't deallocate things the interrupt
> handler uses before we disable the interrupt?
Since clock is not enabled before this step, we won't be getting any
interrupts from HW at this stage.
>> + /* Register with framework before enabling frame, clock */
>> + ret = slim_register_controller(&dev->ctrl);
>> + if (ret) {
>> + dev_err(dev->dev, "error adding controller\n");
>> + goto err_ctrl_failed;
>> + }
> Should we have a devm_ version of slim_register_controller()? I'd also
> expect this to be the last thing we do in probe, things may start using
> the device before we've finished initializing it.
register_controller also allocates controller's TX/RX ring buffers.
These rings are needed when devices start
reporting present on the bus once they are enabled.
So register_controller needs to be done before enabling any devices.
All steps after register_controller in this function are related to
enabling various internal component devices
(e.g. framer, interface, manager devices) of this slimbus controller.
Thank you for your comments
Sagar
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
Powered by blists - more mailing lists