[alsa-devel] [PATCH v7 04/13] slimbus: core: Add slim controllers support
Srinivas Kandagatla
srinivas.kandagatla at linaro.org
Mon Nov 20 07:47:58 CET 2017
On 17/11/17 08:13, Greg KH wrote:
> On Fri, Nov 17, 2017 at 10:12:22AM +0530, Vinod Koul wrote:
>> On Thu, Nov 16, 2017 at 05:29:35PM +0000, Srinivas Kandagatla wrote:
>>> thanks for the comments.
>>>
>>>
>>> On 16/11/17 16:42, Vinod Koul wrote:
>>>> On Wed, Nov 15, 2017 at 02:10:34PM +0000,srinivas.kandagatla at 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?
>>> This is controller device
>>>
>>>>> +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?
>>> Yes.
>> I thought since you are marking ctrl->dev as parent, the device core should
>> ensure that parent doesn't go off when you have child device?
>>
>> Greg, is that understanding correct, if so we may not need these calls.
> That understanding should be correct, as the reference count is
> incremented on the parent when a child is added.
>
> It would be trivial for this to be tested, and yes, I am pretty sure you
> don't need this call.
>
Thanks for suggestion, I will remove this in next version.
thanks,
srini
More information about the Alsa-devel
mailing list