platform_device and driver misunderstanding
I`m doing my embedded project with bf537 (on BF537-STAMP), with kernel 18.104.22.168.
Through digging over several drivers, LDD3 and other stuff, I realized that I`m totally confused.
The issue is that I`m writing network(ethernet) driver, using spi(existing spidev or over) driver. By now I have a driver, that is capable to create ethx interface and fill in information(all of these is fully described in LDD3). But what I can`t find, is the way, how I can use ANOTHER, existing spi driver. Probe() function gets struct platform_device, which(as i know) i fill in a special file, there rosources, devices and other staff is allocated and registerd, etc... So, if i have to get an access to spi(spi resources), i have to declare them, make a master....so to write a nes spi driver. But i want to use existing.
Also, looking at similar driver(bfin_mac) i found something useful, but still it creates MII master, it doesn`t take it from "somewhere in the kernel".
I understand, that what i wrote may be wrong, but that is what I found using a set of drivers from different versions of the kernel.
Could someone explain the mechanism driver ONE may use loaded in the kernel driver TWO?
Thank you very much!!
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Users, Permissions and Multitenant Sites
- New Products
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- DevOps: Everything You Need to Know
- Solving ODEs on Linux
- Non-Linux FOSS: MenuMeters
- March 2015 Issue of Linux Journal: System Administration