Are you building the Edison's SDK or are you downloading it? Which version are you using?
Why are you looking for linkage.h in the SDK? If you want to build a driver for Edison I suggest you to do it from the host PC using the board's BSP.
In fact linkage.h is not included in the image by default, you have to manually add it to the image. In case you need it, linkage.h can be found in edison-linux/linkage.h at master · 01org/edison-linux · GitHub
Thanks for the reply. I appreciate the help.
I've tried both downloading and installing the SDK and building the SDK. I'm using the latest source for 2.1.
I'm not specifically looking for linkage.h myself. The .h/.c files of the driver I'm trying to compile (ftdi sio) import linux/linkage.h, which in turn imports asm/linkage.h. I don't know that I'm really looking for that in the SDK per se. I was under the impression that if I installed or built the SDK that I would be able to source the cross compilation tools and then compile. It sounds like I need to do this with a yocto/bitbake recipe?
I plan to create a custom image with which to flash my devices at some point anyway so that will work. I was just hoping to prove out several of my plans without customizing the image or the SDK prior to diving into writing recipes, etc. I've been able to adhoc load C, C++, Python and a lot of systemd configuration onto the device without getting involved in the BSP and was hoping to do the same with drivers just until I get my POC up and running. Then I was going to move on to working with bitbake and recipes for all of my customizations.
So I just need to setup the driver compilation using the BSP, include linkage.h in the image generation, and I should be good?
Yes, if you'd like to include a driver into the Edison's image, I believe you should add it to the image using the BSP. You will have to enable the kernel module with menuconfig or in the defconfig file. If I'm not mistaken, the driver should find linkage.h if you include it in the image and after that you shouldn't have problems.
The thing with drivers is that many of them reach kernel level and sometimes it's preferable to build them directly in the image as a yocto/bitbake recipe. I understand it represents a lot more work but sometimes you can avoid issues that would appear if it was simply installed.
I've been side tracked with other things and have a few other customizations I need to build into my custom image (mostly just serviced configuration) and wanted to get everything lined up before trying to build it. That work will likely begin tonight.
Thanks for checking up.