Re: [PATCH 0/3] KT0913 FM/AM driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Santiago,

Nice work and welcome to the kernel community.

On Sun, 2020-08-02 at 23:09 -0300, Santiago Hormazabal wrote:
> media: adds support for kt0913 FM/AM tuner chip
> 

I don't think this line above should be there.

Also, this seems to be v2. You are missing a "PATCH v2" prefix
on the patches subject, and a v2 changelog on the cover letter.

Some examples for you to look at:

https://patchwork.linuxtv.org/project/linux-media/cover/BN6PR04MB06603B2CD7F2C56B322AF882A3710@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/

https://patchwork.linuxtv.org/project/linux-media/cover/20200717145324.292820-1-jacopo+renesas@xxxxxxxxxx/

The vN+1 subject makes it easier for reviewers to keep
track of submissions, and the changelog makes it easier
to track the changes.

Thanks!
Ezequiel
 
> Adds a driver for the KT0913 FM/AM tuner chip from KT Micro. This chip
> can be found on many low cost FM/AM radios and DVD/Home Theaters.
> The chip provides two ways of usage, a manual mode (requiring only a
> few buttons) or complete control via I2C. This driver uses the latter.
> It exposes the minimum functionality of this chip, which includes tuning
> an AM or FM station given its frequency, reading the signal strength,
> setting Stereo (only on FM) or Mono (available on AM/FM), Mute, Volume
> and Audio Gain.
> I left some TODOs on the code, like supporting the chip's hardware seek
> feature, using a RW/RO regmaps rather than a single volatile regmap,
> show the FM SNR as a RO control and the FM/AM AFC deviation as another
> RO control.
> The module I've used comes from SZZSJDZ.com, a now defunct company.
> However, it's possible to buy this chip directly from Aliexpress or
> similar sites.
> I tested this on two systems, the first one being a Raspberry Pi 4 with
> the unstable 5.x kernel, but later I moved to a Banana Pi 2 Zero where
> I used the (current at this time, 8f2a4a9) master of this repo for testing.
> I've also compiled the v4l-compliance from sources (c7f0328) and it passed
> all the tests. The output of that is at the end of this note.
> 
> Note: This is the second set of patches for the driver, where I (tried to)
> address the comments that the reviewers added on the previous set.
> 
> v4l2-compliance SHA: c7f03287bbd64c168975e7ff3192e6fd3b507686, 32 bits, 32-bit time_t
> 
> Compliance test for kt0913-fm-am device /dev/radio0:
> 
> Driver Info:
> 	Driver name      : kt0913-fm-am
> 	Card type        : kt0913-fm-am
> 	Bus info         : I2C:radio0
> 	Driver version   : 5.8.0
> 	Capabilities     : 0x80250000
> 		Tuner
> 		Radio
> 		Extended Pix Format
> 		Device Capabilities
> 	Device Caps      : 0x00250000
> 		Tuner
> 		Radio
> 		Extended Pix Format
> 
> Required ioctls:
> 	test VIDIOC_QUERYCAP: OK
> 
> Allow for multiple opens:
> 	test second /dev/radio0 open: OK
> 	test VIDIOC_QUERYCAP: OK
> 	test VIDIOC_G/S_PRIORITY: OK
> 	test for unlimited opens: OK
> 
> 	test invalid ioctls: OK
> Debug ioctls:
> 	test VIDIOC_DBG_G/S_REGISTER: OK
> 	test VIDIOC_LOG_STATUS: OK
> 
> Input ioctls:
> 	test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK
> 	test VIDIOC_G/S_FREQUENCY: OK
> 	test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> 	test VIDIOC_ENUMAUDIO: OK (Not Supported)
> 	test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
> 	test VIDIOC_G/S_AUDIO: OK (Not Supported)
> 	Inputs: 0 Audio Inputs: 0 Tuners: 1
> 
> Output ioctls:
> 	test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> 	test VIDIOC_G/S_FREQUENCY: OK
> 	test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> 	test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> 	test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> 	Outputs: 0 Audio Outputs: 0 Modulators: 0
> 
> Input/Output configuration ioctls:
> 	test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> 	test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> 	test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> 	test VIDIOC_G/S_EDID: OK (Not Supported)
> 
> Control ioctls:
> 	test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
> 	test VIDIOC_QUERYCTRL: OK
> 	test VIDIOC_G/S_CTRL: OK
> 	test VIDIOC_G/S/TRY_EXT_CTRLS: OK
> 	test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
> 	test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> 	Standard Controls: 8 Private Controls: 0
> 
> Format ioctls:
> 	test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK (Not Supported)
> 	test VIDIOC_G/S_PARM: OK (Not Supported)
> 	test VIDIOC_G_FBUF: OK (Not Supported)
> 	test VIDIOC_G_FMT: OK (Not Supported)
> 	test VIDIOC_TRY_FMT: OK (Not Supported)
> 	test VIDIOC_S_FMT: OK (Not Supported)
> 	test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> 	test Cropping: OK (Not Supported)
> 	test Composing: OK (Not Supported)
> 	test Scaling: OK (Not Supported)
> 
> Codec ioctls:
> 	test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
> 	test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> 	test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
> 
> Buffer ioctls:
> 	test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK (Not Supported)
> 	test VIDIOC_EXPBUF: OK (Not Supported)
> 	test Requests: OK (Not Supported)
> 
> Total for kt0913-fm-am device /dev/radio0: 45, Succeeded: 45, Failed: 0, Warnings: 0
> 
> Santiago Hormazabal (3):
>   dt-bindings: vendor-prefixes: Add KT Micro
>   media: kt0913: device tree binding
>   media: Add support for the AM/FM radio chip KT0913 from KT Micro.
> 
>  .../bindings/media/i2c/ktm,kt0913.yaml        |   56 +
>  .../devicetree/bindings/vendor-prefixes.yaml  |    2 +
>  drivers/media/radio/Kconfig                   |   10 +
>  drivers/media/radio/Makefile                  |    1 +
>  drivers/media/radio/radio-kt0913.c            | 1196 +++++++++++++++++
>  5 files changed, 1265 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/media/i2c/ktm,kt0913.yaml
>  create mode 100644 drivers/media/radio/radio-kt0913.c
> 





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux