Hi,

On 06/14/2013 11:14 AM, Guennadi Liakhovetski wrote:
> On Fri, 14 Jun 2013, Hans Verkuil wrote:
>> On Fri 14 June 2013 09:14:48 Guennadi Liakhovetski wrote:
>>> On Thu, 13 Jun 2013, Sylwester Nawrocki wrote:
>>>> On 06/11/2013 10:23 AM, Guennadi Liakhovetski wrote:
[...]
>>>>> + * @v4l2_dev:    pointer to struct v4l2_device
>>>>> + * @waiting:     list of struct v4l2_async_subdev, waiting for their 
>>>>> drivers
>>>>> + * @done:        list of struct v4l2_async_subdev_list, already probed
>>>>> + * @list:        member in a global list of notifiers
>>>>> + * @bound:       a subdevice driver has successfully probed one of 
>>>>> subdevices
>>>>> + * @complete:    all subdevices have been probed successfully
>>>>> + * @unbind:      a subdevice is leaving
>>>>> + */
>>>>> +struct v4l2_async_notifier {
>>>>> + unsigned int subdev_num;
>>>>> + struct v4l2_async_subdev **subdev;
>>>>> + struct v4l2_device *v4l2_dev;
>>>>> + struct list_head waiting;
>>>>> + struct list_head done;
>>>>> + struct list_head list;
>>>>> + int (*bound)(struct v4l2_async_notifier *notifier,
>>>>> +              struct v4l2_subdev *subdev,
>>>>> +              struct v4l2_async_subdev *asd);
>>>>> + int (*complete)(struct v4l2_async_notifier *notifier);
>>>>> + void (*unbind)(struct v4l2_async_notifier *notifier,
>>>>> +                struct v4l2_subdev *subdev,
>>>>> +                struct v4l2_async_subdev *asd);
>>>>> +};
>>>>> +
>>>>> +int v4l2_async_notifier_register(struct v4l2_device *v4l2_dev,
>>>>> +                          struct v4l2_async_notifier *notifier);
>>>>> +void v4l2_async_notifier_unregister(struct v4l2_async_notifier 
>>>>> *notifier);
>>>>> +int v4l2_async_register_subdev(struct v4l2_subdev *sd);
>>>>> +void v4l2_async_unregister_subdev(struct v4l2_subdev *sd);
>>>>
>>>> I still think "async_" in this public API is unnecessary, since we 
>>>> register/
>>>> unregister a subdev with the core and notifiers are intrinsically
>>>> asynchronous.
>>>> But your preference seems be otherwise, what could I do... :) At most it 
>>>> just
>>>> means one less happy user of this interface.
>>
>> I think v4l2_register_subdev looks awfully similar to 
>> v4l2_device_register_subdev.
>> It becomes very confusing naming it like that. I prefer v4l2_async where 
>> 'async'
>> refers to the v4l2-async module.

Ok, let's leave v4l2_async then.

> And v4l2(_async)_notifier_(un)register()?

I guess it would be better to have all or none of the functions
with that prefix. So either:

v4l2_async_notifier_register
v4l2_async_notifier_unregister
v4l2_async_register_subdev
v4l2_async_unregister_subdev

or

v4l2_subdev_notifier_register
v4l2_subdev_notifier_unregister
v4l2_subdev_register
v4l2_subdev_unregister

Thanks,
Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to