12-07-2011
Learn Linux File System and Device Drivers
I am to start working on two project on Linux Device Drivers and other on File System.
So I got the book "Understanding Linux Kernel" by Daniel and Marco.
But I am confused as how to proce
Will anybody pls let me know how to go to about studying the chapter in this book? I mean the order in which the chapters need to be covered to get a proper understanding of the device drivers and file systems.
Pls let me know some good book/articles on writing real life linux device drivers basically for GPIO, I2C, SPI and File systems.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I might sound stupid for asking, but could someone please tell me how to view all the device drivers? I'm just starting to use UNIX after using Windows for years. Thanks.
-sysop0130 (1 Reply)
Discussion started by: sysop0130
1 Replies
2. Programming
Here is a cool book. And the price is right!
Linux Device Drivers, 2nd Edition (0 Replies)
Discussion started by: Perderabo
0 Replies
3. Windows & DOS: Issues & Discussions
Suggestion.
Besides running scans it is also a good thing to run "sigverif". This will create a list of ALL drivers on your system, signed and unsigned.
The output is located in your C:Windowssigverif.txt file.
It surprised me most people do not do this. Many trojans mask themselves as... (0 Replies)
Discussion started by: ZOverLord
0 Replies
4. HP-UX
Hi Guys,
I am new to HP-UX system, can someone please let me know which file or what process is require to load all the devices when the system boot up. Currently I am having a few issue when starting the system it does not load all the device.
Cheers, (0 Replies)
Discussion started by: fkaba81
0 Replies
5. Solaris
Hi all,
Please excuse me if this is not the right forum to ask my question.
I would like to know more about writing device drivers for Unix,particularly Solaris 10.
excuse me if am being vague, but I have absolutely no idea about how i can start.
I did try to search for a beginners guide to... (1 Reply)
Discussion started by: wrapster
1 Replies
6. Programming
hi,
this is manju ....
i want linux device drivers source codes.
pls help me (2 Replies)
Discussion started by: miraclemanju
2 Replies
7. Linux
Hi All,
I am writing a block driver for a 2GB SD card where i get the total amount of data per request as follows:
struct request *req;
uint card_addr,total_bytes;
struct request_queue *rq = BlkDev->queue;
req = elv_next_request(rq);
..
..
card_addr = req->sector*512;... (1 Reply)
Discussion started by: amio
1 Replies
8. Solaris
Hello all, I'm new here.. Can you please help me with device driver on Solaris10, Sun SPARC server; I need to know how to test if a PCI card is recognized and has a working driver. How to do it? As it is, the driver seems to be 'not attached', but some say it could be because the PCI card is not... (10 Replies)
Discussion started by: orange47
10 Replies
9. Shell Programming and Scripting
Hi guys,
I want to translate the device name from the command "iostat" to file system name in order to check IO problems of DB's data files.
What is the way to do it?
Thanks in advance,
Nir (2 Replies)
Discussion started by: nir_s
2 Replies
10. Solaris
Does anyone have any advise on trying to clean up a full filesystem? I can't rm any files because of the follow:
not removed: No space left on device
Any help would be very much appreciated. (10 Replies)
Discussion started by: craigsky
10 Replies
LEARN ABOUT SUSE
struct_i2c_driver
STRUCT
I2C_DRIVER(9) I2C and SMBus Subsystem STRUCT I2C_DRIVER(9)
NAME
struct_i2c_driver - represent an I2C device driver
SYNOPSIS
struct i2c_driver {
unsigned int class;
int (* attach_adapter) (struct i2c_adapter *);
int (* detach_adapter) (struct i2c_adapter *);
int (* probe) (struct i2c_client *, const struct i2c_device_id *);
int (* remove) (struct i2c_client *);
void (* shutdown) (struct i2c_client *);
int (* suspend) (struct i2c_client *, pm_message_t mesg);
int (* resume) (struct i2c_client *);
int (* command) (struct i2c_client *client, unsigned int cmd, void *arg);
struct device_driver driver;
const struct i2c_device_id * id_table;
int (* detect) (struct i2c_client *, struct i2c_board_info *);
const unsigned short * address_list;
struct list_head clients;
};
MEMBERS
class
What kind of i2c device we instantiate (for detect)
attach_adapter
Callback for bus addition (for legacy drivers)
detach_adapter
Callback for bus removal (for legacy drivers)
probe
Callback for device binding
remove
Callback for device unbinding
shutdown
Callback for device shutdown
suspend
Callback for device suspend
resume
Callback for device resume
command
Callback for bus-wide signaling (optional)
driver
Device driver model driver
id_table
List of I2C devices supported by this driver
detect
Callback for device detection
address_list
The I2C addresses to probe (for detect)
clients
List of detected clients we created (for i2c-core use only)
DESCRIPTION
The driver.owner field should be set to the module owner of this driver. The driver.name field should be set to the name of this driver.
For automatic device detection, both detect and address_data must be defined. class should also be set, otherwise only devices forced with
module parameters will be created. The detect function must fill at least the name field of the i2c_board_info structure it is handed upon
successful detection, and possibly also the flags field.
If detect is missing, the driver will still work fine for enumerated devices. Detected devices simply won't be supported. This is expected
for the many I2C/SMBus devices which can't be detected reliably, and the ones which can always be enumerated in practice.
The i2c_client structure which is handed to the detect callback is not a real i2c_client. It is initialized just enough so that you can
call i2c_smbus_read_byte_data and friends on it. Don't do anything else with it. In particular, calling dev_dbg and friends on it is not
allowed.
COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 STRUCT I2C_DRIVER(9)