Hi, On Tue, Sep 27, 2011 at 4:06 PM, Daniele Nicolodi <dani...@grinta.net> wrote: > Hello, > > I'm using xenomai-head on a 2.6.38.8 kernel on x86 with a NI-6251 DAQ > board. In this configuration the idx_write_subd field of the a4l_desc_t > structure filled by a4l_open() is not set to the proper value but is set > to NULL. > > In previous xanomai/analogy releases this was working properly. Has some > initialization code been removed in the latest analogy drivers refactoring?
Yes. Formerly, on both sides (kernel and user), we used some description fields (idx_read_subd and idx_write_subd) so as to quickly identify default asynchronous input and output subdevices and to link them with buffers (into which, input / output data are copied). Most of the time, there were only one asynchronous read / write subdevice per card; so, the original Comedi way was ok. Unfortunately, some boards now display many asynchronous subdevices of the same type. To tackle this issue, I could have implemented the workaround proposed by Comedi (give the possibility to attach the driver a second time and select the proper subdevice). I tried something else: when the driver is opened an asynchronous buffer is instanciated; at init time, this buffer does not belong to any subdevice but when an asynchronous command is sent, the buffer is temporarily reserved by the targeted subdevice. Thus instead of re-attaching drivers with devices, the developer gets direct access on any subdevice; if he needs to perform two simultaneous asyncrhonous acquisitions on the same card, he just has to open the analogy device twice (a4l_open). For API / ABI compatibility reasons, I waited a major release before removing the fields idx_{read, write}_subd. I should have thought twice before removing their initializations. I will fix that soon, sorry. I implemented this change more than one year ago (here is on of the many related commits 58ebd5b7efe0cc0ac1e82991d12125ce34dfeee3). That was already present in 2.5. Which version were you formerly using? Best regards, Alexis. > Thank you. Cheers, > -- > Daniele > > _______________________________________________ > Xenomai-core mailing list > Xenomai-core@gna.org > https://mail.gna.org/listinfo/xenomai-core > _______________________________________________ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core