On Wed, Mar 15, 2023 at 08:06:56AM -0700, Nathan Chancellor wrote: > Hi Khadija, > > On Wed, Mar 15, 2023 at 07:22:39PM +0500, Khadija Kamran wrote: > > On Wed, Mar 15, 2023 at 02:34:31PM +0100, Fabio M. De Francesco wrote: > > > Aside from what I said and asked for with the other message of this same > > > thread, please take note that you can build a specific module if you prefer > > > not to re-build the whole kernel and other modules at the same time. > > > > > > I'm pretty sure that the instructions to do so are in the OutreachyFirstPatch > > > tutorial. > > > > > > If they are not there, please let us know. > > > > > > Fabio > > > > Hey Fabio! > > > > In the Outreachy FirstPatchTutorial under the 'Compiling only part of > > the kernel' section there are ways to compile only some part of the > > kernel. > > > > I have tried using "make W=1 drivers/staging/axis-fifo/" and it says > > 'nothing to be done for'. > > Is CONFIG_XIL_AXIS_FIFO enabled in your configuration? > > > Should I start with the steps to reproduce? :'( > > I did see a report of this same warning occurring with GCC but the > report I commented on cane from clang/LLVM; using that toolchain may > make it easier for you to reproduce this issue. The robot's reproduction > instructions are fine but I think doing it manually is actually simpler. > > Ubuntu 22.04 should have a pretty modern version of clang/LLVM, which > you can install via 'sudo apt install clang lld llvm'. > https://apt.llvm.org is another resource. > > First, we will grab the configuration that was provided in the report: > > $ wget -O .config https://download.01.org/0day-ci/archive/20230314/202303141159.6wN9HNP9-lkp@xxxxxxxxx/config > > Next, we want to make sure the configuration is synced, since we are > technically changing compilers: > > $ make -j"$(nproc)" ARCH=arm64 LLVM=1 olddefconfig > > Finally, you should be able to build that object file and see the > warning: > > $ make -j"$(nproc)" ARCH=arm64 LLVM=1 drivers/staging/axis-fifo/ > ... > drivers/staging/axis-fifo/axis-fifo.c:817:18: warning: implicit conversion from 'long' to 'int' changes value from 9223372036854775807 to -1 [-Wconstant-conversion] > read_timeout = MAX_SCHEDULE_TIMEOUT; > ~ ^~~~~~~~~~~~~~~~~~~~ > ./include/linux/sched.h:296:31: note: expanded from macro 'MAX_SCHEDULE_TIMEOUT' > #define MAX_SCHEDULE_TIMEOUT LONG_MAX > ^~~~~~~~ > ./include/vdso/limits.h:11:19: note: expanded from macro 'LONG_MAX' > #define LONG_MAX ((long)(~0UL >> 1)) > ^~~~~~~~~~~~~~~~~ > drivers/staging/axis-fifo/axis-fifo.c:822:19: warning: implicit conversion from 'long' to 'int' changes value from 9223372036854775807 to -1 [-Wconstant-conversion] > write_timeout = MAX_SCHEDULE_TIMEOUT; > ~ ^~~~~~~~~~~~~~~~~~~~ > ./include/linux/sched.h:296:31: note: expanded from macro 'MAX_SCHEDULE_TIMEOUT' > #define MAX_SCHEDULE_TIMEOUT LONG_MAX > ^~~~~~~~ > ./include/vdso/limits.h:11:19: note: expanded from macro 'LONG_MAX' > #define LONG_MAX ((long)(~0UL >> 1)) > ^~~~~~~~~~~~~~~~~ > 2 warnings generated. > > Just repeat the last step as you investigate. If you have any further > issues or questions, please let me know. For the record, I am not > associated with Outreachy (I am one of the maintainers of clang/LLVM > support in the kernel), so if I have messed something up or overstepped > some boundary, I do apologize. > > Cheers, > Nathan Hi Nathan! Sorry about the last email where I said that this is not working. I was working in the wrong branch, my bad. This works! And it has helped me remove the warnings too. I have replaced int datatype with long and the two warnings that were showing are no longer there. I am working on [PATCH v5] and I will submit it in no time. This was great help. :) Thank you! Regards, Khadija