हैलो लिनक्स कर्नेल ड्राइवर गुरु!लिनक्स कर्नेल मॉड्यूल से एक धारावाहिक पोर्ट तक पहुंच
मैं एक कैमरे के लिए एक v4l2 ड्राइवर लिख रहा हूं जो कॉन्फ़िगरेशन के लिए एक सीरियल इंटरफ़ेस का उपयोग करता है। मैं ड्राइवर को कैमरे को कॉन्फ़िगर करना चाहता हूं, क्योंकि यह क्लाइंट कोड कैमरे के मॉडल में लगातार रहता है। सवाल यह है कि ड्राइवर मॉड्यूल से कैमरे के सीरियल इंटरफ़ेस तक पहुंचने का सबसे अच्छा तरीका क्या है?
जो मैंने सुना है, उससे कर्नेल ड्राइवर से फ़ाइलों तक पहुंच एक बड़ी संख्या नहीं है, लेकिन यह किया जा सकता है। इस प्रकार, मैं वर्तमान में निम्नलिखित कोड स्निपेट का उपयोग कर रहा हूं, लेकिन यह हैक की तरह लगता है।
oldfs = get_fs();
set_fs(KERNEL_DS);
fd->f_pos=0;
fd->f_op->write(fd, data, data_len, &fd->f_pos);
set_fs(oldfs);
मेरा प्रश्न वास्तव में है: ऐसा करने का सही तरीका क्या है?
इसके लिए धन्यवाद: वुल्फसन माइक्रो ड्राइवर अच्छे उदाहरण हैं। यह अभी भी स्पष्ट नहीं है कि यूएआरटी का उपयोग कैसे किया जाए (मैं वास्तव में यूएआरटी ड्राइवर को फिर से लिखना नहीं चाहता!), लेकिन यह एक महान शुरुआत है। धन्यवाद! – IndigoFire