[PATCH] drm: amd: Fix trailing semicolons
The trailing semicolon is an empty statement that does no operation. Removing the two instances of them since they don't do anything. Signed-off-by: Luis de Bethencourt <lui...@kernel.org> --- Hi, After fixing the same thing in drivers/staging/rtl8723bs/, Joe Perches suggested I fix it treewide [0]. Best regards Luis [0] http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2018-January/115410.html [1] http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2018-January/115390.html drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 2 +- drivers/gpu/drm/amd/powerplay/amd_powerplay.c| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c index 61e8c3e02d16..33d91e4474ea 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c @@ -718,7 +718,7 @@ static enum link_training_result perform_channel_equalization_sequence( uint32_t retries_ch_eq; enum dc_lane_count lane_count = lt_settings->link_settings.lane_count; union lane_align_status_updated dpcd_lane_status_updated = {{0}}; - union lane_status dpcd_lane_status[LANE_COUNT_DP_MAX] = {{{0}}};; + union lane_status dpcd_lane_status[LANE_COUNT_DP_MAX] = {{{0}}}; hw_tr_pattern = get_supported_tp(link); diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c index fa9d1615a2cc..b98a7a8a22b5 100644 --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c @@ -162,7 +162,7 @@ static int pp_hw_init(void *handle) if(hwmgr->smumgr_funcs->start_smu(pp_handle->hwmgr)) { pr_err("smc start failed\n"); hwmgr->smumgr_funcs->smu_fini(pp_handle->hwmgr); - return -EINVAL;; + return -EINVAL; } if (ret == PP_DPM_DISABLED) goto exit; -- 2.15.1 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH] drm/msm/mdp5: Fix trailing semicolon
The trailing semicolon is an empty statement that does no operation. Removing it since it doesn't do anything. Signed-off-by: Luis de Bethencourt <lui...@kernel.org> --- Hi, After fixing the same thing in drivers/staging/rtl8723bs/, Joe Perches suggested I fix it treewide [0]. Best regards Luis [0] http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2018-January/115410.html [1] http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2018-January/115390.html drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c index 3e9bba4d6624..6d8e3a9a6fc0 100644 --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c @@ -680,7 +680,7 @@ struct msm_kms *mdp5_kms_init(struct drm_device *dev) } else { dev_info(>dev, "no iommu, fallback to phys contig buffers for scanout\n"); - aspace = NULL;; + aspace = NULL; } pm_runtime_put_sync(>dev); -- 2.15.1 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH] drm/nouveau/mmu: Fix trailing semicolon
The trailing semicolon is an empty statement that does no operation. Removing it since it doesn't do anything. Signed-off-by: Luis de Bethencourt <lui...@kernel.org> --- Hi, After fixing the same thing in drivers/staging/rtl8723bs/, Joe Perches suggested I fix it treewide [0]. Best regards Luis [0] http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2018-January/115410.html [1] http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2018-January/115390.html drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c index e35d3e17cd7c..93946dcee319 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c @@ -642,7 +642,7 @@ nvkm_vmm_ptes_sparse(struct nvkm_vmm *vmm, u64 addr, u64 size, bool ref) else block = (size >> page[i].shift) << page[i].shift; } else { - block = (size >> page[i].shift) << page[i].shift;; + block = (size >> page[i].shift) << page[i].shift; } /* Perform operation. */ -- 2.15.1 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH] drm: Fix trailing semicolon
The trailing semicolon is an empty statement that does no operation. Removing it since it doesn't do anything. Signed-off-by: Luis de Bethencourt <lui...@kernel.org> --- Hi, After fixing the same thing in drivers/staging/rtl8723bs/, Joe Perches suggested I fix it treewide [0]. Best regards Luis [0] http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2018-January/115410.html [1] http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2018-January/115390.html drivers/gpu/drm/scheduler/gpu_scheduler.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/scheduler/gpu_scheduler.c b/drivers/gpu/drm/scheduler/gpu_scheduler.c index 2c18996d59c5..0d95888ccc3e 100644 --- a/drivers/gpu/drm/scheduler/gpu_scheduler.c +++ b/drivers/gpu/drm/scheduler/gpu_scheduler.c @@ -461,7 +461,7 @@ void drm_sched_hw_job_reset(struct drm_gpu_scheduler *sched, struct drm_sched_jo { struct drm_sched_job *s_job; struct drm_sched_entity *entity, *tmp; - int i;; + int i; spin_lock(>job_list_lock); list_for_each_entry_reverse(s_job, >ring_mirror_list, node) { -- 2.15.1 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v3 1/7] lib: string: add functions to case-convert strings
On 13/07/16 23:26, Markus Mayer wrote: > On 13 July 2016 at 10:19, Luis de Bethencourt > wrote: >> On 11/07/16 23:46, Markus Mayer wrote: >> >> Hi Markus, >> >> Amazing. I see this happening as well, but I know it shouldn't. >> >> The reason the #ifndef guards in headers are there is precisely to allow >> circular dependencies. >> >> The problem in your output reads as: >> strstr() is in string.h >> #include string.h -> that includes kernel.h -> that includes string.h >> >> The third should do nothing based on _LINUX_STRING_H_ being defined already >> and all code inside the #ifndef in string.h not being executed. >> Yet it shouldn't block the first include above since that macro isn't >> defined, >> which is what the error suggests since it doesn't have strstr() >> If _LINUX_STRING_H is defined, strstr() should be available. >> >> Investigating this issue, it only happens when CONFIG_DYNAMIC_DEBUG is not >> set and line 170 of dynamic_debug.h runs, but just above we have an >> include of string.h. >> >> Very strange that #include isn't doing its job. >> >> The first thing I tried is to understand where dynamic_debug.h is used and >> removed the unneeded ones: >> -- >> diff --git a/include/linux/kernel.h b/include/linux/kernel.h >> --- a/include/linux/kernel.h >> +++ b/include/linux/kernel.h >> @@ -11,7 +11,6 @@ >> #include >> #include >> #include >> -#include >> #include >> #include >> >> diff --git a/include/linux/printk.h b/include/linux/printk.h >> --- a/include/linux/printk.h >> +++ b/include/linux/printk.h >> @@ -307,10 +307,11 @@ asmlinkage __printf(1, 2) __cold void __pr_info(const >> char *fmt, ...); >> no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) >> #endif >> >> -#include >> >> /* If you are writing a driver, please use dev_dbg instead */ >> #if defined(CONFIG_DYNAMIC_DEBUG) >> +#include >> + >> /* dynamic_pr_debug() uses pr_fmt() internally so we don't need it here */ >> #define pr_debug(fmt, ...) \ >> dynamic_pr_debug(fmt, ##__VA_ARGS__) >> diff --git a/kernel/module.c b/kernel/module.c >> index beaebea..e70a2fa 100644 >> --- a/kernel/module.c >> +++ b/kernel/module.c >> @@ -60,6 +60,7 @@ >> #include >> #include >> #include >> +#include >> #include >> #include "module-internal.h" >> -- >> >> This diff [0] fixes the issue but it is a workaround for the original >> issue about string.h not being properly included in dynamic_debug.h >> >> Puzzled by this and can't figure out what is happening wrong. >> >> The second thing I tried was adding >> #warning "Linking to string header" >> in include/linux/string.h, and I don't see any include path mentioning >> kernel.h, where do you see the circular dependency? I might be missing >> something. > > I did some more poking around and this is what I found. > > For starters, the problem happens with kernel/bounds.c. Without > worrying about SIZE_MAX or making any other changes, I added a > #warning line to kernel.h and string.h to see the include sequence. > > $ aarch64-linux-gcc -Wp,-MD,kernel/.bounds.s.d -nostdinc -isystem > /opt/toolchain/stbgcc-4.8-1.5/bin/../lib/gcc/aarch64-linux-gnu/4.8.5/include > -I./arch/arm64/include -Iarch/arm64/include/generated/uapi > -Iarch/arm64/include/generated -Iinclude -I./arch/arm64/include/uapi > -Iarch/arm64/include/generated/uapi -I./include/uapi > -Iinclude/generated/uapi -include ./include/linux/kconfig.h > -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes > -Wno-trigraphs -fno-strict-aliasing -fno-common > -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 > -mgeneral-regs-only -fno-asynchronous-unwind-tables > -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 > -Wframe-larger-than=2048 -fno-stack-protector > -Wno-unused-but-set-variable -fno-omit-frame-pointer > -fno-optimize-sibling-calls -fno-var-tracking-assignments -g > -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow > -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes > -DKBUILD_BASENAME='"bounds"' -DKBUILD_MODNAME='"bounds"' > -fverbose-asm -E -o kernel/bounds.i kernel/bounds.c > In file included from include/asm-generic/bug.h:13:0, > from ./arch/arm6
[PATCH v3 1/7] lib: string: add functions to case-convert strings
On 11/07/16 23:46, Markus Mayer wrote: > On 9 July 2016 at 08:30, Markus Mayer wrote: >> On 9 July 2016 at 05:04, Luis de Bethencourt >> wrote: >>> On 08/07/16 23:43, Markus Mayer wrote: >>>> Add a collection of generic functions to convert strings to lowercase >>>> or uppercase. >>>> >>>> Changing the case of a string (with or without copying it first) seems >>>> to be a recurring requirement in the kernel that is currently being >>>> solved by several duplicated implementations doing the same thing. This >>>> change aims at reducing this code duplication. >>>> >>>> The new functions are >>>> void strlcpytoupper(char *dst, const char *src, size_t len); >>>> void strlcpytolower(char *dst, const char *src, size_t len); >>>> void strcpytoupper(char *dst, const char *src); >>>> void strcpytolower(char *dst, const char *src); >>>> void strtoupper(char *s); >>>> void strtolower(char *s); >>>> >>>> The "str[l]cpyto*" versions of the function take a destination string >>>> and a source string as arguments. The "strlcpyto*" versions additionally >>>> take a length argument like strlcpy() itself. Lastly, the strto* >>>> functions take a single string argument and modify the passed-in string. >>>> >>>> Like strlcpy(), and unlike strncpy(), the functions guarantee NULL >>>> termination of the destination string. >>>> >>>> Signed-off-by: Markus Mayer >>>> --- >>>> include/linux/string.h | 40 >>>> lib/string.c | 38 ++ >>>> 2 files changed, 78 insertions(+) >>>> >>>> diff --git a/include/linux/string.h b/include/linux/string.h >>>> index 26b6f6a..36c9d14 100644 >>>> --- a/include/linux/string.h >>>> +++ b/include/linux/string.h >>>> @@ -116,6 +116,8 @@ extern void * memchr(const void *,int,__kernel_size_t); >>>> #endif >>>> void *memchr_inv(const void *s, int c, size_t n); >>>> char *strreplace(char *s, char old, char new); >>>> +extern void strlcpytoupper(char *dst, const char *src, size_t len); >>>> +extern void strlcpytolower(char *dst, const char *src, size_t len); >>>> >>>> extern void kfree_const(const void *x); >>>> >>>> @@ -169,4 +171,42 @@ static inline const char *kbasename(const char *path) >>>> return tail ? tail + 1 : path; >>>> } >>>> >>>> +/** >>>> + * strcpytoupper - Copy string and convert to uppercase. >>>> + * @dst: The buffer to store the result. >>>> + * @src: The string to convert to uppercase. >>>> + */ >>>> +static inline void strcpytoupper(char *dst, const char *src) >>>> +{ >>>> + strlcpytoupper(dst, src, -1); >>>> +} >>>> + >>> >>> Why not use SIZE_MAX instead of -1? >> >> Sure. I'll change all four of them. Thanks. > > Turns out there's actually a circular dependency here. SIZE_MAX is > defined in linux/kernel.h. So, string.h would need to include > kernel.h. But kernel.h, by way of several other headers, includes > string.h. > > Attempting to include kernel.h in string.h then leads to something like this: > > CHK include/config/kernel.release > CHK include/generated/uapi/linux/version.h > CHK include/generated/utsrelease.h > CC scripts/mod/devicetable-offsets.s > CHK include/generated/timeconst.h > In file included from include/linux/printk.h:289:0, > from include/linux/kernel.h:13, > from include/linux/string.h:11, > from include/uapi/linux/uuid.h:21, > from include/linux/uuid.h:19, > from include/linux/mod_devicetable.h:12, > from scripts/mod/devicetable-offsets.c:2: > include/linux/dynamic_debug.h: In function > âddebug_dyndbg_module_param_cbâ: > include/linux/dynamic_debug.h:122:2: error: implicit declaration of > function âstrstrâ [-Werror=implicit-function-declaration] > if (strstr(param, "dyndbg")) { > ^ > include/linux/dynamic_debug.h:122:6: warning: incompatible implicit > declaration of built-in function âstrstrâ [enabled by default] > if (strstr(param, "dyndbg")) { > ^ > Since kernel.h is referencing string.h (which is needed, b
[PATCH v3 1/7] lib: string: add functions to case-convert strings
On 08/07/16 23:43, Markus Mayer wrote: > Add a collection of generic functions to convert strings to lowercase > or uppercase. > > Changing the case of a string (with or without copying it first) seems > to be a recurring requirement in the kernel that is currently being > solved by several duplicated implementations doing the same thing. This > change aims at reducing this code duplication. > > The new functions are > void strlcpytoupper(char *dst, const char *src, size_t len); > void strlcpytolower(char *dst, const char *src, size_t len); > void strcpytoupper(char *dst, const char *src); > void strcpytolower(char *dst, const char *src); > void strtoupper(char *s); > void strtolower(char *s); > > The "str[l]cpyto*" versions of the function take a destination string > and a source string as arguments. The "strlcpyto*" versions additionally > take a length argument like strlcpy() itself. Lastly, the strto* > functions take a single string argument and modify the passed-in string. > > Like strlcpy(), and unlike strncpy(), the functions guarantee NULL > termination of the destination string. > > Signed-off-by: Markus Mayer > --- > include/linux/string.h | 40 > lib/string.c | 38 ++ > 2 files changed, 78 insertions(+) > > diff --git a/include/linux/string.h b/include/linux/string.h > index 26b6f6a..36c9d14 100644 > --- a/include/linux/string.h > +++ b/include/linux/string.h > @@ -116,6 +116,8 @@ extern void * memchr(const void *,int,__kernel_size_t); > #endif > void *memchr_inv(const void *s, int c, size_t n); > char *strreplace(char *s, char old, char new); > +extern void strlcpytoupper(char *dst, const char *src, size_t len); > +extern void strlcpytolower(char *dst, const char *src, size_t len); > > extern void kfree_const(const void *x); > > @@ -169,4 +171,42 @@ static inline const char *kbasename(const char *path) > return tail ? tail + 1 : path; > } > > +/** > + * strcpytoupper - Copy string and convert to uppercase. > + * @dst: The buffer to store the result. > + * @src: The string to convert to uppercase. > + */ > +static inline void strcpytoupper(char *dst, const char *src) > +{ > + strlcpytoupper(dst, src, -1); > +} > + Why not use SIZE_MAX instead of -1? > +/** > + * strcpytolower - Copy string and convert to lowercase. > + * @dst: The buffer to store the result. > + * @src: The string to convert to lowercase. > + */ > +static inline void strcpytolower(char *dst, const char *src) > +{ > + strlcpytolower(dst, src, -1); > +} > + Same here, and the 2 below :) Thanks Markus, Luis > +/** > + * strtoupper - Convert string to uppercase. > + * @s: The string to operate on. > + */ > +static inline void strtoupper(char *s) > +{ > + strlcpytoupper(s, s, -1); > +} > + > +/** > + * strtolower - Convert string to lowercase. > + * @s: The string to operate on. > + */ > +static inline void strtolower(char *s) > +{ > + strlcpytolower(s, s, -1); > +} > + > #endif /* _LINUX_STRING_H_ */ > diff --git a/lib/string.c b/lib/string.c > index ed83562..fd8c427 100644 > --- a/lib/string.c > +++ b/lib/string.c > @@ -952,3 +952,41 @@ char *strreplace(char *s, char old, char new) > return s; > } > EXPORT_SYMBOL(strreplace); > + > +/** > + * strlcpytoupper - Copy a length-limited string and convert to uppercase. > + * @dst: The buffer to store the result. > + * @src: The string to convert to uppercase. > + * @len: Maximum string length. May be SIZE_MAX (-1) to set no limit. > + */ > +void strlcpytoupper(char *dst, const char *src, size_t len) > +{ > + size_t i; > + > + if (!len) > + return; > + > + for (i = 0; i < len && src[i]; ++i) > + dst[i] = toupper(src[i]); > + dst[i < len ? i : i - 1] = '\0'; > +} > +EXPORT_SYMBOL(strlcpytoupper); > + > +/** > + * strlcpytolower - Copy a length-limited string and convert to lowercase. > + * @dst: The buffer to store the result. > + * @src: The string to convert to lowercase. > + * @len: Maximum string length. May be SIZE_MAX (-1) to set no limit. > + */ > +void strlcpytolower(char *dst, const char *src, size_t len) > +{ > + size_t i; > + > + if (!len) > + return; > + > + for (i = 0; i < len && src[i]; ++i) > + dst[i] = tolower(src[i]); > + dst[i < len ? i : i - 1] = '\0'; > +} > +EXPORT_SYMBOL(strlcpytolower); >
[RESEND] fence: add missing descriptions for fence
On 11/04/16 21:09, Gustavo Padovan wrote: > Hi Luis, > > 2016-04-11 Luis de Bethencourt : > >> The members child_list and active_list were added to the fence struct >> without descriptions for the Documentation. Adding these. >> >> Fixes: b55b54b5db33 ("staging/android: remove struct sync_pt") >> Signed-off-by: Luis de Bethencourt >> Reviewed-by: Javier Martinez Canillas >> --- >> Hi, >> >> Just resending this patch since it hasn't had any reviews in since >> March 21st. >> >> Thanks, >> Luis >> >> include/linux/fence.h | 2 ++ >> 1 file changed, 2 insertions(+) > > Reviewed-by: Gustavo Padovan > > Gustavo > Thank you Gustavo. Nice seeing you around here :) Luis
[RESEND] fence: add missing descriptions for fence
The members child_list and active_list were added to the fence struct without descriptions for the Documentation. Adding these. Fixes: b55b54b5db33 ("staging/android: remove struct sync_pt") Signed-off-by: Luis de Bethencourt Reviewed-by: Javier Martinez Canillas --- Hi, Just resending this patch since it hasn't had any reviews in since March 21st. Thanks, Luis include/linux/fence.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/fence.h b/include/linux/fence.h index 2b17698..2056e9f 100644 --- a/include/linux/fence.h +++ b/include/linux/fence.h @@ -49,6 +49,8 @@ struct fence_cb; * @timestamp: Timestamp when the fence was signaled. * @status: Optional, only valid if < 0, must be set before calling * fence_signal, indicates that the fence has completed with an error. + * @child_list: list of children fences + * @active_list: list of active fences * * the flags member must be manipulated and read using the appropriate * atomic ops (bit_*), so taking the spinlock will not be needed most -- 2.6.4
[PATCH v2] fence: add missing descriptions for fence
The members child_list and active_list were added to the fence struct without descriptions for the Documentation. Adding these. Fixes: b55b54b5db33 ("staging/android: remove struct sync_pt") Signed-off-by: Luis de Bethencourt Reviewed-by: Javier Martinez Canillas --- Hi, This second version fixes the commit message as suggested by Javier Martinez. https://lkml.org/lkml/2016/3/19/135 Thanks, Luis include/linux/fence.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/fence.h b/include/linux/fence.h index bb52201..ba5b678 100644 --- a/include/linux/fence.h +++ b/include/linux/fence.h @@ -49,6 +49,8 @@ struct fence_cb; * @timestamp: Timestamp when the fence was signaled. * @status: Optional, only valid if < 0, must be set before calling * fence_signal, indicates that the fence has completed with an error. + * @child_list: list of children fences + * @active_list: list of active fences * * the flags member must be manipulated and read using the appropriate * atomic ops (bit_*), so taking the spinlock will not be needed most -- 2.6.4
[PATCH] fence: add missing descriptions for fence
On 19/03/16 23:55, Javier Martinez Canillas wrote: > Hello Luis, > > On Sat, Mar 19, 2016 at 4:50 PM, Luis de Bethencourt > wrote: >> Commit b55b54b5db33 ("staging/android: remove struct sync_pt") >> added the members child_list and active_list to the fence struct, but >> didn't add descriptions for these. Adding the descriptions. >> > > Patches whose commit message mentions a specific commit that > introduced and issue, usually also have a "Fixes:" tag before the > S-o-B. For example this patch should have: > > Fixes: b55b54b5db33 ("staging/android: remove struct sync_pt") >> Signed-off-by: Luis de Bethencourt >> --- >> Hi, >> >> Noticed this missing descriptions when running make htmldocs. >> >> Got the following warnings: >> .//include/linux/fence.h:84: warning: No description found for parameter >> 'child_list' >> .//include/linux/fence.h:84: warning: No description found for parameter >> 'active_list' >> >> Thanks :) >> Luis >> > > Patch looks good to me. > > Reviewed-by: Javier Martinez Canillas > > Best regards, > Javier > Hi Javier, I didn't knew that, but thanks for saying so I can learn and use it in the future. I used the 'Commit b55b54b5db33 ("staging/android: remove struct sync_pt")' format because that is what checkpatch recommended. But after re-reading Documentation/SubmittingPatches it all makes sense and the process is clear in my head. Thanks! Luis
[PATCH] fence: add missing descriptions for fence
Commit b55b54b5db33 ("staging/android: remove struct sync_pt") added the members child_list and active_list to the fence struct, but didn't add descriptions for these. Adding the descriptions. Signed-off-by: Luis de Bethencourt --- Hi, Noticed this missing descriptions when running make htmldocs. Got the following warnings: .//include/linux/fence.h:84: warning: No description found for parameter 'child_list' .//include/linux/fence.h:84: warning: No description found for parameter 'active_list' Thanks :) Luis include/linux/fence.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/fence.h b/include/linux/fence.h index 2b17698..2056e9f 100644 --- a/include/linux/fence.h +++ b/include/linux/fence.h @@ -49,6 +49,8 @@ struct fence_cb; * @timestamp: Timestamp when the fence was signaled. * @status: Optional, only valid if < 0, must be set before calling * fence_signal, indicates that the fence has completed with an error. + * @child_list: list of children fences + * @active_list: list of active fences * * the flags member must be manipulated and read using the appropriate * atomic ops (bit_*), so taking the spinlock will not be needed most -- 2.5.1
[PATCH] drm: remove excess description
Description of expected_size doesn't match any parameter of the function drm_atomic_replace_property_blob. Removing it. Signed-off-by: Luis de Bethencourt --- Hi, I noticed this while running make htmldocs. It gives the following warning: .//drivers/gpu/drm/drm_atomic.c:393: warning: Excess function parameter 'expected_size' description in 'drm_atomic_replace_property_blob' Thanks, Luis drivers/gpu/drm/drm_atomic.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index a2596eb..8ee1db8 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -380,7 +380,6 @@ EXPORT_SYMBOL(drm_atomic_set_mode_prop_for_crtc); * drm_atomic_replace_property_blob - replace a blob property * @blob: a pointer to the member blob to be replaced * @new_blob: the new blob to replace with - * @expected_size: the expected size of the new blob * @replaced: whether the blob has been replaced * * RETURNS: -- 2.5.1
[RESEND] drm: imx: imx-tve: Fix module autoload for OF platform driver
On 30/11/15 21:28, Philipp Zabel wrote: > Hi Luis, > > thanks for the reminder. > No problem. I was worried I was bothering. > Am Montag, den 30.11.2015, 15:02 +0000 schrieb Luis de Bethencourt: >> This platform driver has a OF device ID table but the OF module >> alias information is not created so module autoloading won't work. >> >> Signed-off-by: Luis de Bethencourt >> --- >> >> Hi, >> >> This is a resend of a patch from October 20th [0] > > Sorry to have missed it, I was in the middle of a vacation then. > I've applied it to my fixes branch now. > I understand, we all have a few emails that fall between the cracks. Thank you very much for reviewing and applying. Luis >> I am adding Andrew Morton to the CC list as was recommended at the Korea >> Linux >> Forum. >> >> This patch adds the missing MODULE_DEVICE_TABLE() for OF to export >> that information so modules have the correct aliases built-in and >> autoloading works correctly. >> >> A longer explanation by Javier Canillas can be found here: >> https://lkml.org/lkml/2015/7/30/519 >> A multitude of similar patches have been merged for other drivers, search >> the git log for "module autoload for OF platform driver". >> >> Thanks, >> Luis > > regards > Philipp >
[RESEND] drm/rockchip: Fix module autoload for OF platform driver
From: Luis de Bethencourt <l...@debethencourt.com> This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt --- Hi, This is a Resend of a patch from 20 Oct [0] I am adding Andrew Morton to the CC list as was recommended at the Korea Linux Forum. This patch adds the missing MODULE_DEVICE_TABLE() for OF to export that information so modules have the correct aliases built-in and autoloading works correctly. A longer explanation by Javier Canillas can be found here: https://lkml.org/lkml/2015/7/30/519 Thanks, Luis [0] https://lkml.org/lkml/2015/10/20/485 drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 5d8ae5e..5897851 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -374,6 +374,7 @@ static const struct of_device_id vop_driver_dt_match[] = { .data = _vop }, {}, }; +MODULE_DEVICE_TABLE(of, vop_driver_dt_match); static inline void vop_writel(struct vop *vop, uint32_t offset, uint32_t v) {
[RESEND] drm: imx: imx-tve: Fix module autoload for OF platform driver
From: Luis de Bethencourt <l...@debethencourt.com> This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt --- Hi, This is a Resend of a patch from 20 Oct [0] I am adding Andrew Morton to the CC list as was recommended at the Korea Linux Forum. This patch adds the missing MODULE_DEVICE_TABLE() for OF to export that information so modules have the correct aliases built-in and autoloading works correctly. A longer explanation by Javier Canillas can be found here: https://lkml.org/lkml/2015/7/30/519 Thanks, Luis [0] https://lkml.org/lkml/2015/10/20/478 drivers/gpu/drm/imx/imx-tve.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c index e671ad3..f959714 100644 --- a/drivers/gpu/drm/imx/imx-tve.c +++ b/drivers/gpu/drm/imx/imx-tve.c @@ -721,6 +721,7 @@ static const struct of_device_id imx_tve_dt_ids[] = { { .compatible = "fsl,imx53-tve", }, { /* sentinel */ } }; +MODULE_DEVICE_TABLE(of, imx_tve_dt_ids); static struct platform_driver imx_tve_driver = { .probe = imx_tve_probe,
[RESEND PATCH] drm: omapdrm: tiler: Remove unneded module alias for tiler
omap_dmm_tiler.c can't be compiled as a module and it is built unconditionally as part of omapdrm. Since it can't be used as a module, there is no need for it to have an unused MODULE_ALIAS(). Signed-off-by: Luis de Bethencourt --- Hi, This is a resend of a patch sent September 24 [0] Submitting the removal of MODULE_ALIAS("platform:" DMM_DRIVER_NAME): As discussed with Tomi Valkeinen in: https://lkml.org/lkml/2015/9/24/379 Thanks, Luis drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c index 7841970..51554c9 100644 --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c @@ -1030,4 +1030,3 @@ struct platform_driver omap_dmm_driver = { MODULE_LICENSE("GPL v2"); MODULE_AUTHOR("Andy Gross "); MODULE_DESCRIPTION("OMAP DMM/Tiler Driver"); -MODULE_ALIAS("platform:" DMM_DRIVER_NAME); -- 2.5.3
[RESEND PATCH 1/2] drm: atmel-hlcdc: Fix module autoload for OF platform driver
From: Luis de Bethencourt <l...@debethencourt.com> This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt Acked-by: Boris Brezillon --- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c index 244df0a..0126918 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c @@ -342,6 +342,7 @@ static const struct of_device_id atmel_hlcdc_of_match[] = { }, { /* sentinel */ }, }; +MODULE_DEVICE_TABLE(of, atmel_hlcdc_of_match); int atmel_hlcdc_dc_mode_valid(struct atmel_hlcdc_dc *dc, struct drm_display_mode *mode) -- 2.5.3
[RESEND PATCH 0/2] drm: Fix module autoload for OF platform drivers
Hello, This is a resend of two patches posted in September 17 [0] These patches add the missing MODULE_DEVICE_TABLE() for OF to export the information so modules have the correct aliases built-in and autoloading works correctly. A longer explanation by Javier Canillas can be found here: https://lkml.org/lkml/2015/7/30/519 The first patch is Acked by Boris Brezillon. Thanks, Luis [0] https://lkml.org/lkml/2015/9/17/427 [1] https://lkml.org/lkml/2015/9/17/428 Luis de Bethencourt (2): drm: atmel-hlcdc: Fix module autoload for OF platform driver drm: imx: imx-tve: Fix module autoload for OF platform driver drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 1 + drivers/gpu/drm/imx/imx-tve.c| 1 + 2 files changed, 2 insertions(+) -- 2.5.3
[PATCH 3/5] drm: omapdrm: tiler: Fix module autoload for OF platform driver
On Thu, Sep 24, 2015 at 06:43:33PM +0300, Tomi Valkeinen wrote: > > On 24/09/15 18:36, Luis de Bethencourt wrote: > > > I am a bit confused. > > Yes, it's an interesting mess due to legacy reasons. Maybe we manage to > fix it some day... > > > So how the OMAP DRM auto loading is supposed to work when using Device > > Trees? > > omapdrm isn't a real HW device driver at the moment. There's another > driver, omapdss, which is the HW driver, and omapdrm uses omapdss. > omapdrm platform device is created by omap platform code at boot time, > the same way for both DT and non-DT boots. > > > As far as I can tell, the main omap drm driver does not have a OF device ID > > table and a .of_match it only has a MODULE_ALIAS("platform:" DRIVER_NAME), > > but the tiler driver (that is built-in the omap drm driver) does have a a > > OF device ID table and I see in DTS that are device nodes using those > > compatible > > strings > > > > $ git grep omap4-dmm arch/arm/boot/dts/omap* > > arch/arm/boot/dts/omap4.dtsi: compatible = "ti,omap4-dmm"; > > > > Does that mean there is no need for MODULE_ALIAS("platform:" > > DMM_DRIVER_NAME)? > > No, I think that's the thing that makes omapdrm load. > > Tomi > Makes sense. Thank you for the explanation. I didn't know that a omapdrm platform device was registered explictly by platform code. Please notice that I wrote MODULE_ALIAS("platform:" DMM_DRIVER_NAME) not MODULE_ALIAS("platform:" DRIVER_NAME) In other words, I meant if alias: platform:dmm is needed besides alias: platform:omapdrm? Thanks, Luis
[PATCH 3/5] drm: omapdrm: tiler: Fix module autoload for OF platform driver
On Thu, Sep 24, 2015 at 01:41:56PM +0300, Tomi Valkeinen wrote: > > On 17/09/15 17:21, Luis de Bethencourt wrote: > > This platform driver has a OF device ID table but the OF module > > alias information is not created so module autoloading won't work. > > > > Signed-off-by: Luis de Bethencourt > > --- > > drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c > > b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c > > index 7841970..ecbc9e5 100644 > > --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c > > +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c > > @@ -1014,6 +1014,7 @@ static const struct of_device_id dmm_of_match[] = { > > }, > > {}, > > }; > > +MODULE_DEVICE_TABLE(of, dmm_of_match); > > #endif > > > > struct platform_driver omap_dmm_driver = { > > I think this one is not needed. > > Tiler cannot be compiled as a module. Or, to be more exact, the tiler > driver is included in the omapdrm module, along with the main omapdrm > driver, which can be a module. > > The autoloading should happen via omapdrm, and when that happens, tiler > driver comes along. > > Tomi > Hi Tomi, I am a bit confused. So how the OMAP DRM auto loading is supposed to work when using Device Trees? As far as I can tell, the main omap drm driver does not have a OF device ID table and a .of_match it only has a MODULE_ALIAS("platform:" DRIVER_NAME), but the tiler driver (that is built-in the omap drm driver) does have a a OF device ID table and I see in DTS that are device nodes using those compatible strings $ git grep omap4-dmm arch/arm/boot/dts/omap* arch/arm/boot/dts/omap4.dtsi: compatible = "ti,omap4-dmm"; Does that mean there is no need for MODULE_ALIAS("platform:" DMM_DRIVER_NAME)? Because right now omapdrm.ko is exporting the alias for legacy / platform device registration but not for OF. Thanks, Luis
[PATCH] drm: omapdrm: tiler: Remove unneded module alias for tiler
omap_dmm_tiler.c can't be compiled as a module and it is built unconditionally as part of omapdrm. Since it can't be used as a module, there is no need for it to have an unused MODULE_ALIAS(). Signed-off-by: Luis de Bethencourt --- Hi, Submitting the removal of MODULE_ALIAS("platform:" DMM_DRIVER_NAME): As discussed in: https://lkml.org/lkml/2015/9/24/379 Thanks, Luis drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c index 7841970..51554c9 100644 --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c @@ -1030,4 +1030,3 @@ struct platform_driver omap_dmm_driver = { MODULE_LICENSE("GPL v2"); MODULE_AUTHOR("Andy Gross "); MODULE_DESCRIPTION("OMAP DMM/Tiler Driver"); -MODULE_ALIAS("platform:" DMM_DRIVER_NAME); -- 2.5.1
[PATCH 4/5] drm/rockchip: Fix module autoload for OF platform driver
This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt --- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 5d8ae5e..5897851 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -374,6 +374,7 @@ static const struct of_device_id vop_driver_dt_match[] = { .data = _vop }, {}, }; +MODULE_DEVICE_TABLE(of, vop_driver_dt_match); static inline void vop_writel(struct vop *vop, uint32_t offset, uint32_t v) { -- 2.4.6
[PATCH 3/5] drm: omapdrm: tiler: Fix module autoload for OF platform driver
This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt --- drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c index 7841970..ecbc9e5 100644 --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c @@ -1014,6 +1014,7 @@ static const struct of_device_id dmm_of_match[] = { }, {}, }; +MODULE_DEVICE_TABLE(of, dmm_of_match); #endif struct platform_driver omap_dmm_driver = { -- 2.4.6
[PATCH 2/5] drm: imx: imx-tve: Fix module autoload for OF platform driver
This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt --- drivers/gpu/drm/imx/imx-tve.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c index e671ad3..f959714 100644 --- a/drivers/gpu/drm/imx/imx-tve.c +++ b/drivers/gpu/drm/imx/imx-tve.c @@ -721,6 +721,7 @@ static const struct of_device_id imx_tve_dt_ids[] = { { .compatible = "fsl,imx53-tve", }, { /* sentinel */ } }; +MODULE_DEVICE_TABLE(of, imx_tve_dt_ids); static struct platform_driver imx_tve_driver = { .probe = imx_tve_probe, -- 2.4.6
[PATCH 1/5] drm: atmel-hlcdc: Fix module autoload for OF platform driver
This platform driver has a OF device ID table but the OF module alias information is not created so module autoloading won't work. Signed-off-by: Luis de Bethencourt --- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c index 8bc62ec..a83c431 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c @@ -342,6 +342,7 @@ static const struct of_device_id atmel_hlcdc_of_match[] = { }, { /* sentinel */ }, }; +MODULE_DEVICE_TABLE(of, atmel_hlcdc_of_match); int atmel_hlcdc_dc_mode_valid(struct atmel_hlcdc_dc *dc, struct drm_display_mode *mode) -- 2.4.6
[PATCH 0/5] drm: Fix module autoload for OF platform drivers
These patches add the missing MODULE_DEVICE_TABLE() for OF to export the information so modules have the correct aliases built-in and autoloading works correctly. A longer explanation by Javier Canillas can be found here: https://lkml.org/lkml/2015/7/30/519 Thanks, Luis Luis de Bethencourt (5): drm: atmel-hlcdc: Fix module autoload for OF platform driver drm: imx: imx-tve: Fix module autoload for OF platform driver drm: omapdrm: tiler: Fix module autoload for OF platform driver drm/rockchip: Fix module autoload for OF platform driver drm/tegra: Fix module autoload for OF platform driver drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 1 + drivers/gpu/drm/imx/imx-tve.c| 1 + drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 1 + drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 1 + drivers/gpu/drm/tegra/drm.c | 1 + 5 files changed, 5 insertions(+) -- 2.4.6