- 18 Dec, 2013 1 commit
-
-
Juan David González Cobas authored
For traceability purposes, we include commit descriptions as MODULE_VERSION information in drivers that are deployed in CERN control system. Ideally, the commit description should be added to all the binary blobs installed, but the kernel module is critical in this connection, as it is crucial to trace back quickly the whereabouts of installed .ko sources. Signed-off-by: Juan David Gonzalez Cobas <dcobas@cern.ch> Acked-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
- 30 Oct, 2013 1 commit
-
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 03 Jul, 2013 1 commit
-
-
Alessandro Rubini authored
The commits allows the vmalloc buffer to change the allocated size. If mmap is active, it returns EBUSY, but we need to protect against new maps to appear during the change. The vm_ops->open method returns void, so we need to block the mmap() system call directly, in chardev.c. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
- 01 Jul, 2013 4 commits
-
-
Federico Vaga authored
This commit adds a new trigger operation: arm. The operation is useful because it allows a trigger to define its own procedure to arm itself. It is used by the fmc-adc-100Ms-14bit-4cha driver. At the moment, nobody use the trigger operation data_done() and abort() because the generic one work in most of the case, and tipically there is nothing special to do if the arming procedure is always the same. This patch make sense of these operations because if you need a custom arm(), probably, you also need a custom data_done() and abort(). Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Zero is the testing tool for zio features, and a show case for driver writers (the "simple" one is zio-mini). So, now that the core supports interleave, zio-zero should do as well. Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
If a cset->flags has ZIO_CSET_INTERLEAVE_ONLY or ZIO_CSET_CHAN_INTERLEAVE, then ZIO creates an additional channel in the cset: the interleaved channel. As for normal channels, the interleaved channel has 2 char device: /dev/zio/devname-0-i-ctrl /dev/zio/devname-0-i-data If cset flags include ZIO_CSET_INTERLEAVE_ONLY, ZIO creates only interleaved channel char devices. From the sysfs you can enable/disable only the interleaved channel; all the other channels are always disabled. If cset flags include ZIO_CSET_CHAN_INTERLEAVE, ZIO creates all char devices for normal channels and also for the interleaved channel. By default the interleaved channel is disabled. You can enable the interleaved channel from sysfs; this choice automatically disable all the other channels. Interleave support is needed for the fmc-adc-100ms-14b-4cha driver. Maybe this is not the final approach to interleave, but it is working and well-tested, so the time is ripe to have it in master. Maybe we'll change some details about interleave support, in the future. Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is a long-standing bug, when more than one process access concurrently the char devices. This adds proper locking and solved the problem. Also, a new policy for writing control is in place: if you write control, any partial block (unless empty) is pushed to the pipeline. This matches the idea that after write(2) accepts data, it cannot be lost. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
- 29 May, 2013 3 commits
-
-
Federico Vaga authored
[output] If the user fills the buffer with many blocks, trigger user must be able to re-arm itself after data_done to immediately output all blocks in the buffer. Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
The data_done trigger operation returns an integer which mean if the trigger must be automatically re-armed (1) or not (0). The rearm value it is returned by zio_trigger_data_done to notify if the trigger was rearmed or not. Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubinig@gnudd.com>
-
- 21 May, 2013 2 commits
-
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 07 May, 2013 4 commits
-
-
Federico Vaga authored
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 02 May, 2013 6 commits
-
-
Federico Vaga authored
trigger and buffer creation
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
The function zio_device_find_child() internally use the Linux kernel function device_find_child() with increment the refcount of the child device. Once we have done our operation on the child device we must use put_device() to decrese the refcount. Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 22 Apr, 2013 5 commits
-
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 27 Mar, 2013 3 commits
-
-
Federico Vaga authored
The bug: if a device probe() fails, ZIO register the real ZIO device anyway The issue: on device probe() channel-set, trigger, channels and buffer are not ready The patch: do probe after the _complete_ registration of the real device. In this way, it is guaranteed that all components are ready. More over, if the probe fail, the device can be easly removed. Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
At the moment, no known driver use these operations so we can "safely" remove them from the framework. We decide to remove init() and exit() because, in the current implementation, they introduce more problems than they solve. If you used these functions, we suggest you to move your init() functions in the probe() function and your exit() functions before deregister the device. Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com>
-
- 25 Mar, 2013 3 commits
-
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Raise a build error if the last attribute's enumarator (e.g. _ZIO_BUF_ATTR_STD_NUM) is greater than the maximum numer of standard attributes ZIO_MAX_STD_ATTR Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
The 'version' attribute is a standard attribute. It is placed at the last position of the standard attribute array. In this way, it is easier to identify it in an hexdump stream because it is the last standard attribute. At the moment the last index of standard attributes array is 15, but in a far away future may change. The aim of this attribute is to identify the version of an attribute set of a ZIO object (device, trigger, buffer). During development the set of attribute exported by a driver may change. This attribute must be used to notify these changes to user-space programs. The attribute is optional. When used in a device, we suggest to place it at device level. Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 08 Mar, 2013 3 commits
-
-
Federico Vaga authored
This change also the meaning of the attribute. It is not the number of re-enable after the first arm/fire. It is the absolute number of shots that the trigger must do. Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Fix memory lost in an error condition Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
- 25 Jan, 2013 4 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Acked-by: Federico Vaga <federico.vaga@gmail.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
During creation, ti_create_and_init accept cset as parameter. So the trigger can use this operation in some way. So, we cannot set to null ti_old->cset because the trigger can use it again Signed-off-by: Federico Vaga <federico.vaga@gmail.com> Acked-by: Alessandro Rubini <rubini@gnudd.com>
-