HC-SRO4 ultrasonic distance driver
Greg KH
greg at kroah.com
Thu Mar 24 10:07:17 EDT 2016
On Thu, Mar 24, 2016 at 11:38:45AM +0100, Johannes Thoma wrote:
> Hi all,
>
> I wrote a driver for the popular HC-SRO4 ultrasonic distance sensor. It
> is beta and has been tested
> on the Raspberry PI by me and my brother: here is the stand-alone repo:
>
> https://github.com/johannesthoma/linux-hc-sro4
>
> I would like to contribute it to the linux kernel, however I am a little
> bit nervous reading through
> the Documentation/Submitting[Patches][Drivers] documentation (in
> particular the How to piss off
> a kernel developer sections ;)
Don't be scared, we don't bite :)
> , so I wanted to ask if I could post the
> patch (it will be against the
> char/mics device kernel tree at
> git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
> , I think this is the correct location) on this list first, maybe
> someone can tell me if the formatting
> and the driver are correct..
Formatting of the code itself, or the patch?
> I also have some driver specific questions:
>
> *) First, does it really belong to drivers/misc ? There are other
> sensors there as well, so I suppose
> this location is right.
Probably not, if this is a sensor, it should be interacting with the IIO
layer, and not just using "random" sysfs files.
> *) As of now, I've created a new device class "distance" where the sysfs
> control files live in (so the configuration file is
> /sys/class/distance/configure ), it works for me (tm) but I don't know
> if code that creates new device classes would be accepted. Is there
> another solution to put the control files in? Maybe under
> /sys/class/gpio?
Look into the IIO api, it should fit into there somewhere. And if not,
that api can easily be extended to do so.
> *) I've filled out the parent device field in
> device_create_with_groups() to NULL, I'm not sure if this
> is right.
You are correct, it isn't :)
> If I put a parent, should it be the GPIO device (the HC_SRO4 is
> attached to two GPIO pins)?
Yes, you want your device to show up properly in the device heiarachy
for all of the suspend/resume and other good things that the driver core
gives you for free.
> *) When I submit the patch, I've read that one should cc the maintainers
> (that would be Arnd Bergmann <arnd at arndb.de> and Greg Kroah-Hartman
> <gregkh at linuxfoundation.org>) but on what list should
> I post the patch at all? Is it lkml.org?
Use scripts/get_maintainer.pl on your patch to determine this, it
figures it out for you automagically.
> Please let me know if it ok to post the patch to this list first.
Sure, feel free to, it's always good to see code on this list :)
Hope this helps,
greg k-h
More information about the Kernelnewbies
mailing list