Re: Char Driver for Silicon Labs Si446x Transceivers
From: Randy Dunlap
Date: Tue Jul 06 2021 - 16:17:15 EST
On 7/5/21 10:10 PM, Greg KH wrote:
> On Mon, Jul 05, 2021 at 06:09:28PM -0400, Sunip Mukherjee wrote:
>> Hi,
>>
>> I am very new to the kernel community; this is my first message in the
>> LKML so my apologies if I am doing things wrong.
>>
>> I have been using an Si4463 transceiver for UHF communication with a
>> cubesat I developed. I could not find any code to control the
>> transceiver on Linux. The closest thing I could find was an AVR
>> implementation by Zak Kemble
>> (https://blog.zakkemble.net/si4463-radio-library-avr-arduino/).
>> I followed the API docs and rewrote the whole thing at first for
>> userland only (can be found here:
>> https://github.com/SPACE-HAUC/si446x_linux/releases/tag/v3.1), and
>> then I decided it would be a great learning opportunity for me to port
>> it to the kernel.
>>
>> The kernel port has gone mostly smoothly. The transceiver communicates
>> with the host MCU over SPI, and requires a pin for RESET, and another
>> pin for IRQ.
>> I have implemented the driver to provide a char device (/dev/si446x#)
>> to the userland for open, read, write, poll and ioctl.
>> I had initially set up a pull request for the driver and the device
>> tree overlay to the Raspberry Pi kernel community. They have agreed to
>> accept the device tree overlay for the device, however the driver
>> needs to be included by the Linux Kernel community. I want to use this
>> opportunity to find some people who have access to a Si446x
>> transceiver and a Raspberry Pi, so that the code I have can be tested,
>> and if deemed worthy, included in the kernel tree.
>>
>> My code is hosted here: https://github.com/sunipkmukherjee/silabs.git
>>
>> Any suggestions/criticisms are welcome.
>
> If you post it in a patch form, as described in our documentation, I
> will be glad to review it. Otherwise just looking at a random github
> repo is quite difficult and provides no way to give proper feedback.
>
> Instructions on how to make a patch and submit it and the proper format
> for everything can be found in the Documentation/SubmittingPatches file.
which is now known as Documentation/process/submitting-patches.rst
--
~Randy