[kmods PATCH] linux/igb_uio: allow modules install
Ferruh Yigit
ferruh.yigit at xilinx.com
Tue Jun 14 12:27:50 CEST 2022
On 6/14/2022 11:25 AM, Ferruh Yigit wrote:
> On 4/12/2022 2:14 PM, Bruce Richardson wrote:
>> CAUTION: This message has originated from an External Source. Please
>> use proper judgment and caution when opening attachments, clicking
>> links, or responding to this email.
>>
>>
>> For those still using the "igb_uio" kernel module, there may be
>> occasions where the module is installed in /lib/modules/$VERSION folder
>> rather than being insmod'ed from the build directory. To support this, a
>> number of changes are needed to the makefile:
>>
>> * Change the "clean" command to a generic wildcard target where that
>> target is just passed through to the top-level kernel makefile. This
>> should allow all standard kernel module targets, including "clean" and
>> "modules_install" to work.
>
> ack
>
>> * To install in /lib/modules, root permissions are needed, so it is
>> likely that users may try installing the module using "sudo". However,
>> under sudo there is often no $PWD environment variable, breaking the
>> build. This can be fixed by changing the environment variable $PWD to
>> the make built-in variable "CURDIR"[1].
>
> It can be possible to use shell PWD:
>
> "make -C $(KSRC)/ M=$$PWD"
>
> or
>
> "
> PWD := $(shell pwd)
>
> all:
> make -C $(KSRC)/ M=$(PWD)
> "
>
> But '$(CURDIR)' also seems doing the job, so lgtm.
>
>> * As a cleanup, the actual kernel module path is got directly by make
>> from the shell, rather than relying on the shell substitution later
>> when making the recursive make call. This improves things slightly for
>> the user as the full recursive command is visible, with the kernel
>> version appearing in place of `uname -r` in the output.
>>
>
> ack
>
>> [1] While neither PWD nor CURDIR will work correctly in the case where
>> one is building outside of the sources directory, this is an edge case,
>> and a simple replacement of PWD by CURDIR keeps things simple while
>> adding support for "sudo".
>>
>> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
>
> Acked-by: Ferruh Yigit <ferruh.yigit at xilinx.com>
>
>> ---
>> linux/igb_uio/Makefile | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/linux/igb_uio/Makefile b/linux/igb_uio/Makefile
>> index 09ae5d9..bd2e356 100644
>> --- a/linux/igb_uio/Makefile
>> +++ b/linux/igb_uio/Makefile
>> @@ -1,7 +1,7 @@
>> -KSRC ?= /lib/modules/`uname -r`/build
>> +KSRC ?= /lib/modules/$(shell uname -r)/build
>>
>> all:
>> - make -C $(KSRC)/ M=$(PWD)
>> + make -C $(KSRC)/ M=$(CURDIR)
>>
>> -clean:
>> - make -C $(KSRC)/ M=$(PWD) clean
>> +%:
>> + make -C $(KSRC)/ M=$(CURDIR) $@
>> --
>> 2.32.0
>>
>
Btw, igb_uio doesn't compile with '5.19.0-rc2',
'pci_set_dma_mask()' & 'pci_set_consistent_dma_mask()' APIs are no more
exist. 'igb_uio' needs to be updated.
More information about the dev
mailing list