Suppose I want to rewrite a driver that was already written for Linux / Windows. What parts (if any) could I use ? And what parts essentially must change in order to make a whole BSD driver free and clear of any blow back?
Unee0x drivers often born BSD/MIT licensed (by the device manufacturer) and later Linux people manage somehow to stamp a GPLx license on it later. You may want to look for an eventual original code from the manufacturer.
Take a look in /usr/src/sys/compat/linuxkpi/common/include/linux , it helps to identify correct alternative for linux functions.
Ex: gfp.h contains FreeBSD equivalents for gfp_* flags.
Join the appropriate mailing list, ask questions.
There most probably are people who have done what you want to achive. For wireless NIC drivers, the list is freebsd-wireless for example.
Even if you port a driver, you may still be bound to the original licensing terms (remember, you are modifying the code to get the driver work in FreeBSD, it is a derivate work not something new). Understanding the licensing constraints, if there is any, is important here.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.