Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
locate devices created by a kernel module? [SOLVED]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Fri Mar 05, 2010 7:37 pm    Post subject: locate devices created by a kernel module? [SOLVED] Reply with quote

Is there a command or and area inside the filesystem where I can determine the device(s) a specific kernel module created?

Here's the situation, I'm working with an experimental kernel driver that is creating a few devices that should give me access to some hardware features. The module loads correctly through udev, and I can see some entries under /sys for the corresponding devices, however, I have no understanding how I can properly access these devices and query them for information.

For example, one of the drivers is an accellerometer, and I would like to query the device for axis data, and I have no idea what device is created and where I can access its corresponding data.

Any help is appreciated!

EDIT: Ironically, right after I posted this I found one of the input devices I was looking for (in this case /dev/input/input10 by scrounging around in /sys. I'm still wondering if there is an easier / better way to find out this information.


Last edited by mikegpitt on Fri Mar 05, 2010 11:31 pm; edited 1 time in total
Back to top
View user's profile Send private message
Link31
Apprentice
Apprentice


Joined: 17 Apr 2006
Posts: 200
Location: France

PostPosted: Fri Mar 05, 2010 8:32 pm    Post subject: Reply with quote

Try the lshal command. Look for the "info.product" and "linux.device_file" entries.

Then you can write a simple script to automatically retrieve the device file, such as :
Code:
product_name="ThinkPad HDAPS accelerometer data"
hal-get-property --udi $(hal-find-by-property --key info.product --string "$product_name") --key linux.device_file


Of course, HAL is required.

In order to read the axis data, I think you need to open the device using some input-related API. However, your accelerometer driver may provide an easier way to directly read the data, on Thinkpads it is located at /sys/devices/platform/hdaps/position.
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Fri Mar 05, 2010 8:56 pm    Post subject: Reply with quote

Thanks for your comments... you are correct, the information is listed in lshal.

As for the accelerometer, this isn't a Thinkpad version, and since it's pretty experimental there isn't much documentation beyond the kernel source. This particular driver is hooked into the ACPI subsystem. Is it possible to query such devices through ACPI for information?
Back to top
View user's profile Send private message
Link31
Apprentice
Apprentice


Joined: 17 Apr 2006
Posts: 200
Location: France

PostPosted: Fri Mar 05, 2010 10:39 pm    Post subject: Reply with quote

I'm not sure what "querying ACPI" would mean in practice... But you can read some ACPI events either with lshal -m or with the acpid program. Though I can't imagine how ACPI events could encode accelerometer data...

Can't you simply look in the source code of this particular driver, assuming it is open-source ?
Back to top
View user's profile Send private message
mikegpitt
Advocate
Advocate


Joined: 22 May 2004
Posts: 3224

PostPosted: Fri Mar 05, 2010 11:31 pm    Post subject: Reply with quote

I was incorrect about it using ACPI to detect events... everything seems to be fed through the input.h API, which I can access by writing a small program to interpret the events. Problem solved for now :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum