Sponsored Content
Operating Systems Linux Fedora Is Kernel module is the same as a device driver? Post 302519658 by Corona688 on Wednesday 4th of May 2011 02:39:47 PM
Old 05-04-2011
I don't think looking at the major numbers in a microscope is going to tell you what you want. The whole point of device files is to not have to care about that; they don't have a whole lot to do with what specific driver is being used. They'll tell you broad things about what class of driver, perhaps.

Quote:
Originally Posted by Corona688
The kernel knows what a major+minor number means, but this often just deals with generic input layers like "SCSI disk" -- which these days can mean anything from USB to SATA to PATA, not just actual SCSI. That Linux is now able to treat nearly all disks so identically is mostly a good thing -- device names don't mysteriously change from hda to sda anymore -- but also means it doesn't tell you much about which driver's used.

Try lspci -k, that'll tell you what PCI/AGP/PCIE devices are being claimed by what modules. You can also explore the virtual /sys/ directories to find out more about the devices within.
 

4 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Kernel and Device Driver Programming

I am looking for a guide on how to program for either the Linux or FreeBSD (includes 4.4BSD, NetBSD or OpenBSD) kernel. I would prefer to learn how to write device drivers, but anything would help. If you know, please email me at *removed* or leave a post here Regards, Farhan (0 Replies)
Discussion started by: Farhan
0 Replies

2. Solaris

SUNWglmr -- rasctrl environment monitoring driver for i2c or SCSI device driver ?

I've been researching minimizeing Solaris 8 and found that on the web page http://www.sun.com/bigadmin/content/packagelist/s8u7PkgList/p2.html the package SUNWglmr is listed as "rasctrl environment monitoring driver for i2c, (Root) (32-bit)" while in the document "Solaris 8 minimize-updt1.pdf"... (1 Reply)
Discussion started by: roygoodwin
1 Replies

3. Linux

Linux Device Driver: avoid mem copy from/to user/kernel space

I recently started working with Linux and wrote my first device driver for a hardware chip controlled by a host CPU running Linux 2.6.x kernel. 1. The user space process makes an IOCTL call with pointer to a user memory buffer. 2. The kernel device driver in the big switch-case of IOCTL,... (1 Reply)
Discussion started by: agaurav
1 Replies

4. UNIX for Advanced & Expert Users

Get pointer for existing device class (struct class) in Linux kernel module

Hi all! I am trying to register a device in an existing device class, but I am having trouble getting the pointer to an existing class. I can create a class in a module, get the pointer to it and then use it to register the device with: *cl = class_create(THIS_MODULE, className);... (0 Replies)
Discussion started by: hdaniel@ualg.pt
0 Replies
SD(4)							     Linux Programmer's Manual							     SD(4)

NAME
sd - driver for SCSI disk drives SYNOPSIS
#include <linux/hdreg.h> /* for HDIO_GETGEO */ #include <linux/fs.h> /* for BLKGETSIZE and BLKRRPART */ CONFIGURATION
The block device name has the following form: sdlp, where l is a letter denoting the physical drive, and p is a number denoting the parti- tion on that physical drive. Often, the partition number, p, will be left off when the device corresponds to the whole drive. SCSI disks have a major device number of 8, and a minor device number of the form (16 * drive_number) + partition_number, where drive_num- ber is the number of the physical drive in order of detection, and partition_number is as follows: partition 0 is the whole drive partitions 1-4 are the DOS "primary" partitions partitions 5-8 are the DOS "extended" (or "logical") partitions For example, /dev/sda will have major 8, minor 0, and will refer to all of the first SCSI drive in the system; and /dev/sdb3 will have major 8, minor 19, and will refer to the third DOS "primary" partition on the second SCSI drive in the system. At this time, only block devices are provided. Raw devices have not yet been implemented. DESCRIPTION
The following ioctls are provided: HDIO_GETGEO Returns the BIOS disk parameters in the following structure: struct hd_geometry { unsigned char heads; unsigned char sectors; unsigned short cylinders; unsigned long start; }; A pointer to this structure is passed as the ioctl(2) parameter. The information returned in the parameter is the disk geometry of the drive as understood by DOS! This geometry is not the physical geometry of the drive. It is used when constructing the drive's partition table, however, and is needed for convenient operation of fdisk(1), efdisk(1), and lilo(1). If the geometry information is not available, zero will be returned for all of the parameters. BLKGETSIZE Returns the device size in sectors. The ioctl(2) parameter should be a pointer to a long. BLKRRPART Forces a reread of the SCSI disk partition tables. No parameter is needed. The SCSI ioctl(2) operations are also supported. If the ioctl(2) parameter is required, and it is NULL, then ioctl(2) will fail with the error EINVAL. FILES
/dev/sd[a-h]: the whole device /dev/sd[a-h][0-8]: individual block partitions COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2012-05-03 SD(4)
All times are GMT -4. The time now is 01:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy