Re: [RFC PATCH v6 6/9] media: tegra: Add Tegra210 Video input driver

Sowjanya Komatineni
2020-04-07T19:06:02Z

On 4/6/20 9:11 AM, Dmitry Osipenko wrote:
> External email: Use caution opening links or attachments
>
>
> 06.04.2020 18:41, Sowjanya Komatineni пишет:
>> On 4/5/20 2:11 PM, Dmitry Osipenko wrote:
>>> External email: Use caution opening links or attachments
>>>
>>>
>>> 04.04.2020 04:25, Sowjanya Komatineni пишет:
>>> ...
>>>> +static int tegra_vi_tpg_channels_alloc(struct tegra_vi *vi)
>>>> +{
>>>> + struct tegra_vi_channel *chan, *tmp;
>>>> + unsigned int port_num;
>>>> + unsigned int nchannels = vi->soc->vi_max_channels;
>>>> + int ret = 0;
>>>> +
>>>> + for (port_num = 0; port_num < nchannels; port_num++) {
>>>> + /*
>>>> + * Do not use devm_kzalloc as memory is freed immediately
>>>> + * when device instance is unbound but application
>>>> might still
>>>> + * be holding the device node open. Channel memory
>>>> allocated
>>>> + * with kzalloc is freed during video device release
>>>> callback.
>>>> + */
>>>> + chan = kzalloc(sizeof(*chan), GFP_KERNEL);
>>> Why anyone would want to unbind this driver in practice?
>>>
>>> I think it should make more sense to set suppress_bind_attrs=true.
>> From the previous feedback of patch series, we need to support
>> unbind/bind and looks like this driver should also support to built as a
>> module.
> If module unloading is also affected, then perhaps you should use
> get/put_device() to not allow freeing the resources until they're still
> in-use.
>
> I suppose that it should be up to the V4L core to keep the device alive
> while needed, rather than to put the burden to the individual drivers.

Hans/Thierry, Can you please comment on this?