RE: missing symbols...
"Rodrigues, Edward" <[email protected]>
| Newsgroups | gmane.linux.kernel.streams |
|---|---|
| Message-ID | <28E93C6A59D1C04AAA5E6DF106DCE628F71887@pysmsx401.amr.corp.intel.com> |
Here are some more from 2.6.10. These are LiS DKI specific, so no big deal streams: Unknown symbol pci_dma_sync_sg streams: Unknown symbol pci_dma_sync_single streams: Unknown symbol pci_find_class Ed ________________________________ From: Dave Grothe [mailto:[email protected]] Sent: Thursday, February 10, 2005 10:19 AM To: Rodrigues, Edward; [email protected] Cc: Wm. Reich; LiS Mailing List Subject: RE: [Linux-streams] missing symbols... At 08:11 AM 2/10/2005, Rodrigues, Edward wrote: Hi All, I did check 2.6.10 kernel. cdev_put() and cdev_get() are not exported. But sleep_on() and sleep_on_timeout() are still defined as well as exported in kernel 2.6.10 unlike RHEL4 or FC-3. Since some of these symbols are deprecated or obsoleted and hard to pursue these kernel folks, can we use sleep_on_interruptible() instead of sleep_on() in LiS. Does anyone actually use these functions? They are WAY outside the STREAMS DKI. In the case of cdev_put can we stick the code in LiS void cdev_put(struct cdev *p) { if (p) { kobject_put(&p->kobj); module_put(p->owner); } } BTW: I tried these changes with kernel 2.6.8 and worked fine for me. I may not be testing complete functionality -:). It did work on FC-3 as well. I am yet to validate RHEL 4. This should work just fine. Isn't it odd that they export kobject_put and module_put but not cdev_put? Seems very irrational to me. Only other change required was (inode->i_cdev->kobj.refcount) to (inode->i_cdev->kobj.kref.refcount) as already pointed out by someone. Other suggestion is cleaning up all deprecated functions in LiS. This might save us in the longer run. Thanks Ed