13 Jan, 2019
1 commit
-
commit 7ed1c1901fe52e6c5828deb155920b44b0adabb1 upstream.
Currently a number of Makefiles break when used with toolchains that
pass extra flags in CC and other cross-compile related variables (such
as --sysroot).Thus we get this error when we use a toolchain that puts --sysroot in
the CC var:~/src/linux/tools$ make iio
[snip]
iio_event_monitor.c:18:10: fatal error: unistd.h: No such file or directory
#include
^~~~~~~~~~This occurs because we clobber several env vars related to
cross-compiling with lines like this:CC = $(CROSS_COMPILE)gcc
Although this will point to a valid cross-compiler, we lose any extra
flags that might exist in the CC variable, which can break toolchains
that rely on them (for example, those that use --sysroot).This easily shows up using a Yocto SDK:
$ . [snip]/sdk/environment-setup-cortexa8hf-neon-poky-linux-gnueabi
$ echo $CC
arm-poky-linux-gnueabi-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard
-mcpu=cortex-a8
--sysroot=[snip]/sdk/sysroots/cortexa8hf-neon-poky-linux-gnueabi$ echo $CROSS_COMPILE
arm-poky-linux-gnueabi-$ echo ${CROSS_COMPILE}gcc
krm-poky-linux-gnueabi-gccAlthough arm-poky-linux-gnueabi-gcc is a cross-compiler, we've lost the
--sysroot and other flags that enable us to find the right libraries to
link against, so we can't find unistd.h and other libraries and headers.
Normally with the --sysroot flag we would find unistd.h in the sdk
directory in the sysroot:$ find [snip]/sdk/sysroots -path '*/usr/include/unistd.h'
[snip]/sdk/sysroots/cortexa8hf-neon-poky-linux-gnueabi/usr/include/unistd.hThe perf Makefile adds CC = $(CROSS_COMPILE)gcc if and only if CC is not
already set, and it compiles correctly with the above toolchain.So, generalize the logic that perf uses in the common Makefile and
remove the manual CC = $(CROSS_COMPILE)gcc lines from each Makefile.Note that this patch does not fix cross-compile for all the tools (some
have other bugs), but it does fix it for all except usb and acpi, which
still have other unrelated issues.I tested both with and without the patch on native and cross-build and
there appear to be no regressions.Link: http://lkml.kernel.org/r/20180107214028.23771-1-martin@martingkelly.com
Signed-off-by: Martin Kelly
Acked-by: Mark Brown
Cc: Tejun Heo
Cc: Li Zefan
Cc: Johannes Weiner
Cc: Linus Walleij
Cc: "K. Y. Srinivasan"
Cc: Haiyang Zhang
Cc: Stephen Hemminger
Cc: Jonathan Cameron
Cc: Pali Rohar
Cc: Richard Purdie
Cc: Jacek Anaszewski
Cc: Pavel Machek
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Arnaldo Carvalho de Melo
Cc: Robert Moore
Cc: Lv Zheng
Cc: "Rafael J. Wysocki"
Cc: Greg Kroah-Hartman
Cc: Valentina Manea
Cc: Shuah Khan
Cc: Mario Limonciello
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
Cc: Ignat Korchagin
Signed-off-by: Greg Kroah-Hartman
02 Nov, 2017
1 commit
-
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.By default all files without license information are under the default
license of the kernel, which is GPL version 2.Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier. The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.How this work was done:
Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
- file had no licensing information it it.
- file was a */uapi/* one with no licensing information in it,
- file was a */uapi/* one with existing licensing information,Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode & Windriver) producing SPDX
tag:value files created by Philippe Ombredanne. Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed. Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.Criteria used to select files for SPDX license identifier tagging was:
- Files considered eligible had to be source code files.
- Make and config files were included as candidates if they contained >5
lines of source
- File already had some variant of a license header in it (even if
Reviewed-by: Philippe Ombredanne
Reviewed-by: Thomas Gleixner
Signed-off-by: Greg Kroah-Hartman
09 Aug, 2017
2 commits
-
Allow user to call install target.
Signed-off-by: Andy Shevchenko
Signed-off-by: Jonathan Cameron -
There is a nice buildsystem dedicated for userspace tools in Linux kernel tree.
Switch iio target to be built by it.Signed-off-by: Andy Shevchenko
Signed-off-by: Jonathan Cameron
07 May, 2017
1 commit
-
Increased trigger length to 64 in order to cope with trigger names
like fc030000.adc-dev0-external-risingSigned-off-by: Eugen Hristev
Signed-off-by: Jonathan Cameron
27 Apr, 2017
1 commit
-
Use the local uapi headers to keep in sync with "recently" added enum
values like IIO_UVINDEX.Build tested using:
$ make -C tools/iio
$ make -C /tools iio
$ make -C /tools/iioThis follows a strategy similar to that used by tools/hv, tools/net and
tools/leds among others.Cc: Randy Dunlap
Cc: Jonathan Cameron
Signed-off-by: Sekhar Nori
Signed-off-by: Jonathan Cameron
05 Jan, 2017
1 commit
-
Add new channel types support for gravity sensor.
Gravity sensor provides an application-level or physical collection that
identifies a device that measures exclusively the force of Earth's
gravity along any number of axes.More information can be found in:
http://www.usb.org/developers/hidpage/HUTRR59_-_Usages_for_Wearables.pdfSigned-off-by: Song Hongyan
Signed-off-by: Jonathan Cameron
24 Oct, 2016
3 commits
-
Remove extra parentheses introduced in commit .
Suggested-by: Peter Meerwald-Stadler
Signed-off-by: Eva Rachel Retuya
Signed-off-by: Jonathan Cameron -
Replace the type of 'force' flag from int to bool and at the same time
rename it to 'force_autochannels' for better readability.Suggested-by: Peter Meerwald-Stadler
Signed-off-by: Eva Rachel Retuya
Signed-off-by: Jonathan Cameron -
If attribute/s is/are already enabled (by default or via scripts or
manual interaction), issuing -a will fail to enable the channels thereby
one has to manually disable the said attribute/s before proceeding with
auto-enabling.Add a command-line option -A to force-activate all channels regardless
of their current state.Suggested-by: Alison Schofield
Signed-off-by: Eva Rachel Retuya
Signed-off-by: Jonathan Cameron
23 Sep, 2016
1 commit
-
When help ('?') option is passed to the command, the help text
printed but not from '?' switch case of getopt_long() but as a
invalid argument as below. Fix this by adding '?' to opt_String
of getopt_long().root@am437x-evm:~# ./iio_generic_buffer -?
./iio_generic_buffer: invalid option -- '?'
Usage: generic_buffer [options]...
Capture, convert and output data from IIO device buffer
-a Auto-activate all available channels
...Signed-off-by: Mugunthan V N
Signed-off-by: Jonathan Cameron
15 Sep, 2016
1 commit
-
…iio into staging-next
Jonathan writes:
Second set of iio new device support, features and cleanups for the 4.9 cycle.
New device support
* ad8801 dac
- new driver supporting ad8801 and ad8803 DACs.
* adc12138
- new driver supporting TI adc12130/adc12132 and adc12138 ADCs.
* ltc2485 adc
- new driver
* mxc6255
- add support for the mxc6225 part name and fixup the ID check so it works.
* vz89x VOC sensor
- add support for the vz89te part which drops the voc_short channel and adds
CRCs compared to other supported parts.New features
* core
- immutable triggers. These effectively grant exclusive control over a
trigger. The typical usecase is a device representing an analog part
(perhaps a MUX) that needs to control the sampling of a downstream
ADC.
- resource managed trigger registration and triggered_buffer_init.
- iio_push_event now protected against case of the event interface
registration not having yet occured. Only matters if an interrupt
can occur during this window - might happen on shared interrupt lines.
- helper to let a driver query if the trigger it is using is provided by
itself (using the convention of both device and trigger having the same
parent).
* tools
- iio-utils. Used channel modifier scaling in preference to generic scaling
when both exist.
* at91-adc
- Add support for touchscreen switches closure time needed by some newer
parts.
* stx104
- support the ADC channels on this ADC/DAC board. As these are the primary
feature of the board also move the driver to the iio/adc directory.
* sx9500
- device tree bindings.Cleanups / Fixes
* ad5755
- fix an off-by-one on devnr limit check (introduced earlier this cycle)
* ad7266
- drop NULL check on devm_regulator_get_optional as it can't return NULL.
* ak8974
- avoid an unused functional warning due to rework in PM core code.
- remove .owner field setting as done by i2c_core.
* ina2xx
- clear out a left over debug field from chip global data.
* hid-sensors
- avoid an unused functional warning due to rework in PM core code.
* maxim-thermocouple
- fix non static symbol warnings.
* ms5611
- fetch and enable regulators unconditionally when they aren't optional.
* sca3000
- whitespace cleanup.
* st_sensors
- fetch and enable regulators unconditionally rather than having them
supported as optional regulators (missunderstanding on my part amongst
others a while back)
- followup to previous patch fixes error checking on the regulators.
- mark symbols static where possible.
- use the 'is it my trigger' help function. This prevents the odd case
of another device triggering from the st-sensors trigger whilst the
st-sensors trigger is itself not using it but rather using say an hrtimer.
* ti-ads1015
- add missing of_node_put.
* vz89x
- rework to all support of new devices.
- prevent reading of a corrupted buffer.
- fixup a return value of 0/1 in a bool returning function.Address updates
- Vlad Dogaru email address change.
12 Sep, 2016
1 commit
-
We need the IIO changes in here for future patches to build on.
Signed-off-by: Greg Kroah-Hartman
05 Sep, 2016
1 commit
-
We want the staging fixes in here as well to handle merge issues.
Signed-off-by: Greg Kroah-Hartman
30 Aug, 2016
1 commit
-
Passing the trigger-less mode option on the command line causes
iio_generic_buffer to fail searching for an IIO trigger.
Fix this by skipping trigger initialization if trigger-less mode is
requested.Technically it actually fixes:
7c7e9dad70 where the bug was introduced but as the window to the patch
below that changes the context was very small let's mark it with that.Signed-off-by: Gregor Boirie
Fixes: deb4d1fdcb5af ("iio: generic_buffer: Fix --trigger-num option")
Signed-off-by: Jonathan Cameron
29 Aug, 2016
1 commit
-
Now there are channel modifiers with their own scaling those should be
used when possible over the generic channel type scaling.Examples are of IIO_TEMP channel having a generic scaling value, and
another having IIO_MOD_TEMP_AMBIENT modifier with another scaling value.Previously the first scaling value for a channel type would be applied
to all channels of like type in iio_generic_bufferSigned-off-by: Matt Ranostay
Signed-off-by: Jonathan Cameron
16 Aug, 2016
2 commits
-
Enumerate the processed channels (e.g. *_input) as well the raw channels.
Signed-off-by: Matt Ranostay
Signed-off-by: Jonathan Cameron -
Uninitialized channel pointer causes segmentation fault when we
call free(channel) during cleanup() with no channels initialized.
This happens when you exit early for usage errors. Initialize
the pointer to NULL when it is declared.Signed-off-by: Alison Schofield
Cc: Daniel Baluta
Tested-by: Gregor Boirie
Signed-off-by: Jonathan Cameron
12 Jun, 2016
1 commit
-
Initialize trig_num to -1 and handle trig_num=0 as a valid id.
Fixes: 7c7e9dad (iio: iio_generic_buffer: Add --trigger-num option)
Signed-off-by: Crestez Dan Leonard
Signed-off-by: Jonathan Cameron
30 May, 2016
5 commits
-
Signed-off-by: Crestez Dan Leonard
Signed-off-by: Jonathan Cameron -
This makes it possible to distinguish between iio devices with the same
name.Signed-off-by: Crestez Dan Leonard
Signed-off-by: Jonathan Cameron -
This will clean (disable buffer/trigger/channels) when doing
something like a CTRL-C. Otherwise restarting generic_buffer requires a
manual echo 0 > buffer/enableThis also cleanup up all the code freeing string buffers at
the end of main. We initialize all pointers to NULL so that cleanup can
all be done under a single error label.Signed-off-by: Crestez Dan Leonard
Signed-off-by: Jonathan Cameron -
This makes it clear that generic_buffer is an IIO tool
and also complies with filename conventions in tools/iio.Signed-off-by: Daniel Baluta
Signed-off-by: Jonathan Cameron -
Add options to the Makefile for install/uninstall similar to other tools.
Signed-off-by: Peter Robinson
Signed-off-by: Jonathan Cameron
20 Apr, 2016
1 commit
-
If no channels are enabled when we run generic_buffer on a
device, add a command-line option to just enable all of them,
run the sampling and disable them all again afterwards.This is extremely useful when I'm low-level testing my
sensors with interrupts and triggers, sample session:root@Ux500:/ lsiio
Device 000: lsm303dlh_accel
Device 001: lis331dl_accel
Device 002: l3g4200d
Device 003: lsm303dlh_magn
Device 004: lps001wp
Trigger 000: lsm303dlh_accel-trigger
Trigger 001: lis331dl_accel-trigger
Trigger 002: l3g4200d-triggerroot@Ux500:/ generic_buffer -a -c 10 -n l3g4200d
iio device number being used is 2
iio trigger number being used is 2
No channels are enabled, enabling all channels
Enabling: in_anglvel_x_en
Enabling: in_anglvel_y_en
Enabling: in_anglvel_z_en
Enabling: in_timestamp_en
/sys/bus/iio/devices/iio:device2 l3g4200d-trigger
-3.593664 -0.713133 4.870143 946684863662292480
3.225546 0.867357 -4.945878 946684863671875000
-0.676413 0.127296 0.106641 946684863681488037
-0.661113 0.110160 0.128826 946684863690673828
-0.664173 0.113067 0.123471 946684863700683593
-0.664938 0.109395 0.124848 946684863710144042
-0.664173 0.110619 0.130203 946684863719512939
-0.666162 0.111231 0.132651 946684863729125976
-0.668610 0.111690 0.130662 946684863738739013
-0.660501 0.110466 0.131733 946684863748565673
Disabling: in_anglvel_x_en
Disabling: in_anglvel_y_en
Disabling: in_anglvel_z_en
Disabling: in_timestamp_enPure awesomeness. If some channels have been enabled through
scripts or manual interaction, nothing happens.Cc: Peter Meerwald-Stadler
Acked-by: Daniel Baluta
Signed-off-by: Linus Walleij
Signed-off-by: Jonathan Cameron
03 Apr, 2016
3 commits
-
UV index indicating strength of sunburn-producing ultraviolet (UV) radiation
Signed-off-by: Peter Meerwald-Stadler
Signed-off-by: Jonathan Cameron -
Signed-off-by: Peter Meerwald-Stadler
Signed-off-by: Jonathan Cameron -
All the ST Sensors use the old "-trigger" rather than the
standard "-devN" new standard suffix for triggers. Now much
to do about it since it is ABI, but make the testing tools
recognize it too.Signed-off-by: Linus Walleij
Signed-off-by: Jonathan Cameron
20 Mar, 2016
1 commit
-
add recently added channel types and modifiers
Signed-off-by: Peter Meerwald-Stadler
Signed-off-by: Jonathan Cameron
16 Aug, 2015
2 commits
-
Currently if generic_buffer is invoked without first enabling any
channels in scan_elements/*_en, it will fail unable to enable the
buffer because bytes_per_datum inside the kernel will be zero if
no channels are available.It is implied that the user of the program should enable channels
manually or with a script before executing generic_buffer.Be more helpful by stopping execution if no enabled channels can
be found, and print a helptext that will tell you what is wrong
and what needs to be done.Signed-off-by: Linus Walleij
Acked-by: Hartmut Knaack
Signed-off-by: Jonathan Cameron -
This makes the event monitor bail out with a helpful error
message if a device does not support events, as a related
fix to iio core now makes it return -ENODEV properly.Signed-off-by: Linus Walleij
Acked-by: Hartmut Knaack
Signed-off-by: Jonathan Cameron
13 Aug, 2015
1 commit
-
commit acf50b3586f8d8a7530b905e111dda41876d38f4
"tools:iio:lsiio: add error handling"
introduced error handling of errors returned from
read_sysfs_string(), but with a simple if (retval),
missing the fact that these functions return a positive
value if the read was successful.As a result lsiio regresses and does not show any
devices on my filesystem. Fix this by checking for
only negative error codes.Cc: Hartmut Knaack
Signed-off-by: Linus Walleij
Acked-by: Hartmut Knaack
Signed-off-by: Jonathan Cameron
09 Aug, 2015
2 commits
-
Remove unnecessary double pointer from channel sorting function.
Signed-off-by: Joo Aun Saw
Signed-off-by: Jonathan Cameron -
On error, caller's ci_array is freed and set to NULL to avoid
potential double free if some other user of this code is not
sufficiently careful. Counter is reset to zero for consistency.Signed-off-by: Joo Aun Saw
Signed-off-by: Jonathan Cameron
03 Aug, 2015
4 commits
-
Signed-off-by: Joo Aun Saw
Acked-by: Daniel Baluta
Signed-off-by: Jonathan Cameron -
Signed-off-by: Joo Aun Saw
Acked-by: Daniel Baluta
Signed-off-by: Jonathan Cameron -
Running generic_buffer without enabling any channel of the
sensor will fail without printing any error message.Add an error message that indicates buffer enable failed.
Signed-off-by: Irina Tirdea
Acked-by: Hartmut Knaack
Signed-off-by: Jonathan Cameron -
When the the sensor data uses 32 bits out of 32, generic_buffer prints
the value 0 for all data read.In this case, the mask is shifted 32 bits, which is beyond the size of
an integer. This will lead to the mask always being 0. Before printing,
the mask is applied to the raw value, thus generating a final value of 0.Fix the mask by shifting a 64 bit value instead of an integer.
Signed-off-by: Irina Tirdea
Acked-by: Hartmut Knaack
Signed-off-by: Jonathan Cameron
24 Jul, 2015
1 commit
-
Make scale and offset optional by adding -ENOENT check as not all
drivers implement them.Signed-off-by: Joo Aun Saw
Acked-by: Hartmut Knaack
Signed-off-by: Jonathan Cameron
21 Jul, 2015
1 commit
-
This patch indends to make some cleanup and send printf
error messages to stderr. The changes were performed with coccinelle
for failure messages and manual for other cases, such as wrong usage
messages.Signed-off-by: Cristina Opriceana
Reviewed-by: Hartmut Knaack
Signed-off-by: Jonathan Cameron