<div class="qmbox"><div style="font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 10.5pt; color: rgb(46, 48, 51);">Hi Thomas</div><div style="font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 10.5pt; color: rgb(46, 48, 51);"><br /></div><div style="font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 10.5pt; color: rgb(46, 48, 51);">That is all right, thanks very much for your review.</div><div style="font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 10.5pt; color: rgb(46, 48, 51);"><br /></div><div style="font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 10.5pt; color: rgb(46, 48, 51);"><br /></div><div style="font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 10.5pt; color: rgb(46, 48, 51);"><br /></div><div style="font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 10.5pt; color: rgb(46, 48, 51);"><br /></div><div style="font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 10.5pt; color: rgb(46, 48, 51);">Best Regards</div><div style="font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 10.5pt; color: rgb(46, 48, 51);"><br /></div><br /><br /><div class="xm_compose_origin_mail_container"><div style="line-height: 30px;position: relative;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;">
<p style="color: #959DA6;font-size: 12px;">原始邮件</p>
<div style="flex-grow: 1;height: 1px;margin-left: 20px;background-color: #e6e8eb;"></div>
</div><div style="background-color: #F5F6F7;padding: 8px;"><p style="font-size: 12px;line-height: 20px;"><span style="color: #5C6166;">发件人:</span><span style="color: black;">"Thomas Zimmermann"</span><span style="color: #959DA6;">< tzimmermann@suse.de >;</span></p><p style="font-size: 12px;line-height: 20px;"><span style="color: #5C6166;">发件时间:</span><span style="color: black;">2024/8/26 22:45</span></p><p style="font-size: 12px;line-height: 20px;"><span style="color: #5C6166;">收件人:</span><span style="color: black;">"renjun wang"</span><span style="color: #959DA6;">< renjunw0@foxmail.com >;</span><span style="color: black;">"maarten.lankhorst"</span><span style="color: #959DA6;">< maarten.lankhorst@linux.intel.com >;</span><span style="color: black;">"mripard"</span><span style="color: #959DA6;">< mripard@kernel.org >;</span><span style="color: black;">"airlied"</span><span style="color: #959DA6;">< airlied@gmail.com >;</span><span style="color: black;">"daniel"</span><span style="color: #959DA6;">< daniel@ffwll.ch >;</span></p><p style="font-size: 12px;line-height: 20px;"><span style="color: #5C6166;">抄送人:</span><span style="color: black;">"jani.nikula"</span><span style="color: #959DA6;">< jani.nikula@linux.intel.com >;</span><span style="color: black;">"joonas.lahtinen"</span><span style="color: #959DA6;">< joonas.lahtinen@linux.intel.com >;</span><span style="color: black;">"rodrigo.vivi"</span><span style="color: #959DA6;">< rodrigo.vivi@intel.com >;</span><span style="color: black;">"tursulin"</span><span style="color: #959DA6;">< tursulin@ursulin.net >;</span><span style="color: black;">"lyude"</span><span style="color: #959DA6;">< lyude@redhat.com >;</span><span style="color: black;">"imre.deak"</span><span style="color: #959DA6;">< imre.deak@intel.com >;</span><span style="color: black;">"Wayne.Lin"</span><span style="color: #959DA6;">< Wayne.Lin@amd.com >;</span><span style="color: black;">"ville.syrjala"</span><span style="color: #959DA6;">< ville.syrjala@linux.intel.com >;</span><span style="color: black;">"vidya.srinivas"</span><span style="color: #959DA6;">< vidya.srinivas@intel.com >;</span><span style="color: black;">"jouni.hogander"</span><span style="color: #959DA6;">< jouni.hogander@intel.com >;</span><span style="color: black;">"andi.shyti"</span><span style="color: #959DA6;">< andi.shyti@linux.intel.com >;</span><span style="color: black;">"janusz.krzysztofik"</span><span style="color: #959DA6;">< janusz.krzysztofik@linux.intel.com >;</span><span style="color: black;">"dri-devel"</span><span style="color: #959DA6;">< dri-devel@lists.freedesktop.org >;</span><span style="color: black;">"linux-kernel"</span><span style="color: #959DA6;">< linux-kernel@vger.kernel.org >;</span><span style="color: black;">"intel-gfx"</span><span style="color: #959DA6;">< intel-gfx@lists.freedesktop.org >;</span></p><p style="font-size: 12px;line-height: 20px;"><span style="color: #5C6166;">主题:</span><span style="color: black;">Re: [PATCH] drm: Fix kerneldoc for "Returns" section</span></p></div><br />Hi Renjun<br /><br />Am 26.08.24 um 16:26 schrieb Thomas Zimmermann:<br />><br />><br />> Am 24.08.24 um 10:36 schrieb renjun wang:<br />>> The blank line between title "Returns:" and detail description is not<br />>> allowed, otherwise the title will goes under the description block in<br />>> generated .html file after running `make htmldocs`.<br />>><br />>> There are a few examples for current kerneldoc:<br />>> https://www.kernel.org/doc/html/latest/gpu/drm-kms.html#c.drm_crtc_commit_wait <br />>><br />>> https://www.kernel.org/doc/html/latest/gpu/drm-kms.html#c.drm_atomic_get_crtc_state <br />>><br />>> https://www.kernel.org/doc/html/latest/gpu/i915.html#c.i915_vma_pin_fence <br />>><br />>><br />>> Signed-off-by: renjun wang <renjunw0@foxmail.com></renjunw0@foxmail.com><br />><br />> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de></tzimmermann@suse.de><br />><br />> I'll add this patch and the other doc fix to the drm-misc tree. Thanks <br />> a lot for the fixes.<br /><br />I took the liberty to slightly change the commit messages. The links are <br />now given in Link tags and point to stable URLs.<br /><br />Best regards<br />Thomas<br /><br />><br />> Best regards<br />> Thomas<br />><br />>> ---<br />>> drivers/gpu/drm/display/drm_dp_mst_topology.c | 4 ----<br />>> drivers/gpu/drm/drm_atomic.c | 6 ------<br />>> drivers/gpu/drm/drm_atomic_helper.c | 2 --<br />>> drivers/gpu/drm/drm_file.c | 7 -------<br />>> drivers/gpu/drm/drm_gem.c | 7 ++-----<br />>> drivers/gpu/drm/drm_modes.c | 1 -<br />>> drivers/gpu/drm/drm_rect.c | 1 -<br />>> drivers/gpu/drm/drm_vblank.c | 2 --<br />>> drivers/gpu/drm/i915/gem/i915_gem_object.h | 1 -<br />>> drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 1 -<br />>> drivers/gpu/drm/i915/i915_vma.h | 1 -<br />>> 11 files changed, 2 insertions(+), 31 deletions(-)<br />>><br />>> diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c <br />>> b/drivers/gpu/drm/display/drm_dp_mst_topology.c<br />>> index fc2ceae61db2..e68d23997d53 100644<br />>> --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c<br />>> +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c<br />>> @@ -5569,7 +5569,6 @@ EXPORT_SYMBOL(drm_dp_mst_atomic_check_mgr);<br />>> * drm_dp_atomic_release_time_slots()<br />>> *<br />>> * Returns:<br />>> - *<br />>> * 0 if the new state is valid, negative error code otherwise.<br />>> */<br />>> int drm_dp_mst_atomic_check(struct drm_atomic_state *state)<br />>> @@ -5606,7 +5605,6 @@ EXPORT_SYMBOL(drm_dp_mst_topology_state_funcs);<br />>> * topology object.<br />>> *<br />>> * RETURNS:<br />>> - *<br />>> * The MST topology state or error pointer.<br />>> */<br />>> struct drm_dp_mst_topology_state <br />>> *drm_atomic_get_mst_topology_state(struct drm_atomic_state *state,<br />>> @@ -5626,7 +5624,6 @@ EXPORT_SYMBOL(drm_atomic_get_mst_topology_state);<br />>> * topology object.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * The old MST topology state, or NULL if there's no topology state <br />>> for this MST mgr<br />>> * in the global atomic state<br />>> */<br />>> @@ -5651,7 +5648,6 @@ <br />>> EXPORT_SYMBOL(drm_atomic_get_old_mst_topology_state);<br />>> * topology object.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * The new MST topology state, or NULL if there's no topology state <br />>> for this MST mgr<br />>> * in the global atomic state<br />>> */<br />>> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c<br />>> index 6e516c39a372..0fc99da93afe 100644<br />>> --- a/drivers/gpu/drm/drm_atomic.c<br />>> +++ b/drivers/gpu/drm/drm_atomic.c<br />>> @@ -63,7 +63,6 @@ EXPORT_SYMBOL(__drm_crtc_commit_free);<br />>> * hardware and flipped to.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * 0 on success, a negative error code otherwise.<br />>> */<br />>> int drm_crtc_commit_wait(struct drm_crtc_commit *commit)<br />>> @@ -337,7 +336,6 @@ EXPORT_SYMBOL(__drm_atomic_state_free);<br />>> * not created by userspace through an IOCTL call.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * Either the allocated state or the error code encoded into the <br />>> pointer. When<br />>> * the error is EDEADLK then the w/w mutex code has detected a <br />>> deadlock and the<br />>> * entire atomic sequence must be restarted. All other errors are <br />>> fatal.<br />>> @@ -518,7 +516,6 @@ static int drm_atomic_connector_check(struct <br />>> drm_connector *connector,<br />>> * is consistent.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * Either the allocated state or the error code encoded into the <br />>> pointer. When<br />>> * the error is EDEADLK then the w/w mutex code has detected a <br />>> deadlock and the<br />>> * entire atomic sequence must be restarted. All other errors are <br />>> fatal.<br />>> @@ -828,7 +825,6 @@ EXPORT_SYMBOL(drm_atomic_private_obj_fini);<br />>> * object lock to make sure that the state is consistent.<br />>> *<br />>> * RETURNS:<br />>> - *<br />>> * Either the allocated state or the error code encoded into a <br />>> pointer.<br />>> */<br />>> struct drm_private_state *<br />>> @@ -1061,7 +1057,6 @@ <br />>> EXPORT_SYMBOL(drm_atomic_get_new_crtc_for_encoder);<br />>> * make sure that the state is consistent.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * Either the allocated state or the error code encoded into the <br />>> pointer. When<br />>> * the error is EDEADLK then the w/w mutex code has detected a <br />>> deadlock and the<br />>> * entire atomic sequence must be restarted. All other errors are <br />>> fatal.<br />>> @@ -1169,7 +1164,6 @@ static void <br />>> drm_atomic_connector_print_state(struct drm_printer *p,<br />>> * state is consistent.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * Either the allocated state or the error code encoded into the <br />>> pointer. When<br />>> * the error is EDEADLK then the w/w mutex code has detected a <br />>> deadlock and the<br />>> * entire atomic sequence must be restarted.<br />>> diff --git a/drivers/gpu/drm/drm_atomic_helper.c <br />>> b/drivers/gpu/drm/drm_atomic_helper.c<br />>> index fb97b51b38f1..43cdf39019a4 100644<br />>> --- a/drivers/gpu/drm/drm_atomic_helper.c<br />>> +++ b/drivers/gpu/drm/drm_atomic_helper.c<br />>> @@ -2266,7 +2266,6 @@ crtc_or_fake_commit(struct drm_atomic_state <br />>> *state, struct drm_crtc *crtc)<br />>> * automatically.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * 0 on success. -EBUSY when userspace schedules nonblocking <br />>> commits too fast,<br />>> * -ENOMEM on allocation failures and -EINTR when a signal is pending.<br />>> */<br />>> @@ -3009,7 +3008,6 @@ EXPORT_SYMBOL(drm_atomic_helper_cleanup_planes);<br />>> * don't pass the right state structures to the callbacks.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * Returns 0 on success. Can return -ERESTARTSYS when @stall is <br />>> true and the<br />>> * waiting for the previous commits has been interrupted.<br />>> */<br />>> diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c<br />>> index 714e42b05108..7beed6902208 100644<br />>> --- a/drivers/gpu/drm/drm_file.c<br />>> +++ b/drivers/gpu/drm/drm_file.c<br />>> @@ -355,7 +355,6 @@ int drm_open_helper(struct file *filp, struct <br />>> drm_minor *minor)<br />>> * resources for it. It also calls the &drm_driver.open driver <br />>> callback.<br />>> *<br />>> * RETURNS:<br />>> - *<br />>> * 0 on success or negative errno value on failure.<br />>> */<br />>> int drm_open(struct inode *inode, struct file *filp)<br />>> @@ -417,7 +416,6 @@ void drm_lastclose(struct drm_device * dev)<br />>> * DRM device also proceeds to call the &drm_driver.lastclose <br />>> driver callback.<br />>> *<br />>> * RETURNS:<br />>> - *<br />>> * Always succeeds and returns 0.<br />>> */<br />>> int drm_release(struct inode *inode, struct file *filp)<br />>> @@ -489,7 +487,6 @@ void drm_file_update_pid(struct drm_file *filp)<br />>> * call the &drm_driver.lastclose driver callback.<br />>> *<br />>> * RETURNS:<br />>> - *<br />>> * Always succeeds and returns 0.<br />>> */<br />>> int drm_release_noglobal(struct inode *inode, struct file *filp)<br />>> @@ -532,7 +529,6 @@ EXPORT_SYMBOL(drm_release_noglobal);<br />>> * safety.<br />>> *<br />>> * RETURNS:<br />>> - *<br />>> * Number of bytes read (always aligned to full events, and can be <br />>> 0) or a<br />>> * negative error code on failure.<br />>> */<br />>> @@ -618,7 +614,6 @@ EXPORT_SYMBOL(drm_read);<br />>> * See also drm_read().<br />>> *<br />>> * RETURNS:<br />>> - *<br />>> * Mask of POLL flags indicating the current status of the file.<br />>> */<br />>> __poll_t drm_poll(struct file *filp, struct poll_table_struct *wait)<br />>> @@ -656,7 +651,6 @@ EXPORT_SYMBOL(drm_poll);<br />>> * already hold &drm_device.event_lock.<br />>> *<br />>> * RETURNS:<br />>> - *<br />>> * 0 on success or a negative error code on failure.<br />>> */<br />>> int drm_event_reserve_init_locked(struct drm_device *dev,<br />>> @@ -698,7 +692,6 @@ EXPORT_SYMBOL(drm_event_reserve_init_locked);<br />>> * drm_event_reserve_init_locked() instead.<br />>> *<br />>> * RETURNS:<br />>> - *<br />>> * 0 on success or a negative error code on failure.<br />>> */<br />>> int drm_event_reserve_init(struct drm_device *dev,<br />>> diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c<br />>> index d4bbc5d109c8..149b8e25da5b 100644<br />>> --- a/drivers/gpu/drm/drm_gem.c<br />>> +++ b/drivers/gpu/drm/drm_gem.c<br />>> @@ -689,7 +689,6 @@ static int objects_lookup(struct drm_file *filp, <br />>> u32 *handle, int count,<br />>> * For a single handle lookup, use drm_gem_object_lookup().<br />>> *<br />>> * Returns:<br />>> - *<br />>> * @objs filled in with GEM object pointers. Returned GEM objects <br />>> need to be<br />>> * released with drm_gem_object_put(). -ENOENT is returned on a lookup<br />>> * failure. 0 is returned on success.<br />>> @@ -737,12 +736,11 @@ EXPORT_SYMBOL(drm_gem_objects_lookup);<br />>> * @filp: DRM file private date<br />>> * @handle: userspace handle<br />>> *<br />>> - * Returns:<br />>> + * If looking up an array of handles, use drm_gem_objects_lookup().<br />>> *<br />>> + * Returns:<br />>> * A reference to the object named by the handle if such exists on <br />>> @filp, NULL<br />>> * otherwise.<br />>> - *<br />>> - * If looking up an array of handles, use drm_gem_objects_lookup().<br />>> */<br />>> struct drm_gem_object *<br />>> drm_gem_object_lookup(struct drm_file *filp, u32 handle)<br />>> @@ -763,7 +761,6 @@ EXPORT_SYMBOL(drm_gem_object_lookup);<br />>> * @timeout: timeout value in jiffies or zero to return immediately<br />>> *<br />>> * Returns:<br />>> - *<br />>> * Returns -ERESTARTSYS if interrupted, 0 if the wait timed out, or<br />>> * greater than 0 on success.<br />>> */<br />>> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c<br />>> index 1a0890083aee..6ba167a33461 100644<br />>> --- a/drivers/gpu/drm/drm_modes.c<br />>> +++ b/drivers/gpu/drm/drm_modes.c<br />>> @@ -539,7 +539,6 @@ static int fill_analog_mode(struct drm_device *dev,<br />>> * to reach those resolutions.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * A pointer to the mode, allocated with drm_mode_create(). Returns <br />>> NULL<br />>> * on error.<br />>> */<br />>> diff --git a/drivers/gpu/drm/drm_rect.c b/drivers/gpu/drm/drm_rect.c<br />>> index 85c79a38c13a..492acce0516f 100644<br />>> --- a/drivers/gpu/drm/drm_rect.c<br />>> +++ b/drivers/gpu/drm/drm_rect.c<br />>> @@ -85,7 +85,6 @@ static u32 clip_scaled(int src, int dst, int *clip)<br />>> * factors from @src to @dst.<br />>> *<br />>> * RETURNS:<br />>> - *<br />>> * %true if rectangle @dst is still visible after being clipped,<br />>> * %false otherwise.<br />>> */<br />>> diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c<br />>> index cc3571e25a9a..6428b7975dd6 100644<br />>> --- a/drivers/gpu/drm/drm_vblank.c<br />>> +++ b/drivers/gpu/drm/drm_vblank.c<br />>> @@ -686,7 +686,6 @@ EXPORT_SYMBOL(drm_calc_timestamping_constants);<br />>> * drm_atomic_helper_calc_timestamping_constants().<br />>> *<br />>> * Returns:<br />>> - *<br />>> * Returns true on success, and false on failure, i.e. when no <br />>> accurate<br />>> * timestamp could be acquired.<br />>> */<br />>> @@ -831,7 +830,6 @@ <br />>> EXPORT_SYMBOL(drm_crtc_vblank_helper_get_vblank_timestamp_internal);<br />>> * drm_atomic_helper_calc_timestamping_constants().<br />>> *<br />>> * Returns:<br />>> - *<br />>> * Returns true on success, and false on failure, i.e. when no <br />>> accurate<br />>> * timestamp could be acquired.<br />>> */<br />>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h <br />>> b/drivers/gpu/drm/i915/gem/i915_gem_object.h<br />>> index 5d7446a48ae7..3dc61cbd2e11 100644<br />>> --- a/drivers/gpu/drm/i915/gem/i915_gem_object.h<br />>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h<br />>> @@ -89,7 +89,6 @@ __i915_gem_object_unset_pages(struct <br />>> drm_i915_gem_object *obj);<br />>> * @handle: userspace handle<br />>> *<br />>> * Returns:<br />>> - *<br />>> * A pointer to the object named by the handle if such exists on <br />>> @filp, NULL<br />>> * otherwise. This object is only valid whilst under the RCU read <br />>> lock, and<br />>> * note carefully the object may be in the process of being destroyed.<br />>> diff --git a/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c <br />>> b/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c<br />>> index 93bc1cc1ee7e..0ffba50981e3 100644<br />>> --- a/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c<br />>> +++ b/drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c<br />>> @@ -418,7 +418,6 @@ int __i915_vma_pin_fence(struct i915_vma *vma)<br />>> * For an untiled surface, this removes any existing fence.<br />>> *<br />>> * Returns:<br />>> - *<br />>> * 0 on success, negative error code on failure.<br />>> */<br />>> int i915_vma_pin_fence(struct i915_vma *vma)<br />>> diff --git a/drivers/gpu/drm/i915/i915_vma.h <br />>> b/drivers/gpu/drm/i915/i915_vma.h<br />>> index e356dfb883d3..6a6be8048aa8 100644<br />>> --- a/drivers/gpu/drm/i915/i915_vma.h<br />>> +++ b/drivers/gpu/drm/i915/i915_vma.h<br />>> @@ -389,7 +389,6 @@ void i915_vma_unpin_iomap(struct i915_vma *vma);<br />>> * i915_vma_unpin_fence().<br />>> *<br />>> * Returns:<br />>> - *<br />>> * True if the vma has a fence, false otherwise.<br />>> */<br />>> int __must_check i915_vma_pin_fence(struct i915_vma *vma);<br />><br /><br />-- <br />--<br />Thomas Zimmermann<br />Graphics Driver Developer<br />SUSE Software Solutions Germany GmbH<br />Frankenstrasse 146, 90461 Nuernberg, Germany<br />GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman<br />HRB 36809 (AG Nuernberg)<br /><span class="xm_compose_origin_mail_container_sign" style="display: none;"></span></div></div>