# Platform DriverAll device drivers in Linux must be registered to the system platform. This operation is completed by a set of functions defined in platform_device.h. Let's take a look at the struct platform_driver:View plaincopy to clipboardprint? Struct platform_driver {Int (* probe) (struct platform_device *);Int (* remove) (struct platform_device *);Void (* shutdown) (struct platform_device *);Int (* suspend) (struct platform_device *, pm_message
Description of Linux driver in my graphics card manual-Linux general technology-Linux technology and application information. For details, see the following. Why is there no Linux driver included in the ATI series drivers?
Answer: Because xFree86 has provided support for the Radeon series in the driver library of the Linux operating system, xFree86 will also upgrade the driver as a third party.
When buying a video card, pay attention to the manu
Busy for a long time, very puzzled why loading is not on the driver, the driver package, hive dependency package, Hadoop's dependency package also introduced, a variety of Baidu finally:Hadoop-2.2.0/share/hadoop/common/hadoop-common-2.2.0.jar$HIVE _home/lib/hive-exec-0.11.0.jar$HIVE _home/lib/hive-jdbc-0.11.0.jar$HIVE _home/lib/hive-metastore-0.11.0.jar$HIVE _home/lib/hive-service-0.11.0.jar$HIVE _home/lib/libfb303-0.9.0.jar$HIVE _home/lib/commons-logging-1.0.4.jar$HIVE _home/lib/slf4j-api-1.6.1
completed at the I/O scheduling layer. The kernel provides different types of elevator algorithms, and the elevator algorithm has1 NoOp (Implement simple FIFO, basic direct Merge and sort),2 Anticipatory (delayed I/O requests, optimized ordering of critical sections),3 Deadline (improved for anticipatory disadvantage, reduced delay time),4 CFQ (Uniform allocation of I/O bandwidth, fairness mechanism)PS: In fact, the IO scheduling layer (including the request merge sorting algorithm) is not requ
, unsigned short type, void *daddr, void *saddr, unsigned len);The function establishes a hardware header based on the source and destination hardware addresses that were previously retrieved. The function task is to organize the information that is passed as a parameter into the appropriate hardware header that is unique to the device.Eth_headeris the default function of the Ethernet type interface,E
-safe version: Unsigned int read_seqbegin_irqsave (seqlock_t *lock, unsigned long flags); int Read_seqretry_irqrestore (seqlock_t *lock,unsigned int seq, unsigned long flags);The writer must obtain a mutex when entering a critical section protected by Seqlock: void Write_seqlock (seqlock_t *lock); void Write_sequnlock (seqlock_t *lock);Since write locks are implemented using spin locks, spin locks control write access, so common variants of the spin lock can be used: void Write_seqlock_irqsave (
}};static struct Dm9000_plat_data Mini2440_dm9k_pdata = {The number of digits in the data line is 16 bits, and no e2prom is used. Flags = (Dm9000_platf_16bitonly | Dm9000_platf_no_eeprom),. dev_addr = {0x08,0x90,0x90,0x90,0x90,0x90},//mac address};static struct Platform_device Mini2440_device_eth = {. Name = "dm9000",//device name. id =-1,. num_resources = Array_size (Mini2440_dm9k_resource),. Resource = Mini2440_dm9k_resource,//Resources. Dev = {. Platform_data = mini2440_dm9k_pdata,//Private d
locks and semaphores take the form of "get lock-access critical section-release lock".*************************************************************************************************************** **********5. MutexThe mutex and the semaphore are basically the same. Not introduced.Summary: Concurrency and race are widespread, these mechanisms are a good way to solve the problem, interrupt masking is rarely used alone, atomic operations can only be done for integers, so the spin lock and signal
network card driver from the IBM official website, use USB stick and other tools to upload to Linux server, then compile
RPM-IVH bnx2-
Cd/root/rpmbuild
RPMBUILD-BB Specs/bnx2.spec
Install the compiled driver package
Cd/root/rpmbuild/rpms/x86_64
RPM-IVH bnx2-
After successful installation, the following path will be displayed:/lib/modules/
Copy the generated module files to the directory:/lib/modules/
Load Driver
(struct work_struct *work, void (*function) (void *), void *data);
int queue_work (struct workqueue_struct *queue, struct work_struct *work);
int queue_delayed_work (struct workqueue_struct *queue, struct work_struct *work, unsigned long delay);
The return value of the above two functions is nonzero means that the given work_struct structure is already waiting in the queue
int cancel_delayed_work (struct work_struct *work);
The entry
Transferred from: http://blog.chinaunix.net/uid-15724196-id-128140.html2nd Chapter+---------------------------------------------------+| Write a block device driver |+---------------------------------------------------+| Zhao Lei || Email[email protected]|+---------------------------------------------------+| The copyright of the article belongs to the original author. || You are free to reprint this article, but the original copyright information must be retained.| For commercial use, be sure t
command line parameter support is not very good, there is to add a new file, you need to re-use CMake generation Codeblocks project. But these are small problems, the beginning of the time may be compared to the trouble, the latter should be much better. I also thought that when developing the backend framework, I would code directly under the Codeblocks engineering organization, I used CMake to reorganize the project. Because I'm familiar with CMake, so it's not going to be a problem.So, Ubunt
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.